summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/emu/driver.h2
-rw-r--r--src/emu/drivers/empty.c2
-rw-r--r--src/emu/drivers/testcpu.c2
-rw-r--r--src/emu/gamedrv.h103
-rw-r--r--src/mame/drivers/1942.c6
-rw-r--r--src/mame/drivers/1943.c13
-rw-r--r--src/mame/drivers/1945kiii.c2
-rw-r--r--src/mame/drivers/20pacgal.c10
-rw-r--r--src/mame/drivers/2mindril.c8
-rw-r--r--src/mame/drivers/30test.c2
-rw-r--r--src/mame/drivers/39in1.c14
-rw-r--r--src/mame/drivers/3do.c6
-rw-r--r--src/mame/drivers/40love.c32
-rw-r--r--src/mame/drivers/4enraya.c9
-rw-r--r--src/mame/drivers/4roses.c3
-rw-r--r--src/mame/drivers/5clown.c14
-rw-r--r--src/mame/drivers/8080bw.c172
-rw-r--r--src/mame/drivers/88games.c6
-rw-r--r--src/mame/drivers/ace.c2
-rw-r--r--src/mame/drivers/acefruit.c11
-rw-r--r--src/mame/drivers/aces1.c6
-rw-r--r--src/mame/drivers/acesp.c9
-rw-r--r--src/mame/drivers/acommand.c2
-rw-r--r--src/mame/drivers/actfancr.c10
-rw-r--r--src/mame/drivers/adp.c16
-rw-r--r--src/mame/drivers/aeroboto.c4
-rw-r--r--src/mame/drivers/aerofgt.c42
-rw-r--r--src/mame/drivers/airbustr.c7
-rw-r--r--src/mame/drivers/ajax.c6
-rw-r--r--src/mame/drivers/albazc.c2
-rw-r--r--src/mame/drivers/albazg.c2
-rw-r--r--src/mame/drivers/aleck64.c4
-rw-r--r--src/mame/drivers/alg.c53
-rw-r--r--src/mame/drivers/alien.c2
-rw-r--r--src/mame/drivers/aliens.c14
-rw-r--r--src/mame/drivers/allied.c4
-rw-r--r--src/mame/drivers/alpha68k.c197
-rw-r--r--src/mame/drivers/alvg.c4
-rw-r--r--src/mame/drivers/amaticmg.c20
-rw-r--r--src/mame/drivers/ambush.c6
-rw-r--r--src/mame/drivers/ampoker2.c32
-rw-r--r--src/mame/drivers/amspdwy.c4
-rw-r--r--src/mame/drivers/angelkds.c14
-rw-r--r--src/mame/drivers/appoooh.c12
-rw-r--r--src/mame/drivers/aquarium.c16
-rw-r--r--src/mame/drivers/arabian.c4
-rw-r--r--src/mame/drivers/arcadecl.c6
-rw-r--r--src/mame/drivers/arcadia.c35
-rw-r--r--src/mame/drivers/argus.c8
-rw-r--r--src/mame/drivers/aristmk4.c10
-rw-r--r--src/mame/drivers/aristmk5.c13
-rw-r--r--src/mame/drivers/aristmk6.c22
-rw-r--r--src/mame/drivers/arkanoid.c92
-rw-r--r--src/mame/drivers/armedf.c69
-rw-r--r--src/mame/drivers/artmagic.c38
-rw-r--r--src/mame/drivers/ashnojoe.c8
-rw-r--r--src/mame/drivers/asterix.c6
-rw-r--r--src/mame/drivers/asteroid.c33
-rw-r--r--src/mame/drivers/astinvad.c16
-rw-r--r--src/mame/drivers/astrafr.c226
-rw-r--r--src/mame/drivers/astrocde.c103
-rw-r--r--src/mame/drivers/astrocorp.c22
-rw-r--r--src/mame/drivers/astrof.c43
-rw-r--r--src/mame/drivers/astropc.c4
-rw-r--r--src/mame/drivers/asuka.c32
-rw-r--r--src/mame/drivers/atari_s1.c4
-rw-r--r--src/mame/drivers/atari_s2.c4
-rw-r--r--src/mame/drivers/atari_s3.c4
-rw-r--r--src/mame/drivers/atarifb.c12
-rw-r--r--src/mame/drivers/atarig1.c16
-rw-r--r--src/mame/drivers/atarig42.c32
-rw-r--r--src/mame/drivers/atarigt.c21
-rw-r--r--src/mame/drivers/atarigx2.c23
-rw-r--r--src/mame/drivers/atarisy1.c54
-rw-r--r--src/mame/drivers/atarisy2.c57
-rw-r--r--src/mame/drivers/atarisy4.c40
-rw-r--r--src/mame/drivers/ataxx.c75
-rw-r--r--src/mame/drivers/atetris.c11
-rw-r--r--src/mame/drivers/atlantis.c5
-rw-r--r--src/mame/drivers/atronic.c60
-rw-r--r--src/mame/drivers/attckufo.c2
-rw-r--r--src/mame/drivers/atvtrack.c4
-rw-r--r--src/mame/drivers/avalnche.c6
-rw-r--r--src/mame/drivers/avt.c8
-rw-r--r--src/mame/drivers/aztarac.c2
-rw-r--r--src/mame/drivers/backfire.c16
-rw-r--r--src/mame/drivers/badlands.c11
-rw-r--r--src/mame/drivers/bagman.c17
-rw-r--r--src/mame/drivers/balsente.c105
-rw-r--r--src/mame/drivers/bankp.c4
-rw-r--r--src/mame/drivers/baraduke.c4
-rw-r--r--src/mame/drivers/bartop52.c2
-rw-r--r--src/mame/drivers/batman.c4
-rw-r--r--src/mame/drivers/battlane.c6
-rw-r--r--src/mame/drivers/battlera.c6
-rw-r--r--src/mame/drivers/battlex.c8
-rw-r--r--src/mame/drivers/battlnts.c14
-rw-r--r--src/mame/drivers/bbusters.c8
-rw-r--r--src/mame/drivers/beaminv.c4
-rw-r--r--src/mame/drivers/beathead.c9
-rw-r--r--src/mame/drivers/belatra.c14
-rw-r--r--src/mame/drivers/berzerk.c18
-rw-r--r--src/mame/drivers/bestleag.c4
-rw-r--r--src/mame/drivers/bfcobra.c50
-rw-r--r--src/mame/drivers/bfm_sc1.c60
-rw-r--r--src/mame/drivers/bfm_sc2.c355
-rw-r--r--src/mame/drivers/bfm_sc4.c397
-rw-r--r--src/mame/drivers/bfm_sc5.c12
-rw-r--r--src/mame/drivers/bfm_swp.c8
-rw-r--r--src/mame/drivers/bfmsys83.c9
-rw-r--r--src/mame/drivers/bfmsys85.c14
-rw-r--r--src/mame/drivers/bgt.c8
-rw-r--r--src/mame/drivers/big10.c2
-rw-r--r--src/mame/drivers/bigevglf.c6
-rw-r--r--src/mame/drivers/bigstrkb.c4
-rw-r--r--src/mame/drivers/bingo.c12
-rw-r--r--src/mame/drivers/bingoc.c2
-rw-r--r--src/mame/drivers/bingor.c10
-rw-r--r--src/mame/drivers/bionicc.c8
-rw-r--r--src/mame/drivers/bishi.c6
-rw-r--r--src/mame/drivers/bking.c6
-rw-r--r--src/mame/drivers/blackt96.c2
-rw-r--r--src/mame/drivers/bladestl.c6
-rw-r--r--src/mame/drivers/blitz.c4
-rw-r--r--src/mame/drivers/blitz68k.c56
-rw-r--r--src/mame/drivers/blktiger.c12
-rw-r--r--src/mame/drivers/blmbycar.c10
-rw-r--r--src/mame/drivers/blockade.c12
-rw-r--r--src/mame/drivers/blockhl.c4
-rw-r--r--src/mame/drivers/blockout.c10
-rw-r--r--src/mame/drivers/bloodbro.c10
-rw-r--r--src/mame/drivers/blstroid.c4
-rw-r--r--src/mame/drivers/blueprnt.c6
-rw-r--r--src/mame/drivers/bmcbowl.c6
-rw-r--r--src/mame/drivers/bmcpokr.c2
-rw-r--r--src/mame/drivers/bnstars.c15
-rw-r--r--src/mame/drivers/bntyhunt.c2
-rw-r--r--src/mame/drivers/bogeyman.c2
-rw-r--r--src/mame/drivers/bombjack.c4
-rw-r--r--src/mame/drivers/boogwing.c18
-rw-r--r--src/mame/drivers/bottom9.c6
-rw-r--r--src/mame/drivers/boxer.c2
-rw-r--r--src/mame/drivers/brkthru.c6
-rw-r--r--src/mame/drivers/bsktball.c2
-rw-r--r--src/mame/drivers/btime.c82
-rw-r--r--src/mame/drivers/btoads.c2
-rw-r--r--src/mame/drivers/bublbobl.c23
-rw-r--r--src/mame/drivers/buggychl.c4
-rw-r--r--src/mame/drivers/buster.c2
-rw-r--r--src/mame/drivers/bwidow.c14
-rw-r--r--src/mame/drivers/bwing.c11
-rw-r--r--src/mame/drivers/by17.c4
-rw-r--r--src/mame/drivers/by35.c4
-rw-r--r--src/mame/drivers/by6803.c4
-rw-r--r--src/mame/drivers/by68701.c4
-rw-r--r--src/mame/drivers/byvid.c6
-rw-r--r--src/mame/drivers/bzone.c19
-rw-r--r--src/mame/drivers/cabal.c18
-rw-r--r--src/mame/drivers/cabaret.c5
-rw-r--r--src/mame/drivers/calchase.c18
-rw-r--r--src/mame/drivers/calomega.c18
-rw-r--r--src/mame/drivers/calorie.c12
-rw-r--r--src/mame/drivers/canyon.c4
-rw-r--r--src/mame/drivers/capbowl.c8
-rw-r--r--src/mame/drivers/capcom.c4
-rw-r--r--src/mame/drivers/cardline.c2
-rw-r--r--src/mame/drivers/carjmbre.c2
-rw-r--r--src/mame/drivers/carpolo.c6
-rw-r--r--src/mame/drivers/carrera.c2
-rw-r--r--src/mame/drivers/castle.c4
-rw-r--r--src/mame/drivers/caswin.c4
-rw-r--r--src/mame/drivers/cave.c311
-rw-r--r--src/mame/drivers/cb2001.c4
-rw-r--r--src/mame/drivers/cball.c2
-rw-r--r--src/mame/drivers/cbasebal.c4
-rw-r--r--src/mame/drivers/cbuster.c8
-rw-r--r--src/mame/drivers/ccastles.c16
-rw-r--r--src/mame/drivers/cchance.c2
-rw-r--r--src/mame/drivers/cchasm.c4
-rw-r--r--src/mame/drivers/cclimber.c44
-rw-r--r--src/mame/drivers/cd32.c57
-rw-r--r--src/mame/drivers/cdi.c22
-rw-r--r--src/mame/drivers/centiped.c35
-rw-r--r--src/mame/drivers/cesclass.c6
-rw-r--r--src/mame/drivers/chaknpop.c2
-rw-r--r--src/mame/drivers/cham24.c3
-rw-r--r--src/mame/drivers/champbas.c16
-rw-r--r--src/mame/drivers/champbwl.c4
-rw-r--r--src/mame/drivers/chanbara.c11
-rw-r--r--src/mame/drivers/chance32.c2
-rw-r--r--src/mame/drivers/changela.c2
-rw-r--r--src/mame/drivers/cheekyms.c2
-rw-r--r--src/mame/drivers/chihiro.c30
-rw-r--r--src/mame/drivers/chinagat.c17
-rw-r--r--src/mame/drivers/chinsan.c5
-rw-r--r--src/mame/drivers/chqflag.c4
-rw-r--r--src/mame/drivers/chsuper.c37
-rw-r--r--src/mame/drivers/cidelsa.c8
-rw-r--r--src/mame/drivers/cinemat.c73
-rw-r--r--src/mame/drivers/circus.c20
-rw-r--r--src/mame/drivers/circusc.c4
-rw-r--r--src/mame/drivers/cischeat.c27
-rw-r--r--src/mame/drivers/citycon.c4
-rw-r--r--src/mame/drivers/clayshoo.c2
-rw-r--r--src/mame/drivers/cliffhgr.c3
-rw-r--r--src/mame/drivers/cloak.c16
-rw-r--r--src/mame/drivers/cloud9.c4
-rw-r--r--src/mame/drivers/clshroad.c10
-rw-r--r--src/mame/drivers/cmmb.c2
-rw-r--r--src/mame/drivers/cninja.c40
-rw-r--r--src/mame/drivers/cntsteer.c11
-rw-r--r--src/mame/drivers/cobra.c46
-rw-r--r--src/mame/drivers/coinmstr.c15
-rw-r--r--src/mame/drivers/coinmvga.c14
-rw-r--r--src/mame/drivers/combatsc.c12
-rw-r--r--src/mame/drivers/comebaby.c2
-rw-r--r--src/mame/drivers/commando.c16
-rw-r--r--src/mame/drivers/compgolf.c6
-rw-r--r--src/mame/drivers/contra.c14
-rw-r--r--src/mame/drivers/coolpool.c26
-rw-r--r--src/mame/drivers/coolridr.c8
-rw-r--r--src/mame/drivers/cop01.c8
-rw-r--r--src/mame/drivers/copsnrob.c2
-rw-r--r--src/mame/drivers/corona.c16
-rw-r--r--src/mame/drivers/cosmic.c47
-rw-r--r--src/mame/drivers/cps1.c79
-rw-r--r--src/mame/drivers/cps2.c42
-rw-r--r--src/mame/drivers/cps3.c13
-rw-r--r--src/mame/drivers/crbaloon.c4
-rw-r--r--src/mame/drivers/crgolf.c15
-rw-r--r--src/mame/drivers/crimfght.c6
-rw-r--r--src/mame/drivers/crospang.c4
-rw-r--r--src/mame/drivers/crshrace.c4
-rw-r--r--src/mame/drivers/crystal.c22
-rw-r--r--src/mame/drivers/cshooter.c20
-rw-r--r--src/mame/drivers/csplayh5.c30
-rw-r--r--src/mame/drivers/cubeqst.c4
-rw-r--r--src/mame/drivers/cultures.c2
-rw-r--r--src/mame/drivers/cupidon.c4
-rw-r--r--src/mame/drivers/cvs.c52
-rw-r--r--src/mame/drivers/cyberbal.c12
-rw-r--r--src/mame/drivers/cybertnk.c5
-rw-r--r--src/mame/drivers/cyclemb.c16
-rw-r--r--src/mame/drivers/d9final.c2
-rw-r--r--src/mame/drivers/dacholer.c6
-rw-r--r--src/mame/drivers/dai3wksi.c2
-rw-r--r--src/mame/drivers/dambustr.c9
-rw-r--r--src/mame/drivers/darius.c4
-rw-r--r--src/mame/drivers/darkmist.c32
-rw-r--r--src/mame/drivers/darkseal.c4
-rw-r--r--src/mame/drivers/dassault.c20
-rw-r--r--src/mame/drivers/dblewing.c7
-rw-r--r--src/mame/drivers/dbz.c12
-rw-r--r--src/mame/drivers/dcheese.c18
-rw-r--r--src/mame/drivers/dcon.c6
-rw-r--r--src/mame/drivers/dday.c4
-rw-r--r--src/mame/drivers/ddayjlc.c15
-rw-r--r--src/mame/drivers/ddealer.c6
-rw-r--r--src/mame/drivers/ddenlovr.c85
-rw-r--r--src/mame/drivers/ddragon.c77
-rw-r--r--src/mame/drivers/ddragon3.c18
-rw-r--r--src/mame/drivers/ddribble.c4
-rw-r--r--src/mame/drivers/ddz.c2
-rw-r--r--src/mame/drivers/de_1.c4
-rw-r--r--src/mame/drivers/de_2.c4
-rw-r--r--src/mame/drivers/de_3.c4
-rw-r--r--src/mame/drivers/de_3b.c4
-rw-r--r--src/mame/drivers/deadang.c21
-rw-r--r--src/mame/drivers/dec0.c21
-rw-r--r--src/mame/drivers/dec8.c102
-rw-r--r--src/mame/drivers/deco156.c18
-rw-r--r--src/mame/drivers/deco32.c85
-rw-r--r--src/mame/drivers/deco_ld.c8
-rw-r--r--src/mame/drivers/deco_mlc.c26
-rw-r--r--src/mame/drivers/decocass.c58
-rw-r--r--src/mame/drivers/deshoros.c2
-rw-r--r--src/mame/drivers/destroyr.c4
-rw-r--r--src/mame/drivers/dfruit.c2
-rw-r--r--src/mame/drivers/dgpix.c26
-rw-r--r--src/mame/drivers/dietgo.c6
-rw-r--r--src/mame/drivers/discoboy.c42
-rw-r--r--src/mame/drivers/diverboy.c2
-rw-r--r--src/mame/drivers/djboy.c10
-rw-r--r--src/mame/drivers/djmain.c82
-rw-r--r--src/mame/drivers/dkong.c118
-rw-r--r--src/mame/drivers/dlair.c12
-rw-r--r--src/mame/drivers/dmndrby.c4
-rw-r--r--src/mame/drivers/docastle.c30
-rw-r--r--src/mame/drivers/dogfgt.c6
-rw-r--r--src/mame/drivers/dominob.c4
-rw-r--r--src/mame/drivers/dooyong.c36
-rw-r--r--src/mame/drivers/dorachan.c2
-rw-r--r--src/mame/drivers/dotrikun.c4
-rw-r--r--src/mame/drivers/dragrace.c2
-rw-r--r--src/mame/drivers/dreamwld.c4
-rw-r--r--src/mame/drivers/drgnmst.c10
-rw-r--r--src/mame/drivers/dribling.c6
-rw-r--r--src/mame/drivers/drmicro.c2
-rw-r--r--src/mame/drivers/drtomy.c2
-rw-r--r--src/mame/drivers/drw80pkr.c5
-rw-r--r--src/mame/drivers/dunhuang.c2
-rw-r--r--src/mame/drivers/dwarfd.c31
-rw-r--r--src/mame/drivers/dynadice.c11
-rw-r--r--src/mame/drivers/dynax.c93
-rw-r--r--src/mame/drivers/dynduke.c4
-rw-r--r--src/mame/drivers/ecoinf1.c3
-rw-r--r--src/mame/drivers/ecoinf2.c3
-rw-r--r--src/mame/drivers/ecoinf3.c3
-rw-r--r--src/mame/drivers/ecoinfr.c6
-rw-r--r--src/mame/drivers/egghunt.c2
-rw-r--r--src/mame/drivers/embargo.c2
-rw-r--r--src/mame/drivers/enigma2.c5
-rw-r--r--src/mame/drivers/eolith.c46
-rw-r--r--src/mame/drivers/eolith16.c5
-rw-r--r--src/mame/drivers/epos.c18
-rw-r--r--src/mame/drivers/eprom.c17
-rw-r--r--src/mame/drivers/equites.c39
-rw-r--r--src/mame/drivers/ertictac.c5
-rw-r--r--src/mame/drivers/esd16.c26
-rw-r--r--src/mame/drivers/esh.c3
-rw-r--r--src/mame/drivers/espial.c6
-rw-r--r--src/mame/drivers/esripsys.c75
-rw-r--r--src/mame/drivers/ettrivia.c10
-rw-r--r--src/mame/drivers/exedexes.c4
-rw-r--r--src/mame/drivers/exerion.c18
-rw-r--r--src/mame/drivers/exidy.c84
-rw-r--r--src/mame/drivers/exidy440.c35
-rw-r--r--src/mame/drivers/expro02.c7
-rw-r--r--src/mame/drivers/exprraid.c24
-rw-r--r--src/mame/drivers/exterm.c2
-rw-r--r--src/mame/drivers/extrema.c20
-rw-r--r--src/mame/drivers/exzisus.c10
-rw-r--r--src/mame/drivers/f-32.c2
-rw-r--r--src/mame/drivers/f1gp.c6
-rw-r--r--src/mame/drivers/famibox.c2
-rw-r--r--src/mame/drivers/fantland.c10
-rw-r--r--src/mame/drivers/fastfred.c55
-rw-r--r--src/mame/drivers/fastlane.c2
-rw-r--r--src/mame/drivers/fcombat.c26
-rw-r--r--src/mame/drivers/feversoc.c5
-rw-r--r--src/mame/drivers/fgoal.c4
-rw-r--r--src/mame/drivers/finalizr.c4
-rw-r--r--src/mame/drivers/firebeat.c29
-rw-r--r--src/mame/drivers/firefox.c4
-rw-r--r--src/mame/drivers/firetrap.c6
-rw-r--r--src/mame/drivers/firetrk.c6
-rw-r--r--src/mame/drivers/fitfight.c28
-rw-r--r--src/mame/drivers/flicker.c4
-rw-r--r--src/mame/drivers/flipjack.c2
-rw-r--r--src/mame/drivers/flkatck.c4
-rw-r--r--src/mame/drivers/flower.c4
-rw-r--r--src/mame/drivers/flstory.c12
-rw-r--r--src/mame/drivers/flyball.c4
-rw-r--r--src/mame/drivers/foodf.c6
-rw-r--r--src/mame/drivers/forte2.c11
-rw-r--r--src/mame/drivers/fortecar.c3
-rw-r--r--src/mame/drivers/freekick.c30
-rw-r--r--src/mame/drivers/fromanc2.c14
-rw-r--r--src/mame/drivers/fromance.c16
-rw-r--r--src/mame/drivers/funkball.c2
-rw-r--r--src/mame/drivers/funkybee.c8
-rw-r--r--src/mame/drivers/funkyjet.c4
-rw-r--r--src/mame/drivers/funworld.c152
-rw-r--r--src/mame/drivers/funybubl.c4
-rw-r--r--src/mame/drivers/fuukifg2.c6
-rw-r--r--src/mame/drivers/fuukifg3.c4
-rw-r--r--src/mame/drivers/g627.c4
-rw-r--r--src/mame/drivers/gaelco.c12
-rw-r--r--src/mame/drivers/gaelco2.c10
-rw-r--r--src/mame/drivers/gaelco3d.c2
-rw-r--r--src/mame/drivers/gaiden.c50
-rw-r--r--src/mame/drivers/gal3.c4
-rw-r--r--src/mame/drivers/galaga.c49
-rw-r--r--src/mame/drivers/galastrm.c2
-rw-r--r--src/mame/drivers/galaxi.c4
-rw-r--r--src/mame/drivers/galaxia.c4
-rw-r--r--src/mame/drivers/galaxian.c418
-rw-r--r--src/mame/drivers/galaxold.c44
-rw-r--r--src/mame/drivers/galdrvr.c6
-rw-r--r--src/mame/drivers/galgame.c7
-rw-r--r--src/mame/drivers/galivan.c43
-rw-r--r--src/mame/drivers/galpani2.c14
-rw-r--r--src/mame/drivers/galpani3.c8
-rw-r--r--src/mame/drivers/galpanic.c24
-rw-r--r--src/mame/drivers/galspnbl.c4
-rw-r--r--src/mame/drivers/gamecstl.c12
-rw-r--r--src/mame/drivers/gameplan.c16
-rw-r--r--src/mame/drivers/gamtor.c7
-rw-r--r--src/mame/drivers/gaplus.c6
-rw-r--r--src/mame/drivers/gatron.c4
-rw-r--r--src/mame/drivers/gauntlet.c22
-rw-r--r--src/mame/drivers/gberet.c12
-rw-r--r--src/mame/drivers/gbusters.c6
-rw-r--r--src/mame/drivers/gcpinbal.c2
-rw-r--r--src/mame/drivers/gei.c110
-rw-r--r--src/mame/drivers/ggconnie.c5
-rw-r--r--src/mame/drivers/ghosteo.c12
-rw-r--r--src/mame/drivers/gijoe.c8
-rw-r--r--src/mame/drivers/ginganin.c6
-rw-r--r--src/mame/drivers/gladiatr.c19
-rw-r--r--src/mame/drivers/glass.c6
-rw-r--r--src/mame/drivers/globalfr.c44
-rw-r--r--src/mame/drivers/globalvr.c18
-rw-r--r--src/mame/drivers/gng.c23
-rw-r--r--src/mame/drivers/go2000.c2
-rw-r--r--src/mame/drivers/goal92.c2
-rw-r--r--src/mame/drivers/goindol.c6
-rw-r--r--src/mame/drivers/goldngam.c4
-rw-r--r--src/mame/drivers/goldnpkr.c268
-rw-r--r--src/mame/drivers/goldstar.c222
-rw-r--r--src/mame/drivers/gomoku.c2
-rw-r--r--src/mame/drivers/good.c2
-rw-r--r--src/mame/drivers/goodejan.c6
-rw-r--r--src/mame/drivers/gotcha.c4
-rw-r--r--src/mame/drivers/gottlieb.c29
-rw-r--r--src/mame/drivers/gotya.c4
-rw-r--r--src/mame/drivers/gp_1.c4
-rw-r--r--src/mame/drivers/gp_2.c4
-rw-r--r--src/mame/drivers/gpworld.c12
-rw-r--r--src/mame/drivers/gradius3.c6
-rw-r--r--src/mame/drivers/grchamp.c2
-rw-r--r--src/mame/drivers/gridlee.c2
-rw-r--r--src/mame/drivers/groundfx.c9
-rw-r--r--src/mame/drivers/gstream.c6
-rw-r--r--src/mame/drivers/gstriker.c29
-rw-r--r--src/mame/drivers/gsword.c16
-rw-r--r--src/mame/drivers/gticlub.c24
-rw-r--r--src/mame/drivers/gts1.c4
-rw-r--r--src/mame/drivers/gts3.c4
-rw-r--r--src/mame/drivers/gts80.c4
-rw-r--r--src/mame/drivers/gts80a.c8
-rw-r--r--src/mame/drivers/gts80b.c4
-rw-r--r--src/mame/drivers/guab.c22
-rw-r--r--src/mame/drivers/gumbo.c14
-rw-r--r--src/mame/drivers/gunbustr.c10
-rw-r--r--src/mame/drivers/gundealr.c10
-rw-r--r--src/mame/drivers/gunpey.c5
-rw-r--r--src/mame/drivers/gunsmoke.c8
-rw-r--r--src/mame/drivers/gyruss.c4
-rw-r--r--src/mame/drivers/halleys.c30
-rw-r--r--src/mame/drivers/hanaawas.c2
-rw-r--r--src/mame/drivers/hankin.c4
-rw-r--r--src/mame/drivers/harddriv.c194
-rw-r--r--src/mame/drivers/hazelgr.c2
-rw-r--r--src/mame/drivers/hcastle.c8
-rw-r--r--src/mame/drivers/hexion.c2
-rw-r--r--src/mame/drivers/higemaru.c2
-rw-r--r--src/mame/drivers/highvdeo.c32
-rw-r--r--src/mame/drivers/hikaru.c12
-rw-r--r--src/mame/drivers/himesiki.c2
-rw-r--r--src/mame/drivers/hitme.c12
-rw-r--r--src/mame/drivers/hitpoker.c8
-rw-r--r--src/mame/drivers/hnayayoi.c10
-rw-r--r--src/mame/drivers/hng64.c56
-rw-r--r--src/mame/drivers/holeland.c8
-rw-r--r--src/mame/drivers/homedata.c48
-rw-r--r--src/mame/drivers/homerun.c4
-rw-r--r--src/mame/drivers/hornet.c26
-rw-r--r--src/mame/drivers/hotblock.c2
-rw-r--r--src/mame/drivers/hotstuff.c2
-rw-r--r--src/mame/drivers/hshavoc.c6
-rw-r--r--src/mame/drivers/hvyunit.c8
-rw-r--r--src/mame/drivers/hyhoo.c4
-rw-r--r--src/mame/drivers/hyperspt.c4
-rw-r--r--src/mame/drivers/hyprduel.c20
-rw-r--r--src/mame/drivers/icecold.c4
-rw-r--r--src/mame/drivers/ichiban.c2
-rw-r--r--src/mame/drivers/igs009.c9
-rw-r--r--src/mame/drivers/igs011.c148
-rw-r--r--src/mame/drivers/igs017.c103
-rw-r--r--src/mame/drivers/igs_m027.c94
-rw-r--r--src/mame/drivers/igspc.c4
-rw-r--r--src/mame/drivers/igspoker.c59
-rw-r--r--src/mame/drivers/ikki.c4
-rw-r--r--src/mame/drivers/imolagp.c2
-rw-r--r--src/mame/drivers/inder.c4
-rw-r--r--src/mame/drivers/intrscti.c10
-rw-r--r--src/mame/drivers/inufuku.c2
-rw-r--r--src/mame/drivers/invqix.c2
-rw-r--r--src/mame/drivers/iqblock.c34
-rw-r--r--src/mame/drivers/ironhors.c6
-rw-r--r--src/mame/drivers/istellar.c8
-rw-r--r--src/mame/drivers/itech32.c131
-rw-r--r--src/mame/drivers/itech8.c88
-rw-r--r--src/mame/drivers/itgambl2.c30
-rw-r--r--src/mame/drivers/itgambl3.c8
-rw-r--r--src/mame/drivers/itgamble.c20
-rw-r--r--src/mame/drivers/jack.c35
-rw-r--r--src/mame/drivers/jackal.c8
-rw-r--r--src/mame/drivers/jackie.c5
-rw-r--r--src/mame/drivers/jackpool.c5
-rw-r--r--src/mame/drivers/jaguar.c96
-rw-r--r--src/mame/drivers/jailbrek.c8
-rw-r--r--src/mame/drivers/jalmah.c54
-rw-r--r--src/mame/drivers/jangou.c25
-rw-r--r--src/mame/drivers/jankenmn.c2
-rw-r--r--src/mame/drivers/jantotsu.c2
-rw-r--r--src/mame/drivers/jchan.c14
-rw-r--r--src/mame/drivers/jclub2.c15
-rw-r--r--src/mame/drivers/jedi.c2
-rw-r--r--src/mame/drivers/jeutel.c4
-rw-r--r--src/mame/drivers/jokrwild.c5
-rw-r--r--src/mame/drivers/jollyjgr.c4
-rw-r--r--src/mame/drivers/jongkyo.c7
-rw-r--r--src/mame/drivers/jp.c4
-rw-r--r--src/mame/drivers/jpmimpct.c482
-rw-r--r--src/mame/drivers/jpmmps.c4
-rw-r--r--src/mame/drivers/jpms80.c4
-rw-r--r--src/mame/drivers/jpmsru.c4
-rw-r--r--src/mame/drivers/jpmsys5.c340
-rw-r--r--src/mame/drivers/jpmsys7.c24
-rw-r--r--src/mame/drivers/jrpacman.c7
-rw-r--r--src/mame/drivers/jubilee.c2
-rw-r--r--src/mame/drivers/junofrst.c9
-rw-r--r--src/mame/drivers/jvh.c4
-rw-r--r--src/mame/drivers/kaneko16.c43
-rw-r--r--src/mame/drivers/kangaroo.c8
-rw-r--r--src/mame/drivers/karnov.c48
-rw-r--r--src/mame/drivers/kas89.c11
-rw-r--r--src/mame/drivers/kchamp.c28
-rw-r--r--src/mame/drivers/kickgoal.c4
-rw-r--r--src/mame/drivers/kingdrby.c6
-rw-r--r--src/mame/drivers/kingobox.c16
-rw-r--r--src/mame/drivers/kingpin.c8
-rw-r--r--src/mame/drivers/kinst.c16
-rw-r--r--src/mame/drivers/kissproto.c4
-rw-r--r--src/mame/drivers/klax.c10
-rw-r--r--src/mame/drivers/kncljoe.c6
-rw-r--r--src/mame/drivers/koftball.c8
-rw-r--r--src/mame/drivers/koikoi.c2
-rw-r--r--src/mame/drivers/konamigq.c8
-rw-r--r--src/mame/drivers/konamigv.c65
-rw-r--r--src/mame/drivers/konamigx.c23
-rw-r--r--src/mame/drivers/konamim2.c12
-rw-r--r--src/mame/drivers/konendev.c8
-rw-r--r--src/mame/drivers/kontest.c2
-rw-r--r--src/mame/drivers/kopunch.c2
-rw-r--r--src/mame/drivers/ksayakyu.c2
-rw-r--r--src/mame/drivers/ksys573.c111
-rw-r--r--src/mame/drivers/kungfur.c2
-rw-r--r--src/mame/drivers/kyugo.c26
-rw-r--r--src/mame/drivers/labyrunr.c6
-rw-r--r--src/mame/drivers/ladybug.c22
-rw-r--r--src/mame/drivers/ladyfrog.c4
-rw-r--r--src/mame/drivers/laserbas.c6
-rw-r--r--src/mame/drivers/laserbat.c8
-rw-r--r--src/mame/drivers/lasso.c14
-rw-r--r--src/mame/drivers/lastbank.c2
-rw-r--r--src/mame/drivers/lastduel.c16
-rw-r--r--src/mame/drivers/lastfght.c5
-rw-r--r--src/mame/drivers/lazercmd.c12
-rw-r--r--src/mame/drivers/legionna.c36
-rw-r--r--src/mame/drivers/leland.c256
-rw-r--r--src/mame/drivers/lemmings.c2
-rw-r--r--src/mame/drivers/lethal.c6
-rw-r--r--src/mame/drivers/lethalj.c27
-rw-r--r--src/mame/drivers/lgp.c3
-rw-r--r--src/mame/drivers/liberate.c22
-rw-r--r--src/mame/drivers/liberatr.c4
-rw-r--r--src/mame/drivers/limenko.c40
-rw-r--r--src/mame/drivers/littlerb.c2
-rw-r--r--src/mame/drivers/lkage.c21
-rw-r--r--src/mame/drivers/lockon.c4
-rw-r--r--src/mame/drivers/looping.c12
-rw-r--r--src/mame/drivers/lordgun.c12
-rw-r--r--src/mame/drivers/lsasquad.c6
-rw-r--r--src/mame/drivers/ltcasino.c9
-rw-r--r--src/mame/drivers/ltd.c4
-rw-r--r--src/mame/drivers/luckgrln.c11
-rw-r--r--src/mame/drivers/lucky74.c6
-rw-r--r--src/mame/drivers/lvcards.c6
-rw-r--r--src/mame/drivers/lwings.c24
-rw-r--r--src/mame/drivers/m10.c20
-rw-r--r--src/mame/drivers/m107.c31
-rw-r--r--src/mame/drivers/m14.c2
-rw-r--r--src/mame/drivers/m52.c6
-rw-r--r--src/mame/drivers/m57.c4
-rw-r--r--src/mame/drivers/m58.c14
-rw-r--r--src/mame/drivers/m62.c54
-rw-r--r--src/mame/drivers/m63.c12
-rw-r--r--src/mame/drivers/m72.c135
-rw-r--r--src/mame/drivers/m79amb.c10
-rw-r--r--src/mame/drivers/m90.c37
-rw-r--r--src/mame/drivers/m92.c68
-rw-r--r--src/mame/drivers/macrossp.c10
-rw-r--r--src/mame/drivers/macs.c32
-rw-r--r--src/mame/drivers/madalien.c4
-rw-r--r--src/mame/drivers/madmotor.c4
-rw-r--r--src/mame/drivers/magic10.c40
-rw-r--r--src/mame/drivers/magicard.c3
-rw-r--r--src/mame/drivers/magicfly.c4
-rw-r--r--src/mame/drivers/magictg.c4
-rw-r--r--src/mame/drivers/magmax.c2
-rw-r--r--src/mame/drivers/magtouch.c7
-rw-r--r--src/mame/drivers/mainevt.c16
-rw-r--r--src/mame/drivers/mainsnk.c4
-rw-r--r--src/mame/drivers/majorpkr.c7
-rw-r--r--src/mame/drivers/malzak.c4
-rw-r--r--src/mame/drivers/manohman.c2
-rw-r--r--src/mame/drivers/mappy.c33
-rw-r--r--src/mame/drivers/marineb.c20
-rw-r--r--src/mame/drivers/marinedt.c2
-rw-r--r--src/mame/drivers/mario.c10
-rw-r--r--src/mame/drivers/markham.c2
-rw-r--r--src/mame/drivers/mastboy.c6
-rw-r--r--src/mame/drivers/matmania.c8
-rw-r--r--src/mame/drivers/maxaflex.c5
-rw-r--r--src/mame/drivers/maygay1b.c10
-rw-r--r--src/mame/drivers/maygayep.c6
-rw-r--r--src/mame/drivers/maygaysw.c20
-rw-r--r--src/mame/drivers/maygayv1.c6
-rw-r--r--src/mame/drivers/mayumi.c2
-rw-r--r--src/mame/drivers/mazerbla.c14
-rw-r--r--src/mame/drivers/mcatadv.c12
-rw-r--r--src/mame/drivers/mcr.c101
-rw-r--r--src/mame/drivers/mcr3.c117
-rw-r--r--src/mame/drivers/mcr68.c78
-rw-r--r--src/mame/drivers/meadows.c24
-rw-r--r--src/mame/drivers/mediagx.c7
-rw-r--r--src/mame/drivers/megadrvb.c44
-rw-r--r--src/mame/drivers/megaplay.c19
-rw-r--r--src/mame/drivers/megasys1.c221
-rw-r--r--src/mame/drivers/megatech.c16
-rw-r--r--src/mame/drivers/megazone.c4
-rw-r--r--src/mame/drivers/meijinsn.c2
-rw-r--r--src/mame/drivers/mephisto.c4
-rw-r--r--src/mame/drivers/merit.c59
-rw-r--r--src/mame/drivers/meritm.c87
-rw-r--r--src/mame/drivers/mermaid.c6
-rw-r--r--src/mame/drivers/metalmx.c9
-rw-r--r--src/mame/drivers/metlclsh.c2
-rw-r--r--src/mame/drivers/metro.c100
-rw-r--r--src/mame/drivers/mexico86.c10
-rw-r--r--src/mame/drivers/meyc8080.c8
-rw-r--r--src/mame/drivers/meyc8088.c2
-rw-r--r--src/mame/drivers/mgolf.c2
-rw-r--r--src/mame/drivers/mhavoc.c10
-rw-r--r--src/mame/drivers/micropin.c4
-rw-r--r--src/mame/drivers/midas.c7
-rw-r--r--src/mame/drivers/midqslvr.c8
-rw-r--r--src/mame/drivers/midvunit.c74
-rw-r--r--src/mame/drivers/midzeus.c36
-rw-r--r--src/mame/drivers/mikie.c6
-rw-r--r--src/mame/drivers/mil4000.c8
-rw-r--r--src/mame/drivers/miniboy7.c4
-rw-r--r--src/mame/drivers/minivadr.c2
-rw-r--r--src/mame/drivers/mirage.c5
-rw-r--r--src/mame/drivers/mirax.c12
-rw-r--r--src/mame/drivers/missb2.c8
-rw-r--r--src/mame/drivers/missile.c26
-rw-r--r--src/mame/drivers/mitchell.c224
-rw-r--r--src/mame/drivers/mjkjidai.c2
-rw-r--r--src/mame/drivers/mjsister.c2
-rw-r--r--src/mame/drivers/mlanding.c5
-rw-r--r--src/mame/drivers/mmm.c2
-rw-r--r--src/mame/drivers/model1.c14
-rw-r--r--src/mame/drivers/model2.c151
-rw-r--r--src/mame/drivers/model3.c260
-rw-r--r--src/mame/drivers/mogura.c2
-rw-r--r--src/mame/drivers/mole.c2
-rw-r--r--src/mame/drivers/momoko.c2
-rw-r--r--src/mame/drivers/monzagp.c2
-rw-r--r--src/mame/drivers/moo.c5
-rw-r--r--src/mame/drivers/mosaic.c6
-rw-r--r--src/mame/drivers/mouser.c10
-rw-r--r--src/mame/drivers/mpoker.c2
-rw-r--r--src/mame/drivers/mpu2.c4
-rw-r--r--src/mame/drivers/mpu3.c14
-rw-r--r--src/mame/drivers/mpu4.c17
-rw-r--r--src/mame/drivers/mpu4dealem.c2
-rw-r--r--src/mame/drivers/mpu4hw.c161
-rw-r--r--src/mame/drivers/mpu4mod2sw.c89
-rw-r--r--src/mame/drivers/mpu4mod4yam.c2
-rw-r--r--src/mame/drivers/mpu4plasma.c15
-rw-r--r--src/mame/drivers/mpu4sw.c29
-rw-r--r--src/mame/drivers/mpu4vid.c213
-rw-r--r--src/mame/drivers/mpu5.c1260
-rw-r--r--src/mame/drivers/mquake.c9
-rw-r--r--src/mame/drivers/mrdo.c14
-rw-r--r--src/mame/drivers/mrflea.c2
-rw-r--r--src/mame/drivers/mrgame.c4
-rw-r--r--src/mame/drivers/mrjong.c6
-rw-r--r--src/mame/drivers/ms32.c49
-rw-r--r--src/mame/drivers/msisaac.c2
-rw-r--r--src/mame/drivers/mugsmash.c2
-rw-r--r--src/mame/drivers/multfish.c467
-rw-r--r--src/mame/drivers/multigam.c42
-rw-r--r--src/mame/drivers/munchmo.c4
-rw-r--r--src/mame/drivers/murogem.c8
-rw-r--r--src/mame/drivers/murogmbl.c2
-rw-r--r--src/mame/drivers/mustache.c16
-rw-r--r--src/mame/drivers/mw18w.c4
-rw-r--r--src/mame/drivers/mw8080bw.c54
-rw-r--r--src/mame/drivers/mwarr.c2
-rw-r--r--src/mame/drivers/mystston.c4
-rw-r--r--src/mame/drivers/mystwarr.c56
-rw-r--r--src/mame/drivers/n8080.c24
-rw-r--r--src/mame/drivers/namcofl.c8
-rw-r--r--src/mame/drivers/namcona1.c24
-rw-r--r--src/mame/drivers/namconb1.c22
-rw-r--r--src/mame/drivers/namcond1.c10
-rw-r--r--src/mame/drivers/namcops2.c68
-rw-r--r--src/mame/drivers/namcos10.c71
-rw-r--r--src/mame/drivers/namcos11.c93
-rw-r--r--src/mame/drivers/namcos12.c48
-rw-r--r--src/mame/drivers/namcos2.c147
-rw-r--r--src/mame/drivers/namcos21.c48
-rw-r--r--src/mame/drivers/namcos22.c150
-rw-r--r--src/mame/drivers/namcos23.c80
-rw-r--r--src/mame/drivers/namcos86.c18
-rw-r--r--src/mame/drivers/naomi.c22
-rw-r--r--src/mame/drivers/naughtyb.c26
-rw-r--r--src/mame/drivers/nbmj8688.c84
-rw-r--r--src/mame/drivers/nbmj8891.c76
-rw-r--r--src/mame/drivers/nbmj8900.c12
-rw-r--r--src/mame/drivers/nbmj8991.c44
-rw-r--r--src/mame/drivers/nbmj9195.c9
-rw-r--r--src/mame/drivers/nemesis.c38
-rw-r--r--src/mame/drivers/neodrvr.c752
-rw-r--r--src/mame/drivers/neogeo.c8
-rw-r--r--src/mame/drivers/neoprint.c15
-rw-r--r--src/mame/drivers/neptunp2.c2
-rw-r--r--src/mame/drivers/news.c4
-rw-r--r--src/mame/drivers/nexus3d.c8
-rw-r--r--src/mame/drivers/nightgal.c20
-rw-r--r--src/mame/drivers/ninjakd2.c28
-rw-r--r--src/mame/drivers/ninjaw.c8
-rw-r--r--src/mame/drivers/nitedrvr.c2
-rw-r--r--src/mame/drivers/niyanpai.c9
-rw-r--r--src/mame/drivers/nmg5.c24
-rw-r--r--src/mame/drivers/nmk16.c111
-rw-r--r--src/mame/drivers/norautp.c74
-rw-r--r--src/mame/drivers/nova2001.c16
-rw-r--r--src/mame/drivers/nsm.c4
-rw-r--r--src/mame/drivers/nsmpoker.c2
-rw-r--r--src/mame/drivers/nss.c26
-rw-r--r--src/mame/drivers/nwk-tr.c14
-rw-r--r--src/mame/drivers/nycaptor.c24
-rw-r--r--src/mame/drivers/nyny.c6
-rw-r--r--src/mame/drivers/offtwall.c22
-rw-r--r--src/mame/drivers/ohmygod.c10
-rw-r--r--src/mame/drivers/ojankohs.c10
-rw-r--r--src/mame/drivers/olibochu.c2
-rw-r--r--src/mame/drivers/omegrace.c7
-rw-r--r--src/mame/drivers/oneshot.c6
-rw-r--r--src/mame/drivers/onetwo.c4
-rw-r--r--src/mame/drivers/opwolf.c28
-rw-r--r--src/mame/drivers/orbit.c2
-rw-r--r--src/mame/drivers/othello.c2
-rw-r--r--src/mame/drivers/othldrby.c2
-rw-r--r--src/mame/drivers/othunder.c8
-rw-r--r--src/mame/drivers/overdriv.c2
-rw-r--r--src/mame/drivers/pachifev.c2
-rw-r--r--src/mame/drivers/pacland.c10
-rw-r--r--src/mame/drivers/pacman.c224
-rw-r--r--src/mame/drivers/pandoras.c2
-rw-r--r--src/mame/drivers/pangofun.c7
-rw-r--r--src/mame/drivers/panicr.c27
-rw-r--r--src/mame/drivers/paradise.c19
-rw-r--r--src/mame/drivers/paranoia.c5
-rw-r--r--src/mame/drivers/parodius.c6
-rw-r--r--src/mame/drivers/pasha2.c8
-rw-r--r--src/mame/drivers/pass.c2
-rw-r--r--src/mame/drivers/pastelg.c2
-rw-r--r--src/mame/drivers/pbaction.c17
-rw-r--r--src/mame/drivers/pcat_dyn.c7
-rw-r--r--src/mame/drivers/pcat_nit.c12
-rw-r--r--src/mame/drivers/pcktgal.c22
-rw-r--r--src/mame/drivers/pcxt.c6
-rw-r--r--src/mame/drivers/pengadvb.c10
-rw-r--r--src/mame/drivers/pengo.c20
-rw-r--r--src/mame/drivers/peplus.c34
-rw-r--r--src/mame/drivers/peyper.c3
-rw-r--r--src/mame/drivers/pgm.c4
-rw-r--r--src/mame/drivers/pgm2.c10
-rw-r--r--src/mame/drivers/phoenix.c38
-rw-r--r--src/mame/drivers/photon.c6
-rw-r--r--src/mame/drivers/photon2.c6
-rw-r--r--src/mame/drivers/photoply.c7
-rw-r--r--src/mame/drivers/pingpong.c49
-rw-r--r--src/mame/drivers/pinkiri8.c14
-rw-r--r--src/mame/drivers/pipedrm.c14
-rw-r--r--src/mame/drivers/pipeline.c2
-rw-r--r--src/mame/drivers/pirates.c25
-rw-r--r--src/mame/drivers/pitnrun.c4
-rw-r--r--src/mame/drivers/pkscram.c2
-rw-r--r--src/mame/drivers/pktgaldx.c8
-rw-r--r--src/mame/drivers/play_1.c4
-rw-r--r--src/mame/drivers/play_2.c4
-rw-r--r--src/mame/drivers/play_3.c4
-rw-r--r--src/mame/drivers/play_5.c4
-rw-r--r--src/mame/drivers/playmark.c21
-rw-r--r--src/mame/drivers/pluto5.c13
-rw-r--r--src/mame/drivers/plygonet.c33
-rw-r--r--src/mame/drivers/pntnpuzl.c9
-rw-r--r--src/mame/drivers/pokechmp.c8
-rw-r--r--src/mame/drivers/poker72.c5
-rw-r--r--src/mame/drivers/polepos.c25
-rw-r--r--src/mame/drivers/policetr.c28
-rw-r--r--src/mame/drivers/polyplay.c2
-rw-r--r--src/mame/drivers/pong.c4
-rw-r--r--src/mame/drivers/poo.c2
-rw-r--r--src/mame/drivers/poolshrk.c6
-rw-r--r--src/mame/drivers/pooyan.c6
-rw-r--r--src/mame/drivers/popeye.c32
-rw-r--r--src/mame/drivers/popobear.c2
-rw-r--r--src/mame/drivers/popper.c2
-rw-r--r--src/mame/drivers/portrait.c4
-rw-r--r--src/mame/drivers/potgoldu.c2
-rw-r--r--src/mame/drivers/powerbal.c14
-rw-r--r--src/mame/drivers/powerins.c8
-rw-r--r--src/mame/drivers/ppmast93.c2
-rw-r--r--src/mame/drivers/prehisle.c8
-rw-r--r--src/mame/drivers/proconn.c5
-rw-r--r--src/mame/drivers/progolf.c18
-rw-r--r--src/mame/drivers/psattack.c3
-rw-r--r--src/mame/drivers/psikyo.c122
-rw-r--r--src/mame/drivers/psikyo4.c14
-rw-r--r--src/mame/drivers/psikyosh.c55
-rw-r--r--src/mame/drivers/psychic5.c6
-rw-r--r--src/mame/drivers/pturn.c7
-rw-r--r--src/mame/drivers/puckpkmn.c6
-rw-r--r--src/mame/drivers/pushman.c10
-rw-r--r--src/mame/drivers/pyson.c6
-rw-r--r--src/mame/drivers/pzletime.c2
-rw-r--r--src/mame/drivers/qdrmfgp.c4
-rw-r--r--src/mame/drivers/qix.c50
-rw-r--r--src/mame/drivers/quakeat.c2
-rw-r--r--src/mame/drivers/quantum.c6
-rw-r--r--src/mame/drivers/quasar.c4
-rw-r--r--src/mame/drivers/queen.c2
-rw-r--r--src/mame/drivers/quizdna.c6
-rw-r--r--src/mame/drivers/quizo.c6
-rw-r--r--src/mame/drivers/quizpani.c2
-rw-r--r--src/mame/drivers/quizpun2.c4
-rw-r--r--src/mame/drivers/quizshow.c7
-rw-r--r--src/mame/drivers/r2dtank.c2
-rw-r--r--src/mame/drivers/r2dx_v33.c27
-rw-r--r--src/mame/drivers/rabbit.c10
-rw-r--r--src/mame/drivers/raiden.c18
-rw-r--r--src/mame/drivers/raiden2.c22
-rw-r--r--src/mame/drivers/rainbow.c23
-rw-r--r--src/mame/drivers/rallyx.c30
-rw-r--r--src/mame/drivers/rampart.c6
-rw-r--r--src/mame/drivers/rastan.c14
-rw-r--r--src/mame/drivers/rbmk.c2
-rw-r--r--src/mame/drivers/rcorsair.c2
-rw-r--r--src/mame/drivers/re900.c10
-rw-r--r--src/mame/drivers/realbrk.c12
-rw-r--r--src/mame/drivers/redalert.c8
-rw-r--r--src/mame/drivers/redclash.c8
-rw-r--r--src/mame/drivers/relief.c4
-rw-r--r--src/mame/drivers/renegade.c22
-rw-r--r--src/mame/drivers/retofinv.c6
-rw-r--r--src/mame/drivers/rgum.c2
-rw-r--r--src/mame/drivers/rltennis.c2
-rw-r--r--src/mame/drivers/rmhaihai.c7
-rw-r--r--src/mame/drivers/rockrage.c6
-rw-r--r--src/mame/drivers/rocnrope.c8
-rw-r--r--src/mame/drivers/rohga.c38
-rw-r--r--src/mame/drivers/rollerg.c4
-rw-r--r--src/mame/drivers/rollrace.c6
-rw-r--r--src/mame/drivers/rotaryf.c2
-rw-r--r--src/mame/drivers/roul.c2
-rw-r--r--src/mame/drivers/route16.c26
-rw-r--r--src/mame/drivers/rowamet.c4
-rw-r--r--src/mame/drivers/royalmah.c82
-rw-r--r--src/mame/drivers/rpunch.c12
-rw-r--r--src/mame/drivers/runaway.c4
-rw-r--r--src/mame/drivers/rungun.c10
-rw-r--r--src/mame/drivers/s11.c4
-rw-r--r--src/mame/drivers/s11a.c4
-rw-r--r--src/mame/drivers/s11b.c4
-rw-r--r--src/mame/drivers/s11c.c4
-rw-r--r--src/mame/drivers/s3.c4
-rw-r--r--src/mame/drivers/s4.c4
-rw-r--r--src/mame/drivers/s6.c4
-rw-r--r--src/mame/drivers/s6a.c4
-rw-r--r--src/mame/drivers/s7.c4
-rw-r--r--src/mame/drivers/s8.c4
-rw-r--r--src/mame/drivers/s9.c4
-rw-r--r--src/mame/drivers/safarir.c2
-rw-r--r--src/mame/drivers/sandscrp.c6
-rw-r--r--src/mame/drivers/sangho.c6
-rw-r--r--src/mame/drivers/saturn.c12
-rw-r--r--src/mame/drivers/sauro.c4
-rw-r--r--src/mame/drivers/savquest.c2
-rw-r--r--src/mame/drivers/sbasketb.c6
-rw-r--r--src/mame/drivers/sbowling.c2
-rw-r--r--src/mame/drivers/sbrkout.c4
-rw-r--r--src/mame/drivers/sbugger.c4
-rw-r--r--src/mame/drivers/scobra.c32
-rw-r--r--src/mame/drivers/scotrsht.c2
-rw-r--r--src/mame/drivers/scramble.c4
-rw-r--r--src/mame/drivers/scregg.c10
-rw-r--r--src/mame/drivers/sderby.c10
-rw-r--r--src/mame/drivers/seattle.c144
-rw-r--r--src/mame/drivers/segac2.c132
-rw-r--r--src/mame/drivers/segae.c14
-rw-r--r--src/mame/drivers/segag80r.c115
-rw-r--r--src/mame/drivers/segag80v.c116
-rw-r--r--src/mame/drivers/segahang.c38
-rw-r--r--src/mame/drivers/segajw.c2
-rw-r--r--src/mame/drivers/segald.c7
-rw-r--r--src/mame/drivers/segaorun.c40
-rw-r--r--src/mame/drivers/segas16a.c80
-rw-r--r--src/mame/drivers/segas16b.c214
-rw-r--r--src/mame/drivers/segas18.c64
-rw-r--r--src/mame/drivers/segas24.c180
-rw-r--r--src/mame/drivers/segas32.c197
-rw-r--r--src/mame/drivers/segaxbd.c78
-rw-r--r--src/mame/drivers/segaybd.c20
-rw-r--r--src/mame/drivers/seibuspi.c79
-rw-r--r--src/mame/drivers/seicross.c10
-rw-r--r--src/mame/drivers/sengokmj.c2
-rw-r--r--src/mame/drivers/senjyo.c32
-rw-r--r--src/mame/drivers/seta.c167
-rw-r--r--src/mame/drivers/seta2.c56
-rw-r--r--src/mame/drivers/sf.c10
-rw-r--r--src/mame/drivers/sfbonus.c409
-rw-r--r--src/mame/drivers/sfkick.c6
-rw-r--r--src/mame/drivers/sg1000a.c8
-rw-r--r--src/mame/drivers/shadfrce.c6
-rw-r--r--src/mame/drivers/shangha3.c10
-rw-r--r--src/mame/drivers/shanghai.c6
-rw-r--r--src/mame/drivers/shangkid.c16
-rw-r--r--src/mame/drivers/shaolins.c6
-rw-r--r--src/mame/drivers/shisen.c8
-rw-r--r--src/mame/drivers/shootout.c18
-rw-r--r--src/mame/drivers/shougi.c4
-rw-r--r--src/mame/drivers/shtzone.c2
-rw-r--r--src/mame/drivers/shuuz.c4
-rw-r--r--src/mame/drivers/sidearms.c20
-rw-r--r--src/mame/drivers/sidepckt.c16
-rw-r--r--src/mame/drivers/sigmab52.c5
-rw-r--r--src/mame/drivers/sigmab98.c137
-rw-r--r--src/mame/drivers/silkroad.c8
-rw-r--r--src/mame/drivers/silvmil.c5
-rw-r--r--src/mame/drivers/simpl156.c39
-rw-r--r--src/mame/drivers/simpsons.c12
-rw-r--r--src/mame/drivers/skeetsht.c4
-rw-r--r--src/mame/drivers/skimaxx.c2
-rw-r--r--src/mame/drivers/skullxbo.c6
-rw-r--r--src/mame/drivers/skyarmy.c2
-rw-r--r--src/mame/drivers/skydiver.c2
-rw-r--r--src/mame/drivers/skyfox.c6
-rw-r--r--src/mame/drivers/skykid.c4
-rw-r--r--src/mame/drivers/skylncr.c8
-rw-r--r--src/mame/drivers/skyraid.c2
-rw-r--r--src/mame/drivers/slapfght.c64
-rw-r--r--src/mame/drivers/slapshot.c6
-rw-r--r--src/mame/drivers/sleic.c4
-rw-r--r--src/mame/drivers/sliver.c2
-rw-r--r--src/mame/drivers/slotcarn.c4
-rw-r--r--src/mame/drivers/sms.c8
-rw-r--r--src/mame/drivers/snesb.c77
-rw-r--r--src/mame/drivers/snk.c99
-rw-r--r--src/mame/drivers/snk6502.c34
-rw-r--r--src/mame/drivers/snk68.c16
-rw-r--r--src/mame/drivers/snookr10.c6
-rw-r--r--src/mame/drivers/snowbros.c109
-rw-r--r--src/mame/drivers/solomon.c4
-rw-r--r--src/mame/drivers/sonson.c4
-rw-r--r--src/mame/drivers/sothello.c2
-rw-r--r--src/mame/drivers/spacefb.c16
-rw-r--r--src/mame/drivers/spaceg.c2
-rw-r--r--src/mame/drivers/spbactn.c4
-rw-r--r--src/mame/drivers/spcforce.c6
-rw-r--r--src/mame/drivers/spdodgeb.c6
-rw-r--r--src/mame/drivers/spectra.c4
-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.c3
-rw-r--r--src/mame/drivers/spiders.c8
-rw-r--r--src/mame/drivers/spinb.c4
-rw-r--r--src/mame/drivers/splash.c47
-rw-r--r--src/mame/drivers/splus.c8
-rw-r--r--src/mame/drivers/spoker.c14
-rw-r--r--src/mame/drivers/spool99.c10
-rw-r--r--src/mame/drivers/sprcros2.c4
-rw-r--r--src/mame/drivers/sprint2.c15
-rw-r--r--src/mame/drivers/sprint4.c4
-rw-r--r--src/mame/drivers/sprint8.c4
-rw-r--r--src/mame/drivers/spy.c4
-rw-r--r--src/mame/drivers/srmp2.c16
-rw-r--r--src/mame/drivers/srmp5.c12
-rw-r--r--src/mame/drivers/srmp6.c3
-rw-r--r--src/mame/drivers/srumbler.c6
-rw-r--r--src/mame/drivers/ssfindo.c32
-rw-r--r--src/mame/drivers/sshangha.c4
-rw-r--r--src/mame/drivers/sshot.c2
-rw-r--r--src/mame/drivers/ssingles.c8
-rw-r--r--src/mame/drivers/sslam.c28
-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.c4
-rw-r--r--src/mame/drivers/ssv.c50
-rw-r--r--src/mame/drivers/st0016.c12
-rw-r--r--src/mame/drivers/st_mp100.c4
-rw-r--r--src/mame/drivers/st_mp200.c4
-rw-r--r--src/mame/drivers/stactics.c2
-rw-r--r--src/mame/drivers/stadhero.c2
-rw-r--r--src/mame/drivers/starcrus.c2
-rw-r--r--src/mame/drivers/starfire.c12
-rw-r--r--src/mame/drivers/starshp1.c4
-rw-r--r--src/mame/drivers/starwars.c48
-rw-r--r--src/mame/drivers/statriv2.c61
-rw-r--r--src/mame/drivers/stellafr.c4
-rw-r--r--src/mame/drivers/stlforce.c10
-rw-r--r--src/mame/drivers/strnskil.c18
-rw-r--r--src/mame/drivers/stv.c426
-rw-r--r--src/mame/drivers/su2000.c2
-rw-r--r--src/mame/drivers/sub.c2
-rw-r--r--src/mame/drivers/subs.c2
-rw-r--r--src/mame/drivers/subsino.c83
-rw-r--r--src/mame/drivers/subsino2.c39
-rw-r--r--src/mame/drivers/summit.c2
-rw-r--r--src/mame/drivers/sumt8035.c4
-rw-r--r--src/mame/drivers/suna16.c10
-rw-r--r--src/mame/drivers/suna8.c76
-rw-r--r--src/mame/drivers/supbtime.c8
-rw-r--r--src/mame/drivers/supdrapo.c6
-rw-r--r--src/mame/drivers/superchs.c7
-rw-r--r--src/mame/drivers/superdq.c6
-rw-r--r--src/mame/drivers/superqix.c36
-rw-r--r--src/mame/drivers/supertnk.c7
-rw-r--r--src/mame/drivers/superwng.c2
-rw-r--r--src/mame/drivers/suprgolf.c7
-rw-r--r--src/mame/drivers/suprloco.c8
-rw-r--r--src/mame/drivers/suprnova.c40
-rw-r--r--src/mame/drivers/suprridr.c2
-rw-r--r--src/mame/drivers/suprslam.c2
-rw-r--r--src/mame/drivers/surpratk.c6
-rw-r--r--src/mame/drivers/system1.c146
-rw-r--r--src/mame/drivers/system16.c152
-rw-r--r--src/mame/drivers/tagteam.c4
-rw-r--r--src/mame/drivers/tail2nos.c4
-rw-r--r--src/mame/drivers/taito.c4
-rw-r--r--src/mame/drivers/taito_b.c4
-rw-r--r--src/mame/drivers/taito_f2.c139
-rw-r--r--src/mame/drivers/taito_f3.c278
-rw-r--r--src/mame/drivers/taito_h.c10
-rw-r--r--src/mame/drivers/taito_l.c64
-rw-r--r--src/mame/drivers/taito_o.c2
-rw-r--r--src/mame/drivers/taito_x.c22
-rw-r--r--src/mame/drivers/taito_z.c12
-rw-r--r--src/mame/drivers/taitoair.c4
-rw-r--r--src/mame/drivers/taitogn.c32
-rw-r--r--src/mame/drivers/taitojc.c23
-rw-r--r--src/mame/drivers/taitopjc.c2
-rw-r--r--src/mame/drivers/taitosj.c36
-rw-r--r--src/mame/drivers/taitotz.c62
-rw-r--r--src/mame/drivers/taitowlf.c16
-rw-r--r--src/mame/drivers/tank8.c14
-rw-r--r--src/mame/drivers/tankbatt.c4
-rw-r--r--src/mame/drivers/tankbust.c2
-rw-r--r--src/mame/drivers/taotaido.c4
-rw-r--r--src/mame/drivers/tapatune.c2
-rw-r--r--src/mame/drivers/targeth.c4
-rw-r--r--src/mame/drivers/tasman.c14
-rw-r--r--src/mame/drivers/tatsumi.c73
-rw-r--r--src/mame/drivers/tattack.c5
-rw-r--r--src/mame/drivers/taxidriv.c2
-rw-r--r--src/mame/drivers/tbowl.c6
-rw-r--r--src/mame/drivers/tceptor.c4
-rw-r--r--src/mame/drivers/tcl.c13
-rw-r--r--src/mame/drivers/techno.c4
-rw-r--r--src/mame/drivers/tecmo.c26
-rw-r--r--src/mame/drivers/tecmo16.c8
-rw-r--r--src/mame/drivers/tecmosys.c18
-rw-r--r--src/mame/drivers/tehkanwc.c12
-rw-r--r--src/mame/drivers/tempest.c12
-rw-r--r--src/mame/drivers/terracre.c25
-rw-r--r--src/mame/drivers/tetrisp2.c52
-rw-r--r--src/mame/drivers/tgtpanic.c2
-rw-r--r--src/mame/drivers/thayers.c4
-rw-r--r--src/mame/drivers/thedeep.c4
-rw-r--r--src/mame/drivers/thepit.c37
-rw-r--r--src/mame/drivers/thief.c8
-rw-r--r--src/mame/drivers/thoop2.c2
-rw-r--r--src/mame/drivers/thunderj.c4
-rw-r--r--src/mame/drivers/thunderx.c14
-rw-r--r--src/mame/drivers/tiamc1.c8
-rw-r--r--src/mame/drivers/tickee.c16
-rw-r--r--src/mame/drivers/tigeroad.c10
-rw-r--r--src/mame/drivers/timelimt.c4
-rw-r--r--src/mame/drivers/timeplt.c14
-rw-r--r--src/mame/drivers/timetrv.c2
-rw-r--r--src/mame/drivers/tmaster.c104
-rw-r--r--src/mame/drivers/tmmjprd.c4
-rw-r--r--src/mame/drivers/tmnt.c117
-rw-r--r--src/mame/drivers/tmspoker.c7
-rw-r--r--src/mame/drivers/tnzs.c2
-rw-r--r--src/mame/drivers/toaplan1.c16
-rw-r--r--src/mame/drivers/toaplan2.c77
-rw-r--r--src/mame/drivers/toki.c40
-rw-r--r--src/mame/drivers/tokyocop.c2
-rw-r--r--src/mame/drivers/tomcat.c2
-rw-r--r--src/mame/drivers/tonton.c2
-rw-r--r--src/mame/drivers/toobin.c4
-rw-r--r--src/mame/drivers/topspeed.c6
-rw-r--r--src/mame/drivers/toratora.c2
-rw-r--r--src/mame/drivers/tourtabl.c4
-rw-r--r--src/mame/drivers/tourvis.c5
-rw-r--r--src/mame/drivers/toypop.c4
-rw-r--r--src/mame/drivers/tp84.c6
-rw-r--r--src/mame/drivers/trackfld.c39
-rw-r--r--src/mame/drivers/travrusa.c16
-rw-r--r--src/mame/drivers/triforce.c24
-rw-r--r--src/mame/drivers/triplhnt.c5
-rw-r--r--src/mame/drivers/truco.c2
-rw-r--r--src/mame/drivers/trucocl.c7
-rw-r--r--src/mame/drivers/trvmadns.c2
-rw-r--r--src/mame/drivers/trvquest.c2
-rw-r--r--src/mame/drivers/tryout.c2
-rw-r--r--src/mame/drivers/tsamurai.c26
-rw-r--r--src/mame/drivers/ttchamp.c9
-rw-r--r--src/mame/drivers/tubep.c6
-rw-r--r--src/mame/drivers/tugboat.c6
-rw-r--r--src/mame/drivers/tumbleb.c84
-rw-r--r--src/mame/drivers/tumblep.c4
-rw-r--r--src/mame/drivers/tunhunt.c4
-rw-r--r--src/mame/drivers/turbo.c16
-rw-r--r--src/mame/drivers/turrett.c2
-rw-r--r--src/mame/drivers/tutankhm.c4
-rw-r--r--src/mame/drivers/twin16.c21
-rw-r--r--src/mame/drivers/twincobr.c4
-rw-r--r--src/mame/drivers/twinkle.c9
-rw-r--r--src/mame/drivers/twins.c4
-rw-r--r--src/mame/drivers/tx1.c10
-rw-r--r--src/mame/drivers/uapce.c5
-rw-r--r--src/mame/drivers/ultraman.c2
-rw-r--r--src/mame/drivers/ultratnk.c2
-rw-r--r--src/mame/drivers/ultrsprt.c2
-rw-r--r--src/mame/drivers/umipoker.c14
-rw-r--r--src/mame/drivers/undrfire.c12
-rw-r--r--src/mame/drivers/unico.c8
-rw-r--r--src/mame/drivers/unkfr.c4
-rw-r--r--src/mame/drivers/unkhorse.c2
-rw-r--r--src/mame/drivers/upscope.c12
-rw-r--r--src/mame/drivers/usgames.c14
-rw-r--r--src/mame/drivers/vamphalf.c212
-rw-r--r--src/mame/drivers/vaportra.c4
-rw-r--r--src/mame/drivers/vastar.c4
-rw-r--r--src/mame/drivers/vball.c8
-rw-r--r--src/mame/drivers/vcombat.c46
-rw-r--r--src/mame/drivers/vd.c4
-rw-r--r--src/mame/drivers/vega.c8
-rw-r--r--src/mame/drivers/vegaeo.c10
-rw-r--r--src/mame/drivers/vegas.c103
-rw-r--r--src/mame/drivers/vendetta.c10
-rw-r--r--src/mame/drivers/vertigo.c2
-rw-r--r--src/mame/drivers/vicdual.c80
-rw-r--r--src/mame/drivers/victory.c4
-rw-r--r--src/mame/drivers/videopin.c2
-rw-r--r--src/mame/drivers/videopkr.c16
-rw-r--r--src/mame/drivers/vigilant.c18
-rw-r--r--src/mame/drivers/vindictr.c4
-rw-r--r--src/mame/drivers/viper.c13
-rw-r--r--src/mame/drivers/vmetal.c4
-rw-r--r--src/mame/drivers/volfied.c8
-rw-r--r--src/mame/drivers/voyager.c16
-rw-r--r--src/mame/drivers/vp101.c4
-rw-r--r--src/mame/drivers/vpoker.c4
-rw-r--r--src/mame/drivers/vroulet.c2
-rw-r--r--src/mame/drivers/vulgus.c6
-rw-r--r--src/mame/drivers/wallc.c10
-rw-r--r--src/mame/drivers/wardner.c8
-rw-r--r--src/mame/drivers/warpsped.c3
-rw-r--r--src/mame/drivers/warpwarp.c77
-rw-r--r--src/mame/drivers/warriorb.c8
-rw-r--r--src/mame/drivers/wc90.c8
-rw-r--r--src/mame/drivers/wc90b.c6
-rw-r--r--src/mame/drivers/wecleman.c32
-rw-r--r--src/mame/drivers/welltris.c6
-rw-r--r--src/mame/drivers/wgp.c8
-rw-r--r--src/mame/drivers/wheelfir.c5
-rw-r--r--src/mame/drivers/white_mod.c4
-rw-r--r--src/mame/drivers/whitestar.c3
-rw-r--r--src/mame/drivers/wico.c4
-rw-r--r--src/mame/drivers/wildpkr.c5
-rw-r--r--src/mame/drivers/williams.c85
-rw-r--r--src/mame/drivers/wink.c9
-rw-r--r--src/mame/drivers/wiping.c4
-rw-r--r--src/mame/drivers/witch.c12
-rw-r--r--src/mame/drivers/wiz.c23
-rw-r--r--src/mame/drivers/wms.c4
-rw-r--r--src/mame/drivers/wolfpack.c2
-rw-r--r--src/mame/drivers/wpc_95.c4
-rw-r--r--src/mame/drivers/wpc_an.c4
-rw-r--r--src/mame/drivers/wpc_dcs.c4
-rw-r--r--src/mame/drivers/wpc_dot.c4
-rw-r--r--src/mame/drivers/wpc_flip1.c4
-rw-r--r--src/mame/drivers/wpc_flip2.c4
-rw-r--r--src/mame/drivers/wpc_s.c4
-rw-r--r--src/mame/drivers/wrally.c6
-rw-r--r--src/mame/drivers/wwfsstar.c8
-rw-r--r--src/mame/drivers/wwfwfest.c8
-rw-r--r--src/mame/drivers/xain.c6
-rw-r--r--src/mame/drivers/xexex.c13
-rw-r--r--src/mame/drivers/xmen.c20
-rw-r--r--src/mame/drivers/xorworld.c4
-rw-r--r--src/mame/drivers/xtheball.c2
-rw-r--r--src/mame/drivers/xtom3d.c2
-rw-r--r--src/mame/drivers/xxmissio.c2
-rw-r--r--src/mame/drivers/xybots.c9
-rw-r--r--src/mame/drivers/xyonix.c2
-rw-r--r--src/mame/drivers/yiear.c4
-rw-r--r--src/mame/drivers/yunsun16.c13
-rw-r--r--src/mame/drivers/yunsung8.c8
-rw-r--r--src/mame/drivers/zac2650.c6
-rw-r--r--src/mame/drivers/zac_1.c4
-rw-r--r--src/mame/drivers/zac_2.c5
-rw-r--r--src/mame/drivers/zac_proto.c4
-rw-r--r--src/mame/drivers/zaccaria.c8
-rw-r--r--src/mame/drivers/zaxxon.c37
-rw-r--r--src/mame/drivers/zerozone.c4
-rw-r--r--src/mame/drivers/zn.c217
-rw-r--r--src/mame/drivers/zodiack.c10
-rw-r--r--src/mame/drivers/zr107.c26
-rw-r--r--src/mame/includes/1942.h1
-rw-r--r--src/mame/includes/1943.h2
-rw-r--r--src/mame/includes/20pacgal.h2
-rw-r--r--src/mame/includes/40love.h2
-rw-r--r--src/mame/includes/4enraya.h1
-rw-r--r--src/mame/includes/8080bw.h2
-rw-r--r--src/mame/includes/airbustr.h1
-rw-r--r--src/mame/includes/alpha68k.h17
-rw-r--r--src/mame/includes/amiga.h1
-rw-r--r--src/mame/includes/ampoker2.h2
-rw-r--r--src/mame/includes/angelkds.h2
-rw-r--r--src/mame/includes/appoooh.h2
-rw-r--r--src/mame/includes/aquarium.h1
-rw-r--r--src/mame/includes/arcadecl.h1
-rw-r--r--src/mame/includes/arkanoid.h9
-rw-r--r--src/mame/includes/armedf.h9
-rw-r--r--src/mame/includes/artmagic.h4
-rw-r--r--src/mame/includes/ashnojoe.h1
-rw-r--r--src/mame/includes/asterix.h1
-rw-r--r--src/mame/includes/asteroid.h2
-rw-r--r--src/mame/includes/astrocde.h9
-rw-r--r--src/mame/includes/astrof.h3
-rw-r--r--src/mame/includes/atarig1.h7
-rw-r--r--src/mame/includes/atarig42.h2
-rw-r--r--src/mame/includes/atarigt.h3
-rw-r--r--src/mame/includes/atarigx2.h3
-rw-r--r--src/mame/includes/atarisy1.h6
-rw-r--r--src/mame/includes/atarisy2.h5
-rw-r--r--src/mame/includes/atetris.h1
-rw-r--r--src/mame/includes/badlands.h1
-rw-r--r--src/mame/includes/bagman.h1
-rw-r--r--src/mame/includes/balsente.h23
-rw-r--r--src/mame/includes/baraduke.h1
-rw-r--r--src/mame/includes/batman.h1
-rw-r--r--src/mame/includes/battlex.h1
-rw-r--r--src/mame/includes/battlnts.h1
-rw-r--r--src/mame/includes/beathead.h1
-rw-r--r--src/mame/includes/beezer.h2
-rw-r--r--src/mame/includes/bfm_sc45.h54
-rw-r--r--src/mame/includes/bigevglf.h1
-rw-r--r--src/mame/includes/blmbycar.h1
-rw-r--r--src/mame/includes/blstroid.h1
-rw-r--r--src/mame/includes/boogwing.h1
-rw-r--r--src/mame/includes/brkthru.h1
-rw-r--r--src/mame/includes/btime.h11
-rw-r--r--src/mame/includes/bublbobl.h4
-rw-r--r--src/mame/includes/bwing.h1
-rw-r--r--src/mame/includes/bzone.h1
-rw-r--r--src/mame/includes/cabal.h2
-rw-r--r--src/mame/includes/calomega.h4
-rw-r--r--src/mame/includes/capbowl.h1
-rw-r--r--src/mame/includes/carpolo.h1
-rw-r--r--src/mame/includes/cave.h17
-rw-r--r--src/mame/includes/cbasebal.h1
-rw-r--r--src/mame/includes/cbuster.h1
-rw-r--r--src/mame/includes/cclimber.h12
-rw-r--r--src/mame/includes/cd32.h9
-rw-r--r--src/mame/includes/centiped.h2
-rw-r--r--src/mame/includes/champbas.h2
-rw-r--r--src/mame/includes/cinemat.h5
-rw-r--r--src/mame/includes/circus.h4
-rw-r--r--src/mame/includes/circusc.h1
-rw-r--r--src/mame/includes/cischeat.h4
-rw-r--r--src/mame/includes/citycon.h1
-rw-r--r--src/mame/includes/clshroad.h1
-rw-r--r--src/mame/includes/cninja.h3
-rw-r--r--src/mame/includes/combatsc.h1
-rw-r--r--src/mame/includes/commando.h2
-rw-r--r--src/mame/includes/compgolf.h1
-rw-r--r--src/mame/includes/coolpool.h3
-rw-r--r--src/mame/includes/cop01.h1
-rw-r--r--src/mame/includes/cosmic.h5
-rw-r--r--src/mame/includes/cps1.h22
-rw-r--r--src/mame/includes/cps3.h6
-rw-r--r--src/mame/includes/crgolf.h1
-rw-r--r--src/mame/includes/crospang.h1
-rw-r--r--src/mame/includes/crshrace.h2
-rw-r--r--src/mame/includes/cvs.h5
-rw-r--r--src/mame/includes/cyberbal.h3
-rw-r--r--src/mame/includes/darius.h1
-rw-r--r--src/mame/includes/darkmist.h1
-rw-r--r--src/mame/includes/darkseal.h1
-rw-r--r--src/mame/includes/dassault.h2
-rw-r--r--src/mame/includes/dbz.h3
-rw-r--r--src/mame/includes/dc.h16
-rw-r--r--src/mame/includes/dcon.h1
-rw-r--r--src/mame/includes/ddragon.h6
-rw-r--r--src/mame/includes/deadang.h2
-rw-r--r--src/mame/includes/dec0.h13
-rw-r--r--src/mame/includes/dec8.h12
-rw-r--r--src/mame/includes/deco32.h6
-rw-r--r--src/mame/includes/deco_mlc.h2
-rw-r--r--src/mame/includes/deniam.h4
-rw-r--r--src/mame/includes/dietgo.h1
-rw-r--r--src/mame/includes/djboy.h2
-rw-r--r--src/mame/includes/djmain.h12
-rw-r--r--src/mame/includes/dkong.h5
-rw-r--r--src/mame/includes/drgnmst.h1
-rw-r--r--src/mame/includes/dynax.h8
-rw-r--r--src/mame/includes/dynduke.h1
-rw-r--r--src/mame/includes/eolith.h5
-rw-r--r--src/mame/includes/epos.h1
-rw-r--r--src/mame/includes/eprom.h3
-rw-r--r--src/mame/includes/equites.h6
-rw-r--r--src/mame/includes/esripsys.h1
-rw-r--r--src/mame/includes/exerion.h2
-rw-r--r--src/mame/includes/exidy.h10
-rw-r--r--src/mame/includes/exidy440.h5
-rw-r--r--src/mame/includes/exprraid.h4
-rw-r--r--src/mame/includes/fastfred.h7
-rw-r--r--src/mame/includes/fcombat.h1
-rw-r--r--src/mame/includes/finalizr.h1
-rw-r--r--src/mame/includes/fitfight.h4
-rw-r--r--src/mame/includes/freekick.h3
-rw-r--r--src/mame/includes/fromanc2.h2
-rw-r--r--src/mame/includes/fromance.h2
-rw-r--r--src/mame/includes/funkyjet.h1
-rw-r--r--src/mame/includes/funworld.h7
-rw-r--r--src/mame/includes/gaelco2.h8
-rw-r--r--src/mame/includes/gaelco3d.h1
-rw-r--r--src/mame/includes/gaiden.h5
-rw-r--r--src/mame/includes/galaga.h5
-rw-r--r--src/mame/includes/galaxian.h45
-rw-r--r--src/mame/includes/galaxold.h6
-rw-r--r--src/mame/includes/galivan.h1
-rw-r--r--src/mame/includes/gaplus.h1
-rw-r--r--src/mame/includes/gauntlet.h4
-rw-r--r--src/mame/includes/gberet.h1
-rw-r--r--src/mame/includes/ginganin.h1
-rw-r--r--src/mame/includes/gladiatr.h2
-rw-r--r--src/mame/includes/glass.h1
-rw-r--r--src/mame/includes/gng.h1
-rw-r--r--src/mame/includes/goindol.h1
-rw-r--r--src/mame/includes/goldstar.h27
-rw-r--r--src/mame/includes/gottlieb.h5
-rw-r--r--src/mame/includes/groundfx.h1
-rw-r--r--src/mame/includes/gstriker.h3
-rw-r--r--src/mame/includes/gsword.h2
-rw-r--r--src/mame/includes/gunbustr.h2
-rw-r--r--src/mame/includes/gyruss.h1
-rw-r--r--src/mame/includes/harddriv.h13
-rw-r--r--src/mame/includes/hnayayoi.h1
-rw-r--r--src/mame/includes/hng64.h7
-rw-r--r--src/mame/includes/homedata.h5
-rw-r--r--src/mame/includes/hyhoo.h2
-rw-r--r--src/mame/includes/hyperspt.h1
-rw-r--r--src/mame/includes/hyprduel.h2
-rw-r--r--src/mame/includes/iqblock.h2
-rw-r--r--src/mame/includes/irobot.h2
-rw-r--r--src/mame/includes/itech32.h17
-rw-r--r--src/mame/includes/itech8.h8
-rw-r--r--src/mame/includes/jack.h5
-rw-r--r--src/mame/includes/jailbrek.h1
-rw-r--r--src/mame/includes/jpmimpct.h1
-rw-r--r--src/mame/includes/kaneko16.h14
-rw-r--r--src/mame/includes/karnov.h6
-rw-r--r--src/mame/includes/kchamp.h2
-rw-r--r--src/mame/includes/kickgoal.h1
-rw-r--r--src/mame/includes/kingobox.h2
-rw-r--r--src/mame/includes/konamigx.h1
-rw-r--r--src/mame/includes/kyugo.h2
-rw-r--r--src/mame/includes/ladybug.h2
-rw-r--r--src/mame/includes/lazercmd.h3
-rw-r--r--src/mame/includes/legionna.h3
-rw-r--r--src/mame/includes/leland.h26
-rw-r--r--src/mame/includes/lethal.h1
-rw-r--r--src/mame/includes/lethalj.h3
-rw-r--r--src/mame/includes/liberate.h3
-rw-r--r--src/mame/includes/lkage.h3
-rw-r--r--src/mame/includes/lordgun.h3
-rw-r--r--src/mame/includes/m10.h2
-rw-r--r--src/mame/includes/m107.h3
-rw-r--r--src/mame/includes/m58.h1
-rw-r--r--src/mame/includes/m62.h7
-rw-r--r--src/mame/includes/m72.h11
-rw-r--r--src/mame/includes/m90.h2
-rw-r--r--src/mame/includes/m92.h6
-rw-r--r--src/mame/includes/macrossp.h2
-rw-r--r--src/mame/includes/madmotor.h1
-rw-r--r--src/mame/includes/mappy.h2
-rw-r--r--src/mame/includes/mcr.h11
-rw-r--r--src/mame/includes/mcr3.h9
-rw-r--r--src/mame/includes/mcr68.h8
-rw-r--r--src/mame/includes/meadows.h2
-rw-r--r--src/mame/includes/megadriv.h57
-rw-r--r--src/mame/includes/megasys1.h20
-rw-r--r--src/mame/includes/megazone.h1
-rw-r--r--src/mame/includes/metalmx.h1
-rw-r--r--src/mame/includes/metro.h9
-rw-r--r--src/mame/includes/mhavoc.h2
-rw-r--r--src/mame/includes/micro3d.h4
-rw-r--r--src/mame/includes/midtunit.h12
-rw-r--r--src/mame/includes/midvunit.h8
-rw-r--r--src/mame/includes/midwunit.h18
-rw-r--r--src/mame/includes/midxunit.h2
-rw-r--r--src/mame/includes/midyunit.h28
-rw-r--r--src/mame/includes/midzeus.h4
-rw-r--r--src/mame/includes/mitchell.h19
-rw-r--r--src/mame/includes/model2.h9
-rw-r--r--src/mame/includes/model3.h33
-rw-r--r--src/mame/includes/moo.h1
-rw-r--r--src/mame/includes/mouser.h1
-rw-r--r--src/mame/includes/mpu4.h19
-rw-r--r--src/mame/includes/ms32.h9
-rw-r--r--src/mame/includes/multfish.h2
-rw-r--r--src/mame/includes/mustache.h1
-rw-r--r--src/mame/includes/n64.h2
-rw-r--r--src/mame/includes/namcofl.h2
-rw-r--r--src/mame/includes/namcona1.h12
-rw-r--r--src/mame/includes/namconb1.h10
-rw-r--r--src/mame/includes/namcos1.h46
-rw-r--r--src/mame/includes/namcos21.h6
-rw-r--r--src/mame/includes/namcos22.h16
-rw-r--r--src/mame/includes/namcos86.h1
-rw-r--r--src/mame/includes/naomi.h15
-rw-r--r--src/mame/includes/naughtyb.h2
-rw-r--r--src/mame/includes/nbmj8688.h34
-rw-r--r--src/mame/includes/nbmj8891.h25
-rw-r--r--src/mame/includes/nbmj8900.h2
-rw-r--r--src/mame/includes/nbmj8991.h18
-rw-r--r--src/mame/includes/nbmj9195.h1
-rw-r--r--src/mame/includes/neogeo.h67
-rw-r--r--src/mame/includes/ninjakd2.h3
-rw-r--r--src/mame/includes/niyanpai.h1
-rw-r--r--src/mame/includes/nmk16.h11
-rw-r--r--src/mame/includes/norautp.h3
-rw-r--r--src/mame/includes/nova2001.h2
-rw-r--r--src/mame/includes/nycaptor.h4
-rw-r--r--src/mame/includes/offtwall.h2
-rw-r--r--src/mame/includes/ohmygod.h2
-rw-r--r--src/mame/includes/opwolf.h2
-rw-r--r--src/mame/includes/pacman.h16
-rw-r--r--src/mame/includes/paradise.h3
-rw-r--r--src/mame/includes/pastelg.h1
-rw-r--r--src/mame/includes/pbaction.h2
-rw-r--r--src/mame/includes/pcktgal.h3
-rw-r--r--src/mame/includes/pgm.h108
-rw-r--r--src/mame/includes/phoenix.h1
-rw-r--r--src/mame/includes/pingpong.h2
-rw-r--r--src/mame/includes/pirates.h2
-rw-r--r--src/mame/includes/pktgaldx.h1
-rw-r--r--src/mame/includes/playch10.h32
-rw-r--r--src/mame/includes/playmark.h3
-rw-r--r--src/mame/includes/plygonet.h1
-rw-r--r--src/mame/includes/pokechmp.h1
-rw-r--r--src/mame/includes/polepos.h2
-rw-r--r--src/mame/includes/policetr.h4
-rw-r--r--src/mame/includes/poolshrk.h1
-rw-r--r--src/mame/includes/popeye.h2
-rw-r--r--src/mame/includes/psikyo.h8
-rw-r--r--src/mame/includes/psikyo4.h1
-rw-r--r--src/mame/includes/psikyosh.h10
-rw-r--r--src/mame/includes/punchout.h8
-rw-r--r--src/mame/includes/qix.h3
-rw-r--r--src/mame/includes/raiden.h4
-rw-r--r--src/mame/includes/raiden2.h4
-rw-r--r--src/mame/includes/rainbow.h3
-rw-r--r--src/mame/includes/rampart.h1
-rw-r--r--src/mame/includes/relief.h1
-rw-r--r--src/mame/includes/renegade.h3
-rw-r--r--src/mame/includes/rocnrope.h2
-rw-r--r--src/mame/includes/rohga.h4
-rw-r--r--src/mame/includes/route16.h2
-rw-r--r--src/mame/includes/rpunch.h2
-rw-r--r--src/mame/includes/sauro.h1
-rw-r--r--src/mame/includes/sbasketb.h1
-rw-r--r--src/mame/includes/scramble.h46
-rw-r--r--src/mame/includes/segag80r.h7
-rw-r--r--src/mame/includes/segag80v.h6
-rw-r--r--src/mame/includes/segahang.h11
-rw-r--r--src/mame/includes/segamsys.h12
-rw-r--r--src/mame/includes/segaorun.h8
-rw-r--r--src/mame/includes/segas16a.h18
-rw-r--r--src/mame/includes/segas16b.h60
-rw-r--r--src/mame/includes/segas18.h14
-rw-r--r--src/mame/includes/segas24.h16
-rw-r--r--src/mame/includes/segas32.h23
-rw-r--r--src/mame/includes/segaxbd.h7
-rw-r--r--src/mame/includes/segaybd.h5
-rw-r--r--src/mame/includes/seibuspi.h13
-rw-r--r--src/mame/includes/senjyo.h4
-rw-r--r--src/mame/includes/seta.h13
-rw-r--r--src/mame/includes/seta2.h3
-rw-r--r--src/mame/includes/shangha3.h2
-rw-r--r--src/mame/includes/shangkid.h2
-rw-r--r--src/mame/includes/shootout.h2
-rw-r--r--src/mame/includes/sidearms.h4
-rw-r--r--src/mame/includes/sidepckt.h2
-rw-r--r--src/mame/includes/silkroad.h1
-rw-r--r--src/mame/includes/simpl156.h6
-rw-r--r--src/mame/includes/skullxbo.h1
-rw-r--r--src/mame/includes/skyfox.h1
-rw-r--r--src/mame/includes/skykid.h1
-rw-r--r--src/mame/includes/slapfght.h8
-rw-r--r--src/mame/includes/slapshot.h1
-rw-r--r--src/mame/includes/snes.h4
-rw-r--r--src/mame/includes/snk.h1
-rw-r--r--src/mame/includes/snk68.h1
-rw-r--r--src/mame/includes/snowbros.h7
-rw-r--r--src/mame/includes/splash.h5
-rw-r--r--src/mame/includes/sprint2.h3
-rw-r--r--src/mame/includes/sshangha.h1
-rw-r--r--src/mame/includes/sslam.h2
-rw-r--r--src/mame/includes/ssv.h22
-rw-r--r--src/mame/includes/st0016.h4
-rw-r--r--src/mame/includes/starfire.h2
-rw-r--r--src/mame/includes/starwars.h2
-rw-r--r--src/mame/includes/stfight.h4
-rw-r--r--src/mame/includes/stlforce.h2
-rw-r--r--src/mame/includes/strnskil.h2
-rw-r--r--src/mame/includes/stv.h89
-rw-r--r--src/mame/includes/suna16.h1
-rw-r--r--src/mame/includes/suna8.h8
-rw-r--r--src/mame/includes/superchs.h1
-rw-r--r--src/mame/includes/superqix.h3
-rw-r--r--src/mame/includes/suprloco.h1
-rw-r--r--src/mame/includes/suprnova.h19
-rw-r--r--src/mame/includes/system1.h35
-rw-r--r--src/mame/includes/system16.h16
-rw-r--r--src/mame/includes/taito_b.h1
-rw-r--r--src/mame/includes/taito_f2.h4
-rw-r--r--src/mame/includes/taito_f3.h38
-rw-r--r--src/mame/includes/taito_l.h1
-rw-r--r--src/mame/includes/taito_z.h2
-rw-r--r--src/mame/includes/taitojc.h3
-rw-r--r--src/mame/includes/taitosj.h5
-rw-r--r--src/mame/includes/tank8.h1
-rw-r--r--src/mame/includes/tatsumi.h3
-rw-r--r--src/mame/includes/tecmo.h4
-rw-r--r--src/mame/includes/tecmosys.h3
-rw-r--r--src/mame/includes/tehkanwc.h1
-rw-r--r--src/mame/includes/terracre.h3
-rw-r--r--src/mame/includes/tetrisp2.h6
-rw-r--r--src/mame/includes/thepit.h1
-rw-r--r--src/mame/includes/thief.h1
-rw-r--r--src/mame/includes/thunderj.h1
-rw-r--r--src/mame/includes/tigeroad.h2
-rw-r--r--src/mame/includes/tmnt.h3
-rw-r--r--src/mame/includes/tnzs.h20
-rw-r--r--src/mame/includes/toaplan1.h3
-rw-r--r--src/mame/includes/toaplan2.h8
-rw-r--r--src/mame/includes/toki.h3
-rw-r--r--src/mame/includes/toobin.h1
-rw-r--r--src/mame/includes/trackfld.h4
-rw-r--r--src/mame/includes/travrusa.h2
-rw-r--r--src/mame/includes/triplhnt.h1
-rw-r--r--src/mame/includes/trucocl.h1
-rw-r--r--src/mame/includes/tumbleb.h11
-rw-r--r--src/mame/includes/tumblep.h1
-rw-r--r--src/mame/includes/turbo.h2
-rw-r--r--src/mame/includes/twin16.h3
-rw-r--r--src/mame/includes/twincobr.h1
-rw-r--r--src/mame/includes/undrfire.h2
-rw-r--r--src/mame/includes/vaportra.h1
-rw-r--r--src/mame/includes/vectrex.h2
-rw-r--r--src/mame/includes/vendetta.h2
-rw-r--r--src/mame/includes/vindictr.h1
-rw-r--r--src/mame/includes/vsnes.h28
-rw-r--r--src/mame/includes/warpwarp.h7
-rw-r--r--src/mame/includes/wecleman.h2
-rw-r--r--src/mame/includes/welltris.h2
-rw-r--r--src/mame/includes/wgp.h2
-rw-r--r--src/mame/includes/williams.h19
-rw-r--r--src/mame/includes/wiz.h3
-rw-r--r--src/mame/includes/xexex.h1
-rw-r--r--src/mame/includes/xorworld.h1
-rw-r--r--src/mame/includes/xybots.h1
-rw-r--r--src/mame/includes/yunsun16.h1
-rw-r--r--src/mame/includes/zaxxon.h4
-rw-r--r--src/mame/machine/beezer.c7
-rw-r--r--src/mame/machine/cclimber.c22
-rw-r--r--src/mame/machine/cps2crpt.c6
-rw-r--r--src/mame/machine/dec0.c37
-rw-r--r--src/mame/machine/decocass.h3
-rw-r--r--src/mame/machine/gaelco2.c31
-rw-r--r--src/mame/machine/galaxold.c84
-rw-r--r--src/mame/machine/irobot.c11
-rw-r--r--src/mame/machine/kaneko16.c10
-rw-r--r--src/mame/machine/mega32x.c38
-rw-r--r--src/mame/machine/megadriv.c18
-rw-r--r--src/mame/machine/mhavoc.c7
-rw-r--r--src/mame/machine/micro3d.c22
-rw-r--r--src/mame/machine/midtunit.c58
-rw-r--r--src/mame/machine/midwunit.c53
-rw-r--r--src/mame/machine/midxunit.c23
-rw-r--r--src/mame/machine/midyunit.c67
-rw-r--r--src/mame/machine/namcos1.c102
-rw-r--r--src/mame/machine/naomi.c69
-rw-r--r--src/mame/machine/pcecommn.c2
-rw-r--r--src/mame/machine/pcecommn.h2
-rw-r--r--src/mame/machine/pgmprot.c51
-rw-r--r--src/mame/machine/pgmprot1.c288
-rw-r--r--src/mame/machine/pgmprot2.c62
-rw-r--r--src/mame/machine/pgmprot3.c70
-rw-r--r--src/mame/machine/pgmprot4.c52
-rw-r--r--src/mame/machine/pgmprot5.c24
-rw-r--r--src/mame/machine/pgmprot6.c35
-rw-r--r--src/mame/machine/playch10.c184
-rw-r--r--src/mame/machine/scramble.c162
-rw-r--r--src/mame/machine/segamsys.c12
-rw-r--r--src/mame/machine/snes.c56
-rw-r--r--src/mame/machine/stfight.c26
-rw-r--r--src/mame/machine/tnzs.c66
-rw-r--r--src/mame/machine/vectrex.c17
-rw-r--r--src/mame/machine/vsnes.c128
-rw-r--r--src/mame/video/cps1.c36
-rw-r--r--src/mame/video/deniam.c26
-rw-r--r--src/mame/video/punchout.c28
1630 files changed, 17851 insertions, 16581 deletions
diff --git a/src/emu/driver.h b/src/emu/driver.h
index efd941b1b1c..732148fca32 100644
--- a/src/emu/driver.h
+++ b/src/emu/driver.h
@@ -183,6 +183,8 @@ public:
(machine.driver_data<_DriverClass>()->*_Function)();
}
+ void init_0() {};
+
// generic interrupt generators
void generic_pulse_irq_line(device_execute_interface &exec, int irqline, int cycles);
void generic_pulse_irq_line_and_vector(device_execute_interface &exec, int irqline, int vector, int cycles);
diff --git a/src/emu/drivers/empty.c b/src/emu/drivers/empty.c
index 8d3fa9636f1..4ec95e04764 100644
--- a/src/emu/drivers/empty.c
+++ b/src/emu/drivers/empty.c
@@ -100,4 +100,4 @@ ROM_END
// GAME DRIVERS
//**************************************************************************
-GAME( 2007, ___empty, 0, ___empty, 0, empty_state, 0, ROT0, "MAME", "No Driver Loaded", GAME_NO_SOUND )
+GAME( 2007, ___empty, 0, ___empty, 0, driver_device, 0, ROT0, "MAME", "No Driver Loaded", GAME_NO_SOUND )
diff --git a/src/emu/drivers/testcpu.c b/src/emu/drivers/testcpu.c
index f4273ae1824..8927daea7b9 100644
--- a/src/emu/drivers/testcpu.c
+++ b/src/emu/drivers/testcpu.c
@@ -244,4 +244,4 @@ ROM_END
// GAME DRIVERS
//**************************************************************************
-GAME( 2012, testcpu, 0, testcpu, 0, testcpu_state, 0, ROT0, "MAME", "CPU Tester", GAME_NO_SOUND )
+GAME( 2012, testcpu, 0, testcpu, 0, driver_device, 0, ROT0, "MAME", "CPU Tester", GAME_NO_SOUND )
diff --git a/src/emu/gamedrv.h b/src/emu/gamedrv.h
index 1a983dfe843..8d885be5e67 100644
--- a/src/emu/gamedrv.h
+++ b/src/emu/gamedrv.h
@@ -111,18 +111,15 @@ struct game_driver
//**************************************************************************
// wrappers for the DRIVER_INIT callback
-#define DRIVER_INIT_NAME(name) driver_init_##name
-#define DRIVER_INIT(name) void DRIVER_INIT_NAME(name)(running_machine &machine)
-#define DRIVER_INIT_CALL(name) DRIVER_INIT_NAME(name)(machine)
-
-#define driver_init_0 NULL
+#define DRIVER_INIT_NAME(name) init_##name
+#define DECLARE_DRIVER_INIT(name) void DRIVER_INIT_NAME(name)()
+#define DRIVER_INIT_MEMBER(cls,name) void cls::DRIVER_INIT_NAME(name)()
+#define DRIVER_INIT_CALL(name) DRIVER_INIT_NAME(name)()
// wrappers for declaring and defining game drivers
#define GAME_NAME(name) driver_##name
#define GAME_EXTERN(name) extern const game_driver GAME_NAME(name)
-#ifdef MODERN_DRIVER_INIT
-
// standard GAME() macro
#define GAME(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS) \
GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,((const char *)0))
@@ -139,7 +136,7 @@ extern const game_driver GAME_NAME(NAME) = \
COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \
- &driver_device::driver_init_wrapper<CLASS, &CLASS::INIT>, \
+ &driver_device::driver_init_wrapper<CLASS, &CLASS::init_##INIT>, \
ROM_NAME(NAME), \
NULL, \
(MONITOR)|(FLAGS)|GAME_TYPE_ARCADE, \
@@ -158,7 +155,7 @@ extern const game_driver GAME_NAME(NAME) = \
COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \
- &driver_device::driver_init_wrapper<CLASS, &CLASS::INIT>, \
+ &driver_device::driver_init_wrapper<CLASS, &CLASS::init_##INIT>, \
ROM_NAME(NAME), \
#COMPAT, \
ROT0|(FLAGS)|GAME_TYPE_CONSOLE, \
@@ -177,7 +174,7 @@ extern const game_driver GAME_NAME(NAME) = \
COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \
- &driver_device::driver_init_wrapper<CLASS, &CLASS::INIT>, \
+ &driver_device::driver_init_wrapper<CLASS, &CLASS::init_##INIT>, \
ROM_NAME(NAME), \
#COMPAT, \
ROT0|(FLAGS)|GAME_TYPE_COMPUTER, \
@@ -196,97 +193,13 @@ extern const game_driver GAME_NAME(NAME) = \
COMPANY, \
MACHINE_CONFIG_NAME(MACHINE), \
INPUT_PORTS_NAME(INPUT), \
- &driver_device::driver_init_wrapper<CLASS, &CLASS::INIT>, \
+ &driver_device::driver_init_wrapper<CLASS, &CLASS::init_##INIT>, \
ROM_NAME(NAME), \
#COMPAT, \
ROT0|(FLAGS)|GAME_TYPE_OTHER, \
NULL \
};
-#else
-
-// standard GAME() macro
-#define GAME(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS) \
- GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,((const char *)0))
-
-// standard macro with additional layout
-#define GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,LAYOUT) \
-extern const game_driver GAME_NAME(NAME) = \
-{ \
- __FILE__, \
- #PARENT, \
- #NAME, \
- FULLNAME, \
- #YEAR, \
- COMPANY, \
- MACHINE_CONFIG_NAME(MACHINE), \
- INPUT_PORTS_NAME(INPUT), \
- DRIVER_INIT_NAME(INIT), \
- ROM_NAME(NAME), \
- NULL, \
- (MONITOR)|(FLAGS)|GAME_TYPE_ARCADE, \
- &LAYOUT[0] \
-};
-
-// standard console definition macro
-#define CONS(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \
-extern const game_driver GAME_NAME(NAME) = \
-{ \
- __FILE__, \
- #PARENT, \
- #NAME, \
- FULLNAME, \
- #YEAR, \
- COMPANY, \
- MACHINE_CONFIG_NAME(MACHINE), \
- INPUT_PORTS_NAME(INPUT), \
- DRIVER_INIT_NAME(INIT), \
- ROM_NAME(NAME), \
- #COMPAT, \
- ROT0|(FLAGS)|GAME_TYPE_CONSOLE, \
- NULL \
-};
-
-// standard computer definition macro
-#define COMP(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \
-extern const game_driver GAME_NAME(NAME) = \
-{ \
- __FILE__, \
- #PARENT, \
- #NAME, \
- FULLNAME, \
- #YEAR, \
- COMPANY, \
- MACHINE_CONFIG_NAME(MACHINE), \
- INPUT_PORTS_NAME(INPUT), \
- DRIVER_INIT_NAME(INIT), \
- ROM_NAME(NAME), \
- #COMPAT, \
- ROT0|(FLAGS)|GAME_TYPE_COMPUTER, \
- NULL \
-};
-
-// standard system definition macro
-#define SYST(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \
-extern const game_driver GAME_NAME(NAME) = \
-{ \
- __FILE__, \
- #PARENT, \
- #NAME, \
- FULLNAME, \
- #YEAR, \
- COMPANY, \
- MACHINE_CONFIG_NAME(MACHINE), \
- INPUT_PORTS_NAME(INPUT), \
- DRIVER_INIT_NAME(INIT), \
- ROM_NAME(NAME), \
- #COMPAT, \
- ROT0|(FLAGS)|GAME_TYPE_OTHER, \
- NULL \
-};
-
-#endif
-
//**************************************************************************
// GLOBAL VARIABLES
diff --git a/src/mame/drivers/1942.c b/src/mame/drivers/1942.c
index 34359106f2a..55af70c9706 100644
--- a/src/mame/drivers/1942.c
+++ b/src/mame/drivers/1942.c
@@ -503,10 +503,10 @@ ROM_START( 1942w )
ROM_END
-static DRIVER_INIT( 1942 )
+DRIVER_INIT_MEMBER(_1942_state,1942)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x4000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x4000);
}
diff --git a/src/mame/drivers/1943.c b/src/mame/drivers/1943.c
index 53e652a1ec6..8ba066db431 100644
--- a/src/mame/drivers/1943.c
+++ b/src/mame/drivers/1943.c
@@ -641,21 +641,20 @@ ROM_START( 1943b )
ROM_END
-static DRIVER_INIT( 1943 )
+DRIVER_INIT_MEMBER(_1943_state,1943)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
}
READ8_MEMBER(_1943_state::_1943b_c007_r){ return 0; }
-static DRIVER_INIT( 1943b )
+DRIVER_INIT_MEMBER(_1943_state,1943b)
{
- _1943_state *state = machine.driver_data<_1943_state>();
- DRIVER_INIT_CALL( 1943 );
+ DRIVER_INIT_CALL(1943);
//it expects 0x00 to be returned from the protection reads because the protection has been patched out.
//AM_RANGE(0xc007, 0xc007) AM_READ(c1943_protection_r)
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc007, 0xc007, read8_delegate(FUNC(_1943_state::_1943b_c007_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc007, 0xc007, read8_delegate(FUNC(_1943_state::_1943b_c007_r),this));
}
diff --git a/src/mame/drivers/1945kiii.c b/src/mame/drivers/1945kiii.c
index 3a8d7ad1e7d..23750eb05d5 100644
--- a/src/mame/drivers/1945kiii.c
+++ b/src/mame/drivers/1945kiii.c
@@ -303,4 +303,4 @@ ROM_START( 1945kiii )
ROM_LOAD( "m16m-3.u61", 0x00000, 0x200000, CRC(32fc80dd) SHA1(bee32493a250e9f21997114bba26b9535b1b636c) )
ROM_END
-GAME( 2000, 1945kiii, 0, k3, k3, k3_state, 0, ROT270, "Oriental Soft", "1945k III", GAME_SUPPORTS_SAVE )
+GAME( 2000, 1945kiii, 0, k3, k3, driver_device, 0, ROT270, "Oriental Soft", "1945k III", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/20pacgal.c b/src/mame/drivers/20pacgal.c
index 08aac8a7e0e..6ea04b1a168 100644
--- a/src/mame/drivers/20pacgal.c
+++ b/src/mame/drivers/20pacgal.c
@@ -438,17 +438,15 @@ ROM_START( 20pacgalr0 ) /* Version 1.00 */
ROM_END
-static DRIVER_INIT(20pacgal)
+DRIVER_INIT_MEMBER(_20pacgal_state,20pacgal)
{
- _20pacgal_state *state = machine.driver_data<_20pacgal_state>();
- state->m_sprite_pal_base = 0x00<<2;
+ m_sprite_pal_base = 0x00<<2;
}
-static DRIVER_INIT(25pacman)
+DRIVER_INIT_MEMBER(_20pacgal_state,25pacman)
{
- _20pacgal_state *state = machine.driver_data<_20pacgal_state>();
- state->m_sprite_pal_base = 0x20<<2;
+ m_sprite_pal_base = 0x20<<2;
}
diff --git a/src/mame/drivers/2mindril.c b/src/mame/drivers/2mindril.c
index 7d084f080d9..c310a03323b 100644
--- a/src/mame/drivers/2mindril.c
+++ b/src/mame/drivers/2mindril.c
@@ -60,6 +60,7 @@ public:
DECLARE_WRITE16_MEMBER(sensors_w);
DECLARE_READ16_MEMBER(drill_irq_r);
DECLARE_WRITE16_MEMBER(drill_irq_w);
+ DECLARE_DRIVER_INIT(drill);
};
@@ -551,11 +552,10 @@ static void tile_decode(running_machine &machine)
}
}
-static DRIVER_INIT( drill )
+DRIVER_INIT_MEMBER(_2mindril_state,drill)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=TMDRILL;
- tile_decode(machine);
+ m_f3_game=TMDRILL;
+ tile_decode(machine());
}
GAME( 1993, 2mindril, 0, drill, drill, _2mindril_state, drill, ROT0, "Taito", "Two Minute Drill", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE | GAME_MECHANICAL)
diff --git a/src/mame/drivers/30test.c b/src/mame/drivers/30test.c
index a7710bb654a..0d4786b8c04 100644
--- a/src/mame/drivers/30test.c
+++ b/src/mame/drivers/30test.c
@@ -273,4 +273,4 @@ ROM_START( 30test )
ROM_LOAD( "tt1-voi0.7p", 0x0000, 0x80000, CRC(b4fc5921) SHA1(92a88d5adb50dae48715847f12e88a35e37ef78c) )
ROM_END
-GAMEL( 1997, 30test, 0, 30test, 30test, namco_30test_state, 0, ROT0, "Namco", "30 Test (Remake)", GAME_SUPPORTS_SAVE, layout_30test )
+GAMEL( 1997, 30test, 0, 30test, 30test, driver_device, 0, ROT0, "Namco", "30 Test (Remake)", GAME_SUPPORTS_SAVE, layout_30test )
diff --git a/src/mame/drivers/39in1.c b/src/mame/drivers/39in1.c
index 94cc79131ea..17d698de7a7 100644
--- a/src/mame/drivers/39in1.c
+++ b/src/mame/drivers/39in1.c
@@ -72,6 +72,7 @@ public:
DECLARE_READ32_MEMBER(cpld_r);
DECLARE_WRITE32_MEMBER(cpld_w);
DECLARE_READ32_MEMBER(prot_cheater_r);
+ DECLARE_DRIVER_INIT(39in1);
};
@@ -1455,16 +1456,15 @@ READ32_MEMBER(_39in1_state::prot_cheater_r)
return 0x37;
}
-static DRIVER_INIT( 39in1 )
+DRIVER_INIT_MEMBER(_39in1_state,39in1)
{
- _39in1_state *state = machine.driver_data<_39in1_state>();
- state->m_dmadac[0] = machine.device<dmadac_sound_device>("dac1");
- state->m_dmadac[1] = machine.device<dmadac_sound_device>("dac2");
- state->m_eeprom = machine.device<eeprom_device>("eeprom");
+ m_dmadac[0] = machine().device<dmadac_sound_device>("dac1");
+ m_dmadac[1] = machine().device<dmadac_sound_device>("dac2");
+ m_eeprom = machine().device<eeprom_device>("eeprom");
- address_space *space = machine.device<pxa255_device>("maincpu")->space(AS_PROGRAM);
- space->install_read_handler (0xa0151648, 0xa015164b, read32_delegate(FUNC(_39in1_state::prot_cheater_r), state));
+ address_space *space = machine().device<pxa255_device>("maincpu")->space(AS_PROGRAM);
+ space->install_read_handler (0xa0151648, 0xa015164b, read32_delegate(FUNC(_39in1_state::prot_cheater_r), this));
}
static ADDRESS_MAP_START( 39in1_map, AS_PROGRAM, 32, _39in1_state )
diff --git a/src/mame/drivers/3do.c b/src/mame/drivers/3do.c
index d175aaa5b7b..952b84ac0b1 100644
--- a/src/mame/drivers/3do.c
+++ b/src/mame/drivers/3do.c
@@ -245,7 +245,7 @@ ROM_END
***************************************************************************/
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
-CONS( 1991, 3do, 0, 0, 3do, 3do, _3do_state, 0, "3DO", "3DO (NTSC)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_BIOS_ROOT )
-CONS( 1991, 3do_pal, 3do, 0, 3do_pal, 3do, _3do_state, 0, "3DO", "3DO (PAL)", GAME_NOT_WORKING | GAME_NO_SOUND )
+CONS( 1991, 3do, 0, 0, 3do, 3do, driver_device, 0, "3DO", "3DO (NTSC)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_BIOS_ROOT )
+CONS( 1991, 3do_pal, 3do, 0, 3do_pal, 3do, driver_device, 0, "3DO", "3DO (PAL)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, orbatak, 3do, 3do, 3do, _3do_state, 0, ROT0, "<unknown>", "Orbatak (prototype)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, orbatak, 3do, 3do, 3do, driver_device, 0, ROT0, "<unknown>", "Orbatak (prototype)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/40love.c b/src/mame/drivers/40love.c
index 37e72343a27..29e1f9a042d 100644
--- a/src/mame/drivers/40love.c
+++ b/src/mame/drivers/40love.c
@@ -567,29 +567,27 @@ READ8_MEMBER(fortyl_state::undoukai_mcu_status_r)
/***************************************************************************/
-static DRIVER_INIT( undoukai )
+DRIVER_INIT_MEMBER(fortyl_state,undoukai)
{
- fortyl_state *state = machine.driver_data<fortyl_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
+ UINT8 *ROM = memregion("maincpu")->base();
+ membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
- state->m_pix_color[0] = 0x000;
- state->m_pix_color[1] = 0x1e3;
- state->m_pix_color[2] = 0x16c;
- state->m_pix_color[3] = 0x1ec;
+ m_pix_color[0] = 0x000;
+ m_pix_color[1] = 0x1e3;
+ m_pix_color[2] = 0x16c;
+ m_pix_color[3] = 0x1ec;
}
-static DRIVER_INIT( 40love )
+DRIVER_INIT_MEMBER(fortyl_state,40love)
{
- fortyl_state *state = machine.driver_data<fortyl_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
+ UINT8 *ROM = memregion("maincpu")->base();
+ membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
#if 0
/* character ROM hack
to show a white line on the opponent side */
- UINT8 *ROM = state->memregion("gfx2")->base();
+ UINT8 *ROM = memregion("gfx2")->base();
int adr = 0x10 * 0x022b;
ROM[adr + 0x000a] = 0x00;
ROM[adr + 0x000b] = 0x00;
@@ -597,10 +595,10 @@ static DRIVER_INIT( 40love )
ROM[adr + 0x400b] = 0x00;
#endif
- state->m_pix_color[0] = 0x000;
- state->m_pix_color[1] = 0x1e3;
- state->m_pix_color[2] = 0x16c;
- state->m_pix_color[3] = 0x1ec;
+ m_pix_color[0] = 0x000;
+ m_pix_color[1] = 0x1e3;
+ m_pix_color[2] = 0x16c;
+ m_pix_color[3] = 0x1ec;
}
/***************************************************************************/
diff --git a/src/mame/drivers/4enraya.c b/src/mame/drivers/4enraya.c
index 8a48768c03d..d990715d565 100644
--- a/src/mame/drivers/4enraya.c
+++ b/src/mame/drivers/4enraya.c
@@ -389,12 +389,11 @@ ROM_START(unkpacg)
ROM_LOAD( "5.u18", 0x0000, 0x2000, CRC(44f272d2) SHA1(b39cbc1f290d9fb2453396906e4da4a682c41ef4) )
ROM_END
-static DRIVER_INIT( unkpacg )
+DRIVER_INIT_MEMBER(_4enraya_state,unkpacg)
{
- _4enraya_state *state = machine.driver_data<_4enraya_state>();
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
- state->m_snd_latch_bit = 2;
+ m_snd_latch_bit = 2;
{
for(int i=0x8000;i<0xa000;++i)
@@ -404,5 +403,5 @@ static DRIVER_INIT( unkpacg )
}
}
-GAME( 1990, 4enraya, 0, 4enraya, 4enraya, _4enraya_state, 0, ROT0, "IDSA", "4 En Raya", GAME_SUPPORTS_SAVE )
+GAME( 1990, 4enraya, 0, 4enraya, 4enraya, driver_device, 0, ROT0, "IDSA", "4 En Raya", GAME_SUPPORTS_SAVE )
GAME( 199?, unkpacg, 0, unkpacg, unkpacg, _4enraya_state, unkpacg, ROT0, "<unknown>", "unknown Pac-Man gambling game", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/4roses.c b/src/mame/drivers/4roses.c
index 905c314dc5d..297ebcc6532 100644
--- a/src/mame/drivers/4roses.c
+++ b/src/mame/drivers/4roses.c
@@ -186,6 +186,7 @@ public:
_4roses_state(const machine_config &mconfig, device_type type, const char *tag)
: funworld_state(mconfig, type, tag) { }
+ DECLARE_DRIVER_INIT(4roses);
};
@@ -459,7 +460,7 @@ ROM_END
* Driver Initialization *
**************************/
-static DRIVER_INIT( 4roses )
+DRIVER_INIT_MEMBER(_4roses_state,4roses)
{
}
diff --git a/src/mame/drivers/5clown.c b/src/mame/drivers/5clown.c
index 7459034d119..9ada67b567b 100644
--- a/src/mame/drivers/5clown.c
+++ b/src/mame/drivers/5clown.c
@@ -482,6 +482,7 @@ public:
DECLARE_READ8_MEMBER(pia0_b_r);
DECLARE_READ8_MEMBER(pia1_b_r);
DECLARE_WRITE8_MEMBER(fclown_ay8910_w);
+ DECLARE_DRIVER_INIT(fclown);
};
@@ -1204,13 +1205,12 @@ ROM_END
* Driver Init *
*************************/
-static DRIVER_INIT( fclown )
+DRIVER_INIT_MEMBER(_5clown_state,fclown)
{
- _5clown_state *state = machine.driver_data<_5clown_state>();
/* Decrypting main program */
int x;
- UINT8 *src = state->memregion( "maincpu" )->base();
+ UINT8 *src = memregion( "maincpu" )->base();
for (x = 0x0000; x < 0x10000; x++)
{
@@ -1220,8 +1220,8 @@ static DRIVER_INIT( fclown )
/* Decrypting GFX by segments */
- UINT8 *gfx1_src = machine.root_device().memregion( "gfx1" )->base();
- UINT8 *gfx2_src = machine.root_device().memregion( "gfx2" )->base();
+ UINT8 *gfx1_src = machine().root_device().memregion( "gfx1" )->base();
+ UINT8 *gfx2_src = machine().root_device().memregion( "gfx2" )->base();
for (x = 0x2000; x < 0x3000; x++)
{
@@ -1241,7 +1241,7 @@ static DRIVER_INIT( fclown )
/* Decrypting sound samples */
- UINT8 *samples_src = machine.root_device().memregion( "oki6295" )->base();
+ UINT8 *samples_src = machine().root_device().memregion( "oki6295" )->base();
for (x = 0x0000; x < 0x10000; x++)
{
@@ -1259,7 +1259,7 @@ static DRIVER_INIT( fclown )
/* Assigning AY-3-8910 sound device */
- state->m_ay8910 = machine.device("ay8910");
+ m_ay8910 = machine().device("ay8910");
}
diff --git a/src/mame/drivers/8080bw.c b/src/mame/drivers/8080bw.c
index 62d7f755424..7a7cff72475 100644
--- a/src/mame/drivers/8080bw.c
+++ b/src/mame/drivers/8080bw.c
@@ -2165,11 +2165,11 @@ MACHINE_CONFIG_DERIVED_CLASS( vortex, mw8080bw_root, _8080bw_state )
MACHINE_CONFIG_END
/* decrypt function for vortex */
-static DRIVER_INIT( vortex )
+DRIVER_INIT_MEMBER(_8080bw_state,vortex)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- int length = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *buf1 = auto_alloc_array(machine, UINT8, length);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ int length = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *buf1 = auto_alloc_array(machine(), UINT8, length);
UINT32 x;
for (x = 0; x < length; x++)
{
@@ -2211,7 +2211,7 @@ static DRIVER_INIT( vortex )
memcpy(rom, buf1, length);
- auto_free(machine, buf1);
+ auto_free(machine(), buf1);
}
@@ -2550,11 +2550,11 @@ MACHINE_CONFIG_DERIVED_CLASS( invmulti, invaders, _8080bw_state )
MACHINE_CONFIG_END
-static DRIVER_INIT( invmulti )
+DRIVER_INIT_MEMBER(_8080bw_state,invmulti)
{
- UINT8 *src = machine.root_device().memregion("user1")->base();
- int len = machine.root_device().memregion("user1")->bytes();
- UINT8 *dest = machine.root_device().memregion("maincpu")->base();
+ UINT8 *src = machine().root_device().memregion("user1")->base();
+ int len = machine().root_device().memregion("user1")->bytes();
+ UINT8 *dest = machine().root_device().memregion("maincpu")->base();
// decrypt rom
for (int i = 0; i < len; i++)
@@ -3698,86 +3698,86 @@ ROM_END
/* board # rom parent machine inp */
/* Taito games */
-GAMEL(1978, sitv, invaders, invaders, sitv, mw8080bw_state, 0, ROT270, "Taito", "Space Invaders (TV Version)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAME( 1979, sicv, invaders, invadpt2, sicv, _8080bw_state, 0, ROT270, "Taito", "Space Invaders (CV Version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1978, sisv, invaders, invadpt2, sicv, _8080bw_state, 0, ROT270, "Taito", "Space Invaders (SV Version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1978, sisv2, invaders, invadpt2, sicv, _8080bw_state, 0, ROT270, "Taito", "Space Invaders (SV Version 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1978, spacerng, invaders, invadpt2, sitv, _8080bw_state, 0, ROT270, "bootleg (Leisure Time Electronics)", "Space Ranger (bootleg of Space Invaders)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // many modifications
-GAME( 1979, galxwars, 0, invadpt2, galxwars, _8080bw_state, 0, ROT270, "Universal", "Galaxy Wars (Universal set 1)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1979, galxwars2,galxwars, invadpt2, galxwars, _8080bw_state, 0, ROT270, "Universal", "Galaxy Wars (Universal set 2)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1979, galxwarst,galxwars, invadpt2, galxwars, _8080bw_state, 0, ROT270, "Universal (Taito license?)", "Galaxy Wars (Taito?)" , GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) /* Copyright Not Displayed */
-GAME( 1979, starw, galxwars, invaders, galxwars, mw8080bw_state, 0, ROT270, "bootleg", "Star Wars", GAME_SUPPORTS_SAVE )
-GAME( 1979, lrescue, 0, lrescue, lrescue, _8080bw_state, 0, ROT270, "Taito", "Lunar Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, mlander, lrescue, lrescue, lrescue, _8080bw_state, 0, ROT270, "bootleg (Leisure Time Electronics)", "Moon Lander (bootleg of Lunar Rescue)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1978, lrescuem, lrescue, lrescue, lrescue, _8080bw_state, 0, ROT270, "bootleg (Model Racing)", "Lunar Rescue (Model Racing bootleg)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1979, grescue, lrescue, lrescue, lrescue, _8080bw_state, 0, ROT270, "Taito (Universal license?)", "Galaxy Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1979, desterth, lrescue, lrescue, invrvnge, _8080bw_state, 0, ROT270, "bootleg", "Destination Earth", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1979, invadpt2, 0, invadpt2, invadpt2, _8080bw_state, 0, ROT270, "Taito", "Space Invaders Part II (Taito)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1979, invadpt2br,invadpt2,invadpt2, invadpt2, _8080bw_state, 0, ROT270, "Taito do Brasil", "Space Invaders Part II (Brazil)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, invaddlx, invadpt2, invaders, invadpt2, mw8080bw_state, 0, ROT270, "Taito (Midway license)", "Space Invaders Deluxe", GAME_SUPPORTS_SAVE )
+GAMEL(1978, sitv, invaders, invaders, sitv, driver_device, 0, ROT270, "Taito", "Space Invaders (TV Version)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAME( 1979, sicv, invaders, invadpt2, sicv, driver_device, 0, ROT270, "Taito", "Space Invaders (CV Version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1978, sisv, invaders, invadpt2, sicv, driver_device, 0, ROT270, "Taito", "Space Invaders (SV Version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1978, sisv2, invaders, invadpt2, sicv, driver_device, 0, ROT270, "Taito", "Space Invaders (SV Version 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1978, spacerng, invaders, invadpt2, sitv, driver_device, 0, ROT270, "bootleg (Leisure Time Electronics)", "Space Ranger (bootleg of Space Invaders)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // many modifications
+GAME( 1979, galxwars, 0, invadpt2, galxwars, driver_device, 0, ROT270, "Universal", "Galaxy Wars (Universal set 1)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1979, galxwars2,galxwars, invadpt2, galxwars, driver_device, 0, ROT270, "Universal", "Galaxy Wars (Universal set 2)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1979, galxwarst,galxwars, invadpt2, galxwars, driver_device, 0, ROT270, "Universal (Taito license?)", "Galaxy Wars (Taito?)" , GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) /* Copyright Not Displayed */
+GAME( 1979, starw, galxwars, invaders, galxwars, driver_device, 0, ROT270, "bootleg", "Star Wars", GAME_SUPPORTS_SAVE )
+GAME( 1979, lrescue, 0, lrescue, lrescue, driver_device, 0, ROT270, "Taito", "Lunar Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1980, mlander, lrescue, lrescue, lrescue, driver_device, 0, ROT270, "bootleg (Leisure Time Electronics)", "Moon Lander (bootleg of Lunar Rescue)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1978, lrescuem, lrescue, lrescue, lrescue, driver_device, 0, ROT270, "bootleg (Model Racing)", "Lunar Rescue (Model Racing bootleg)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1979, grescue, lrescue, lrescue, lrescue, driver_device, 0, ROT270, "Taito (Universal license?)", "Galaxy Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1979, desterth, lrescue, lrescue, invrvnge, driver_device, 0, ROT270, "bootleg", "Destination Earth", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1979, invadpt2, 0, invadpt2, invadpt2, driver_device, 0, ROT270, "Taito", "Space Invaders Part II (Taito)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1979, invadpt2br,invadpt2,invadpt2, invadpt2, driver_device, 0, ROT270, "Taito do Brasil", "Space Invaders Part II (Brazil)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1980, invaddlx, invadpt2, invaders, invadpt2, driver_device, 0, ROT270, "Taito (Midway license)", "Space Invaders Deluxe", GAME_SUPPORTS_SAVE )
GAME( 1980, vortex, 0, vortex, vortex, _8080bw_state, vortex, ROT270, "Zilec Electronics", "Vortex", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* Encrypted 8080/IO */
-GAME( 1979, cosmo, 0, cosmo, cosmo, _8080bw_state, 0, ROT90, "TDS & MINTS", "Cosmo", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1979, schaser, 0, schaser, schaser, _8080bw_state, 0, ROT270, "Taito", "Space Chaser", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_COLORS )
-GAME( 1979, schasercv,schaser, schasercv,schasercv, _8080bw_state,0, ROT270, "Taito", "Space Chaser (CV version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS )
-GAME( 1979, sflush, 0, sflush, sflush, _8080bw_state, 0, ROT270, "Taito", "Straight Flush",GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NO_COCKTAIL)
-GAME( 1980, lupin3, 0, lupin3, lupin3, _8080bw_state, 0, ROT270, "Taito", "Lupin III (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, lupin3a, lupin3, lupin3a, lupin3a, _8080bw_state, 0, ROT270, "Taito", "Lupin III (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, polaris, 0, polaris, polaris, _8080bw_state, 0, ROT270, "Taito", "Polaris (Latest version)", GAME_SUPPORTS_SAVE )
-GAME( 1980, polarisa, polaris, polaris, polaris, _8080bw_state, 0, ROT270, "Taito", "Polaris (First revision)", GAME_SUPPORTS_SAVE )
-GAME( 1980, polariso, polaris, polaris, polaris, _8080bw_state, 0, ROT270, "Taito", "Polaris (Original version)", GAME_SUPPORTS_SAVE )
-GAME( 1981, polarisbr,polaris, polaris, polaris, _8080bw_state, 0, ROT270, "Taito do Brasil", "Polaris (Brazil)", GAME_SUPPORTS_SAVE )
-GAME( 1980, ballbomb, 0, ballbomb, ballbomb, _8080bw_state, 0, ROT270, "Taito", "Balloon Bomber", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) /* missing clouds */
-GAME( 1980, indianbt, 0, indianbt, indianbt, _8080bw_state, 0, ROT270, "Taito", "Indian Battle", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, steelwkr, 0, steelwkr, steelwkr, _8080bw_state, 0, ROT0 , "Taito", "Steel Worker", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 19??, galactic, 0, invaders, galactic, mw8080bw_state, 0, ROT270, "Taito do Brasil", "Galactica - Batalha Espacial", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // 19?? = 79/80/81, copyright not displayed
-GAME( 19??, spacmiss, galactic, invaders, galactic, mw8080bw_state, 0, ROT270, "bootleg?", "Space Missile - Space Fighting Game", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1979, cosmo, 0, cosmo, cosmo, driver_device, 0, ROT90, "TDS & MINTS", "Cosmo", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1979, schaser, 0, schaser, schaser, driver_device, 0, ROT270, "Taito", "Space Chaser", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_COLORS )
+GAME( 1979, schasercv,schaser, schasercv,schasercv, driver_device,0, ROT270, "Taito", "Space Chaser (CV version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS )
+GAME( 1979, sflush, 0, sflush, sflush, driver_device, 0, ROT270, "Taito", "Straight Flush",GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NO_COCKTAIL)
+GAME( 1980, lupin3, 0, lupin3, lupin3, driver_device, 0, ROT270, "Taito", "Lupin III (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1980, lupin3a, lupin3, lupin3a, lupin3a, driver_device, 0, ROT270, "Taito", "Lupin III (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1980, polaris, 0, polaris, polaris, driver_device, 0, ROT270, "Taito", "Polaris (Latest version)", GAME_SUPPORTS_SAVE )
+GAME( 1980, polarisa, polaris, polaris, polaris, driver_device, 0, ROT270, "Taito", "Polaris (First revision)", GAME_SUPPORTS_SAVE )
+GAME( 1980, polariso, polaris, polaris, polaris, driver_device, 0, ROT270, "Taito", "Polaris (Original version)", GAME_SUPPORTS_SAVE )
+GAME( 1981, polarisbr,polaris, polaris, polaris, driver_device, 0, ROT270, "Taito do Brasil", "Polaris (Brazil)", GAME_SUPPORTS_SAVE )
+GAME( 1980, ballbomb, 0, ballbomb, ballbomb, driver_device, 0, ROT270, "Taito", "Balloon Bomber", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) /* missing clouds */
+GAME( 1980, indianbt, 0, indianbt, indianbt, driver_device, 0, ROT270, "Taito", "Indian Battle", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1980, steelwkr, 0, steelwkr, steelwkr, driver_device, 0, ROT0 , "Taito", "Steel Worker", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 19??, galactic, 0, invaders, galactic, driver_device, 0, ROT270, "Taito do Brasil", "Galactica - Batalha Espacial", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // 19?? = 79/80/81, copyright not displayed
+GAME( 19??, spacmiss, galactic, invaders, galactic, driver_device, 0, ROT270, "bootleg?", "Space Missile - Space Fighting Game", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
/* Misc. manufacturers */
-GAMEL(1980, searthin, invaders, invaders, searthin, mw8080bw_state, 0, ROT270, "bootleg", "Super Earth Invasion (set 1)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1980, searthina,invaders, invaders, searthin, mw8080bw_state, 0, ROT270, "bootleg", "Super Earth Invasion (set 2)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, invadrmr, invaders, invaders, invadrmr, mw8080bw_state, 0, ROT270, "bootleg? (Model Racing)", "Space Invaders (Model Racing)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, spaceatt, invaders, invaders, sicv, mw8080bw_state, 0, ROT270, "bootleg (Video Games GmbH)", "Space Attack", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1980, spaceat2, invaders, invaders, spaceatt, mw8080bw_state, 0, ROT270, "bootleg (Video Games UK)", "Space Attack II", GAME_SUPPORTS_SAVE, layout_invaders ) // bootleg of super invaders
-GAMEL(19??, sinvzen, invaders, invaders, spaceatt, mw8080bw_state, 0, ROT270, "Zenitone-Microsec Ltd", "Super Invaders (Zenitone-Microsec)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, sinvemag, invaders, invaders, sinvemag, mw8080bw_state, 0, ROT270, "bootleg (Emag)", "Super Invaders (Emag)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, tst_invd, invaders, invaders, sicv, mw8080bw_state, 0, ROT0, "<unknown>", "Space Invaders Test ROM", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, alieninv, invaders, invaders, alieninv, mw8080bw_state, 0, ROT270, "bootleg (Margamatics)", "Alien Invasion", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, alieninvp2,invaders,invaders, searthin, mw8080bw_state, 0, ROT270, "bootleg", "Alien Invasion Part II", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, spceking, invaders, invaders, sicv, mw8080bw_state, 0, ROT270, "Leijac Corporation","Space King", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, spcewars, invaders, spcewars, spcewars, _8080bw_state, 0, ROT270, "bootleg? (Sanritsu)", "Space War (Sanritsu)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invaders )
-GAME (19??, astropal, 0, astropal, astropal, _8080bw_state, 0, ROT0, "Sidam?", "Astropal", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAMEL(1978, spacewr3, invaders, spcewars, sicv, _8080bw_state, 0, ROT270, "bootleg", "Space War Part 3", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, invaderl, invaders, invaders, sicv, mw8080bw_state, 0, ROT270, "bootleg? (Logitec)", "Space Invaders (Logitec)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, invader4, invaders, invaders, sicv, mw8080bw_state, 0, ROT270, "bootleg", "Space Invaders Part Four", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1979, jspecter, invaders, invaders, jspecter, mw8080bw_state, 0, ROT270, "bootleg (Jatre)", "Jatre Specter (set 1)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1979, jspecter2,invaders, invaders, jspecter, mw8080bw_state, 0, ROT270, "bootleg (Jatre)", "Jatre Specter (set 2)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1979, cosmicmo, invaders, invaders, cosmicmo, mw8080bw_state, 0, ROT270, "Universal", "Cosmic Monsters", GAME_SUPPORTS_SAVE, layout_cosmicm )
-GAMEL(1979, cosmicm2, invaders, invaders, cosmicmo, mw8080bw_state, 0, ROT270, "Universal", "Cosmic Monsters 2", GAME_SUPPORTS_SAVE, layout_cosmicm )
-GAMEL(19??, superinv, invaders, invaders, superinv, mw8080bw_state, 0, ROT270, "bootleg", "Super Invaders", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, invasion, invaders, invaders, invasion, mw8080bw_state, 0, ROT270, "Sidam", "Invasion (Sidam)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, invasiona,invaders, invaders, invasion, mw8080bw_state, 0, ROT270, "bootleg", "Invasion (bootleg, set 1, normal graphics)", GAME_SUPPORTS_SAVE, layout_invaders ) // has Sidam replaced with 'Ufo Monster Attack' and standard GFX
-GAMEL(19??, invasionb,invaders, invaders, invasion, mw8080bw_state, 0, ROT270, "bootleg", "Invasion (bootleg, set 2, no copyright)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, invasionrz,invaders,invaders, invasion, mw8080bw_state, 0, ROT270, "bootleg (R Z SRL Bologna)", "Invasion (bootleg, set 3, R Z SRL Bologna)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING, layout_invaders )
-GAMEL(19??, invasionrza,invaders,invaders,invasion, mw8080bw_state, 0, ROT270, "bootleg (R Z SRL Bologna)", "Invasion (bootleg, set 4, R Z SRL Bologna)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING, layout_invaders )
-GAME( 19??, darthvdr, invaders, darthvdr, darthvdr, _8080bw_state, 0, ROT270, "bootleg", "Darth Vader", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
-GAME( 1979, moonbase, invadpt2, invadpt2, invadpt2, _8080bw_state, 0, ROT270, "Nichibutsu (Taito license?)", "Moon Base (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // this has a 'Taito Corp' string hidden away in the rom - how do you get it to display?
-GAME( 1979, moonbasea,invadpt2, invadpt2, invadpt2, _8080bw_state, 0, ROT270, "Nichibutsu", "Moon Base (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // this has the same string replaced with Nichibutsu, no other differences
-GAMEL(19??, invrvnge, 0, invrvnge, invrvnge, _8080bw_state, 0, ROT270, "Zenitone-Microsec Ltd.", "Invader's Revenge", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_invrvnge )
-GAMEL(19??, invrvngea,invrvnge, invrvnge, invrvnge, _8080bw_state, 0, ROT270, "Zenitone-Microsec Ltd. (Dutchford license)", "Invader's Revenge (Dutchford)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_invrvnge )
-GAME( 1980, spclaser, 0, invadpt2, spclaser, _8080bw_state, 0, ROT270, "Game Plan (Taito license)", "Space Laser", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1980, intruder, spclaser, invadpt2, spclaser, _8080bw_state, 0, ROT270, "Game Plan (Taito license)", "Intruder", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, laser, spclaser, invadpt2, spclaser, _8080bw_state, 0, ROT270, "bootleg (Leisure Time Electronics Inc.)", "Astro Laser (bootleg of Space Laser)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1979, spcewarl, spclaser, invadpt2, spclaser, _8080bw_state, 0, ROT270, "Leijac Corporation", "Space War (Leijac Corporation)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1979, rollingc, 0, rollingc, rollingc, _8080bw_state, 0, ROT270, "Nichibutsu", "Rolling Crash / Moon Base", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, ozmawars, 0, invaders, ozmawars, mw8080bw_state, 0, ROT270, "SNK", "Ozma Wars (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1979, ozmawars2,ozmawars, invaders, ozmawars, mw8080bw_state, 0, ROT270, "SNK", "Ozma Wars (set 2)", GAME_SUPPORTS_SAVE ) /* Uses Taito's three board color version of Space Invaders PCB */
-GAME( 1979, solfight, ozmawars, invaders, ozmawars, mw8080bw_state, 0, ROT270, "bootleg", "Solar Fight", GAME_SUPPORTS_SAVE )
-GAME( 1979, spaceph, ozmawars, invaders, spaceph, mw8080bw_state, 0, ROT270, "SNK (Zilec Games license?)", "Space Phantoms", GAME_SUPPORTS_SAVE ) // or bootleg?
-GAME( 1979, yosakdon, 0, yosakdon, yosakdon, _8080bw_state, 0, ROT270, "Wing", "Yosaku To Donbei (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* bootleg? */
-GAME( 1979, yosakdona,yosakdon, yosakdon, yosakdon, _8080bw_state, 0, ROT270, "Wing", "Yosaku To Donbei (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* bootleg? */
-GAMEL(1979, shuttlei, 0, shuttlei, shuttlei, _8080bw_state, 0, ROT270, "Omori Electric Co., Ltd.", "Shuttle Invader", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL, layout_shuttlei )
-GAMEL(1979, skylove, 0, shuttlei, skylove, _8080bw_state, 0, ROT270, "Omori Electric Co., Ltd.", "Sky Love", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL, layout_shuttlei )
-GAME (19??, modelr, 0, modelr, invadrmr, _8080bw_state, 0, ROT0, "Model Racing", "unknown Model Racing gun game", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // no titlescreen
+GAMEL(1980, searthin, invaders, invaders, searthin, driver_device, 0, ROT270, "bootleg", "Super Earth Invasion (set 1)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1980, searthina,invaders, invaders, searthin, driver_device, 0, ROT270, "bootleg", "Super Earth Invasion (set 2)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1978, invadrmr, invaders, invaders, invadrmr, driver_device, 0, ROT270, "bootleg? (Model Racing)", "Space Invaders (Model Racing)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1978, spaceatt, invaders, invaders, sicv, driver_device, 0, ROT270, "bootleg (Video Games GmbH)", "Space Attack", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1980, spaceat2, invaders, invaders, spaceatt, driver_device, 0, ROT270, "bootleg (Video Games UK)", "Space Attack II", GAME_SUPPORTS_SAVE, layout_invaders ) // bootleg of super invaders
+GAMEL(19??, sinvzen, invaders, invaders, spaceatt, driver_device, 0, ROT270, "Zenitone-Microsec Ltd", "Super Invaders (Zenitone-Microsec)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(19??, sinvemag, invaders, invaders, sinvemag, driver_device, 0, ROT270, "bootleg (Emag)", "Super Invaders (Emag)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(19??, tst_invd, invaders, invaders, sicv, driver_device, 0, ROT0, "<unknown>", "Space Invaders Test ROM", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(19??, alieninv, invaders, invaders, alieninv, driver_device, 0, ROT270, "bootleg (Margamatics)", "Alien Invasion", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(19??, alieninvp2,invaders,invaders, searthin, driver_device, 0, ROT270, "bootleg", "Alien Invasion Part II", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1978, spceking, invaders, invaders, sicv, driver_device, 0, ROT270, "Leijac Corporation","Space King", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1978, spcewars, invaders, spcewars, spcewars, driver_device, 0, ROT270, "bootleg? (Sanritsu)", "Space War (Sanritsu)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invaders )
+GAME (19??, astropal, 0, astropal, astropal, driver_device, 0, ROT0, "Sidam?", "Astropal", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAMEL(1978, spacewr3, invaders, spcewars, sicv, driver_device, 0, ROT270, "bootleg", "Space War Part 3", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1978, invaderl, invaders, invaders, sicv, driver_device, 0, ROT270, "bootleg? (Logitec)", "Space Invaders (Logitec)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1978, invader4, invaders, invaders, sicv, driver_device, 0, ROT270, "bootleg", "Space Invaders Part Four", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1979, jspecter, invaders, invaders, jspecter, driver_device, 0, ROT270, "bootleg (Jatre)", "Jatre Specter (set 1)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1979, jspecter2,invaders, invaders, jspecter, driver_device, 0, ROT270, "bootleg (Jatre)", "Jatre Specter (set 2)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(1979, cosmicmo, invaders, invaders, cosmicmo, driver_device, 0, ROT270, "Universal", "Cosmic Monsters", GAME_SUPPORTS_SAVE, layout_cosmicm )
+GAMEL(1979, cosmicm2, invaders, invaders, cosmicmo, driver_device, 0, ROT270, "Universal", "Cosmic Monsters 2", GAME_SUPPORTS_SAVE, layout_cosmicm )
+GAMEL(19??, superinv, invaders, invaders, superinv, driver_device, 0, ROT270, "bootleg", "Super Invaders", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(19??, invasion, invaders, invaders, invasion, driver_device, 0, ROT270, "Sidam", "Invasion (Sidam)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(19??, invasiona,invaders, invaders, invasion, driver_device, 0, ROT270, "bootleg", "Invasion (bootleg, set 1, normal graphics)", GAME_SUPPORTS_SAVE, layout_invaders ) // has Sidam replaced with 'Ufo Monster Attack' and standard GFX
+GAMEL(19??, invasionb,invaders, invaders, invasion, driver_device, 0, ROT270, "bootleg", "Invasion (bootleg, set 2, no copyright)", GAME_SUPPORTS_SAVE, layout_invaders )
+GAMEL(19??, invasionrz,invaders,invaders, invasion, driver_device, 0, ROT270, "bootleg (R Z SRL Bologna)", "Invasion (bootleg, set 3, R Z SRL Bologna)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING, layout_invaders )
+GAMEL(19??, invasionrza,invaders,invaders,invasion, driver_device, 0, ROT270, "bootleg (R Z SRL Bologna)", "Invasion (bootleg, set 4, R Z SRL Bologna)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING, layout_invaders )
+GAME( 19??, darthvdr, invaders, darthvdr, darthvdr, driver_device, 0, ROT270, "bootleg", "Darth Vader", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
+GAME( 1979, moonbase, invadpt2, invadpt2, invadpt2, driver_device, 0, ROT270, "Nichibutsu (Taito license?)", "Moon Base (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // this has a 'Taito Corp' string hidden away in the rom - how do you get it to display?
+GAME( 1979, moonbasea,invadpt2, invadpt2, invadpt2, driver_device, 0, ROT270, "Nichibutsu", "Moon Base (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // this has the same string replaced with Nichibutsu, no other differences
+GAMEL(19??, invrvnge, 0, invrvnge, invrvnge, driver_device, 0, ROT270, "Zenitone-Microsec Ltd.", "Invader's Revenge", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_invrvnge )
+GAMEL(19??, invrvngea,invrvnge, invrvnge, invrvnge, driver_device, 0, ROT270, "Zenitone-Microsec Ltd. (Dutchford license)", "Invader's Revenge (Dutchford)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_invrvnge )
+GAME( 1980, spclaser, 0, invadpt2, spclaser, driver_device, 0, ROT270, "Game Plan (Taito license)", "Space Laser", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1980, intruder, spclaser, invadpt2, spclaser, driver_device, 0, ROT270, "Game Plan (Taito license)", "Intruder", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1980, laser, spclaser, invadpt2, spclaser, driver_device, 0, ROT270, "bootleg (Leisure Time Electronics Inc.)", "Astro Laser (bootleg of Space Laser)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1979, spcewarl, spclaser, invadpt2, spclaser, driver_device, 0, ROT270, "Leijac Corporation", "Space War (Leijac Corporation)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1979, rollingc, 0, rollingc, rollingc, driver_device, 0, ROT270, "Nichibutsu", "Rolling Crash / Moon Base", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, ozmawars, 0, invaders, ozmawars, driver_device, 0, ROT270, "SNK", "Ozma Wars (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1979, ozmawars2,ozmawars, invaders, ozmawars, driver_device, 0, ROT270, "SNK", "Ozma Wars (set 2)", GAME_SUPPORTS_SAVE ) /* Uses Taito's three board color version of Space Invaders PCB */
+GAME( 1979, solfight, ozmawars, invaders, ozmawars, driver_device, 0, ROT270, "bootleg", "Solar Fight", GAME_SUPPORTS_SAVE )
+GAME( 1979, spaceph, ozmawars, invaders, spaceph, driver_device, 0, ROT270, "SNK (Zilec Games license?)", "Space Phantoms", GAME_SUPPORTS_SAVE ) // or bootleg?
+GAME( 1979, yosakdon, 0, yosakdon, yosakdon, driver_device, 0, ROT270, "Wing", "Yosaku To Donbei (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* bootleg? */
+GAME( 1979, yosakdona,yosakdon, yosakdon, yosakdon, driver_device, 0, ROT270, "Wing", "Yosaku To Donbei (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* bootleg? */
+GAMEL(1979, shuttlei, 0, shuttlei, shuttlei, driver_device, 0, ROT270, "Omori Electric Co., Ltd.", "Shuttle Invader", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL, layout_shuttlei )
+GAMEL(1979, skylove, 0, shuttlei, skylove, driver_device, 0, ROT270, "Omori Electric Co., Ltd.", "Sky Love", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL, layout_shuttlei )
+GAME (19??, modelr, 0, modelr, invadrmr, driver_device, 0, ROT0, "Model Racing", "unknown Model Racing gun game", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // no titlescreen
GAME( 2002, invmulti, 0, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.03D)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 2002, invmultim3a, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.03A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/88games.c b/src/mame/drivers/88games.c
index e546d7e72db..41f096389fe 100644
--- a/src/mame/drivers/88games.c
+++ b/src/mame/drivers/88games.c
@@ -589,6 +589,6 @@ ROM_END
*
*************************************/
-GAME( 1988, 88games, 0, 88games, 88games, _88games_state, 0, ROT0, "Konami", "'88 Games", GAME_SUPPORTS_SAVE )
-GAME( 1988, konami88, 88games, 88games, 88games, _88games_state, 0, ROT0, "Konami", "Konami '88", GAME_SUPPORTS_SAVE )
-GAME( 1988, hypsptsp, 88games, 88games, 88games, _88games_state, 0, ROT0, "Konami", "Hyper Sports Special (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, 88games, 0, 88games, 88games, driver_device, 0, ROT0, "Konami", "'88 Games", GAME_SUPPORTS_SAVE )
+GAME( 1988, konami88, 88games, 88games, 88games, driver_device, 0, ROT0, "Konami", "Konami '88", GAME_SUPPORTS_SAVE )
+GAME( 1988, hypsptsp, 88games, 88games, 88games, driver_device, 0, ROT0, "Konami", "Hyper Sports Special (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ace.c b/src/mame/drivers/ace.c
index aabe7b665bd..fc89272fd70 100644
--- a/src/mame/drivers/ace.c
+++ b/src/mame/drivers/ace.c
@@ -393,4 +393,4 @@ ROM_START( ace )
ROM_END
-GAME( 1976, ace, 0, ace, ace, aceal_state, 0, ROT0, "Allied Leisure", "Ace", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
+GAME( 1976, ace, 0, ace, ace, driver_device, 0, ROT0, "Allied Leisure", "Ace", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
diff --git a/src/mame/drivers/acefruit.c b/src/mame/drivers/acefruit.c
index ab5300fac53..8ae48d1ee27 100644
--- a/src/mame/drivers/acefruit.c
+++ b/src/mame/drivers/acefruit.c
@@ -36,6 +36,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(sidewndr_payout_r);
DECLARE_CUSTOM_INPUT_MEMBER(starspnr_coinage_r);
DECLARE_CUSTOM_INPUT_MEMBER(starspnr_payout_r);
+ DECLARE_DRIVER_INIT(sidewndr);
};
@@ -602,9 +603,9 @@ static MACHINE_CONFIG_START( acefruit, acefruit_state )
/* sound hardware */
MACHINE_CONFIG_END
-static DRIVER_INIT( sidewndr )
+DRIVER_INIT_MEMBER(acefruit_state,sidewndr)
{
- UINT8 *ROM = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *ROM = machine().root_device().memregion( "maincpu" )->base();
/* replace "ret nc" ( 0xd0 ) with "di" */
ROM[ 0 ] = 0xf3;
/* this is either a bad dump or the cpu core should set the carry flag on reset */
@@ -741,8 +742,8 @@ ROM_END
GAMEL( 1981?, sidewndr, 0, acefruit, sidewndr, acefruit_state, sidewndr, ROT270, "ACE", "Sidewinder", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND, layout_sidewndr )
-GAMEL( 1981?, spellbnd, 0, acefruit, spellbnd, acefruit_state, 0, ROT270, "ACE", "Spellbound", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND, layout_sidewndr )
-GAME ( 1982?, starspnr, 0, acefruit, starspnr, acefruit_state, 0, ROT270, "ACE", "Starspinner (Dutch/Nederlands)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME ( 1982?, acefruit, 0, acefruit, spellbnd, acefruit_state, 0, ROT270, "ACE", "Silhouette", GAME_NOT_WORKING | GAME_NO_SOUND ) // inputs and video in bonus game need fixing on this one
+GAMEL( 1981?, spellbnd, 0, acefruit, spellbnd, driver_device, 0, ROT270, "ACE", "Spellbound", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND, layout_sidewndr )
+GAME ( 1982?, starspnr, 0, acefruit, starspnr, driver_device, 0, ROT270, "ACE", "Starspinner (Dutch/Nederlands)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME ( 1982?, acefruit, 0, acefruit, spellbnd, driver_device, 0, ROT270, "ACE", "Silhouette", GAME_NOT_WORKING | GAME_NO_SOUND ) // inputs and video in bonus game need fixing on this one
// not dumped: Magnum?
diff --git a/src/mame/drivers/aces1.c b/src/mame/drivers/aces1.c
index 2497eb4b865..ac34710cbbe 100644
--- a/src/mame/drivers/aces1.c
+++ b/src/mame/drivers/aces1.c
@@ -143,9 +143,7 @@ public:
// devices
required_device<cpu_device> m_maincpu;
-
-protected:
-
+ DECLARE_DRIVER_INIT(aces1);
};
@@ -693,7 +691,7 @@ ROM_END
-DRIVER_INIT( aces1 )
+DRIVER_INIT_MEMBER(aces1_state,aces1)
{
}
diff --git a/src/mame/drivers/acesp.c b/src/mame/drivers/acesp.c
index afd51160ce2..79a5bed73ed 100644
--- a/src/mame/drivers/acesp.c
+++ b/src/mame/drivers/acesp.c
@@ -30,6 +30,9 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(ace_sp);
+ DECLARE_DRIVER_INIT(ace_cr);
};
@@ -3892,12 +3895,12 @@ ROM_END
// mpu4.c
extern void descramble_crystal( UINT8* region, int start, int end, UINT8 extra_xor);
-DRIVER_INIT( ace_cr )
+DRIVER_INIT_MEMBER(ace_sp_state,ace_cr)
{
- descramble_crystal(machine.root_device().memregion( "maincpu" )->base(), 0x0000, 0x10000, 0x00);
+ descramble_crystal(machine().root_device().memregion( "maincpu" )->base(), 0x0000, 0x10000, 0x00);
}
-DRIVER_INIT( ace_sp )
+DRIVER_INIT_MEMBER(ace_sp_state,ace_sp)
{
}
diff --git a/src/mame/drivers/acommand.c b/src/mame/drivers/acommand.c
index 7c7f58262d1..38fe26ffc4a 100644
--- a/src/mame/drivers/acommand.c
+++ b/src/mame/drivers/acommand.c
@@ -665,4 +665,4 @@ ROM_START( acommand )
ROM_LOAD( "jalmr17.bin", 0x080000, 0x080000, CRC(9d428fb7) SHA1(02f72938d73db932bd217620a175a05215f6016a) )
ROM_END
-GAME( 1994, acommand, 0, acommand, acommand, acommand_state, 0, ROT0, "Jaleco", "Alien Command" , GAME_NOT_WORKING | GAME_MECHANICAL)
+GAME( 1994, acommand, 0, acommand, acommand, driver_device, 0, ROT0, "Jaleco", "Alien Command" , GAME_NOT_WORKING | GAME_MECHANICAL)
diff --git a/src/mame/drivers/actfancr.c b/src/mame/drivers/actfancr.c
index ff047307621..a31c0cd08f8 100644
--- a/src/mame/drivers/actfancr.c
+++ b/src/mame/drivers/actfancr.c
@@ -594,8 +594,8 @@ ROM_END
/******************************************************************************/
-GAME( 1989, actfancr, 0, actfancr, actfancr, actfancr_state, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, actfancr1,actfancr, actfancr, actfancr, actfancr_state, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, actfancrj,actfancr, actfancr, actfancr, actfancr_state, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (Japan revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, triothep, 0, triothep, triothep, actfancr_state, 0, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, triothepj,triothep, triothep, triothep, actfancr_state, 0, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, actfancr, 0, actfancr, actfancr, driver_device, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, actfancr1,actfancr, actfancr, actfancr, driver_device, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, actfancrj,actfancr, actfancr, actfancr, driver_device, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (Japan revision 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, triothep, 0, triothep, triothep, driver_device, 0, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (World)", GAME_SUPPORTS_SAVE )
+GAME( 1989, triothepj,triothep, triothep, triothep, driver_device, 0, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/adp.c b/src/mame/drivers/adp.c
index 23ce07b85a7..6619c0b4c0e 100644
--- a/src/mame/drivers/adp.c
+++ b/src/mame/drivers/adp.c
@@ -864,11 +864,11 @@ ROM_START( fstation )
ROM_END
-GAME( 1990, backgamn, 0, backgamn, skattv, adp_state, 0, ROT0, "ADP", "Backgammon", GAME_NOT_WORKING )
-GAME( 1993, quickjac, 0, quickjac, skattv, adp_state, 0, ROT0, "ADP", "Quick Jack", GAME_NOT_WORKING )
-GAME( 1994, skattv, 0, skattv, skattv, adp_state, 0, ROT0, "ADP", "Skat TV", GAME_NOT_WORKING )
-GAME( 1995, skattva, skattv, skattv, skattv, adp_state, 0, ROT0, "ADP", "Skat TV (version TS3)", GAME_NOT_WORKING )
-GAME( 1997, fashiong, 0, fashiong, skattv, adp_state, 0, ROT0, "ADP", "Fashion Gambler (set 1)", GAME_NOT_WORKING )
-GAME( 1997, fashiong2, fashiong, fashiong, skattv, adp_state, 0, ROT0, "ADP", "Fashion Gambler (set 2)", GAME_NOT_WORKING )
-GAME( 1999, funlddlx, 0, funland, skattv, adp_state, 0, ROT0, "Stella", "Funny Land de Luxe", GAME_NOT_WORKING )
-GAME( 2000, fstation, 0, fstation, skattv, adp_state, 0, ROT0, "ADP", "Fun Station Spielekoffer 9 Spiele", GAME_NOT_WORKING )
+GAME( 1990, backgamn, 0, backgamn, skattv, driver_device, 0, ROT0, "ADP", "Backgammon", GAME_NOT_WORKING )
+GAME( 1993, quickjac, 0, quickjac, skattv, driver_device, 0, ROT0, "ADP", "Quick Jack", GAME_NOT_WORKING )
+GAME( 1994, skattv, 0, skattv, skattv, driver_device, 0, ROT0, "ADP", "Skat TV", GAME_NOT_WORKING )
+GAME( 1995, skattva, skattv, skattv, skattv, driver_device, 0, ROT0, "ADP", "Skat TV (version TS3)", GAME_NOT_WORKING )
+GAME( 1997, fashiong, 0, fashiong, skattv, driver_device, 0, ROT0, "ADP", "Fashion Gambler (set 1)", GAME_NOT_WORKING )
+GAME( 1997, fashiong2, fashiong, fashiong, skattv, driver_device, 0, ROT0, "ADP", "Fashion Gambler (set 2)", GAME_NOT_WORKING )
+GAME( 1999, funlddlx, 0, funland, skattv, driver_device, 0, ROT0, "Stella", "Funny Land de Luxe", GAME_NOT_WORKING )
+GAME( 2000, fstation, 0, fstation, skattv, driver_device, 0, ROT0, "ADP", "Fun Station Spielekoffer 9 Spiele", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/aeroboto.c b/src/mame/drivers/aeroboto.c
index 26b4038fd62..8d49fce9699 100644
--- a/src/mame/drivers/aeroboto.c
+++ b/src/mame/drivers/aeroboto.c
@@ -351,5 +351,5 @@ ROM_END
-GAME( 1984, formatz, 0, formatz, formatz, aeroboto_state, 0, ROT0, "Jaleco", "Formation Z", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, aeroboto, formatz, formatz, formatz, aeroboto_state, 0, ROT0, "Jaleco (Williams license)", "Aeroboto", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, formatz, 0, formatz, formatz, driver_device, 0, ROT0, "Jaleco", "Formation Z", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, aeroboto, formatz, formatz, formatz, driver_device, 0, ROT0, "Jaleco (Williams license)", "Aeroboto", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index b10577abce3..0bb730c3900 100644
--- a/src/mame/drivers/aerofgt.c
+++ b/src/mame/drivers/aerofgt.c
@@ -2494,25 +2494,25 @@ ROM_START( wbbc97 )
ROM_END
-GAME( 1990, spinlbrk, 0, spinlbrk, spinlbrk, aerofgt_state, 0, ROT0, "V-System Co.", "Spinal Breakers (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1990, spinlbrku,spinlbrk, spinlbrk, spinlbrku, aerofgt_state,0, ROT0, "V-System Co.", "Spinal Breakers (US)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1990, spinlbrkj,spinlbrk, spinlbrk, spinlbrk, aerofgt_state, 0, ROT0, "V-System Co.", "Spinal Breakers (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, pspikes, 0, pspikes, pspikes, aerofgt_state, 0, ROT0, "Video System Co.", "Power Spikes (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, pspikesk, pspikes, pspikes, pspikes, aerofgt_state, 0, ROT0, "Video System Co.", "Power Spikes (Korea)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, svolly91, pspikes, pspikes, pspikes, aerofgt_state, 0, ROT0, "Video System Co.", "Super Volley '91 (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, pspikesb, pspikes, pspikesb, pspikesb, aerofgt_state, 0, ROT0, "bootleg", "Power Spikes (bootleg)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, spikes91, pspikes, spikes91, pspikes, aerofgt_state, 0, ROT0, "bootleg", "1991 Spikes (Italian bootleg)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_NO_COCKTAIL )
-GAME( 1991, spikes91a,pspikes, spikes91, pspikes, aerofgt_state, 0, ROT0, "bootleg", "1991 Spikes (Italian bootleg, set 2)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING | GAME_NO_SOUND | GAME_NO_COCKTAIL )
-GAME( 1991, pspikesc, pspikes, pspikesc, pspikesc, aerofgt_state, 0, ROT0, "bootleg", "Power Spikes (China)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1991, karatblz, 0, karatblz, karatblz, aerofgt_state, 0, ROT0, "Video System Co.", "Karate Blazers (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, karatblzu,karatblz, karatblz, karatblz, aerofgt_state, 0, ROT0, "Video System Co.", "Karate Blazers (US)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, karatblzj,karatblz, karatblz, karatblz, aerofgt_state, 0, ROT0, "Video System Co.", "Karate Blazers (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, turbofrc, 0, turbofrc, turbofrc, aerofgt_state, 0, ROT270, "Video System Co.", "Turbo Force (old revision)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1990, spinlbrk, 0, spinlbrk, spinlbrk, driver_device, 0, ROT0, "V-System Co.", "Spinal Breakers (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1990, spinlbrku,spinlbrk, spinlbrk, spinlbrku, driver_device,0, ROT0, "V-System Co.", "Spinal Breakers (US)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1990, spinlbrkj,spinlbrk, spinlbrk, spinlbrk, driver_device, 0, ROT0, "V-System Co.", "Spinal Breakers (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1991, pspikes, 0, pspikes, pspikes, driver_device, 0, ROT0, "Video System Co.", "Power Spikes (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1991, pspikesk, pspikes, pspikes, pspikes, driver_device, 0, ROT0, "Video System Co.", "Power Spikes (Korea)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1991, svolly91, pspikes, pspikes, pspikes, driver_device, 0, ROT0, "Video System Co.", "Super Volley '91 (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1991, pspikesb, pspikes, pspikesb, pspikesb, driver_device, 0, ROT0, "bootleg", "Power Spikes (bootleg)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1991, spikes91, pspikes, spikes91, pspikes, driver_device, 0, ROT0, "bootleg", "1991 Spikes (Italian bootleg)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_NO_COCKTAIL )
+GAME( 1991, spikes91a,pspikes, spikes91, pspikes, driver_device, 0, ROT0, "bootleg", "1991 Spikes (Italian bootleg, set 2)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING | GAME_NO_SOUND | GAME_NO_COCKTAIL )
+GAME( 1991, pspikesc, pspikes, pspikesc, pspikesc, driver_device, 0, ROT0, "bootleg", "Power Spikes (China)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1991, karatblz, 0, karatblz, karatblz, driver_device, 0, ROT0, "Video System Co.", "Karate Blazers (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1991, karatblzu,karatblz, karatblz, karatblz, driver_device, 0, ROT0, "Video System Co.", "Karate Blazers (US)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1991, karatblzj,karatblz, karatblz, karatblz, driver_device, 0, ROT0, "Video System Co.", "Karate Blazers (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1991, turbofrc, 0, turbofrc, turbofrc, driver_device, 0, ROT270, "Video System Co.", "Turbo Force (old revision)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
// there's also an undumped Turbo Force (new revision). Most notable thing in there is the points value of the rocks in level 6 (5.000 versus 500).
-GAME( 1992, aerofgt, 0, aerofgt, aerofgt, aerofgt_state, 0, ROT270, "Video System Co.", "Aero Fighters", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1992, aerofgtb, aerofgt, aerofgtb, aerofgtb, aerofgt_state, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1992, aerofgtc, aerofgt, aerofgtb, aerofgtb, aerofgt_state, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1992, sonicwi, aerofgt, aerofgtb, aerofgtb, aerofgt_state, 0, ROT270, "Video System Co.", "Sonic Wings (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1992, aerfboot, aerofgt, aerfboot, aerofgtb, aerofgt_state, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1992, aerfboo2, aerofgt, aerfboo2, aerofgtb, aerofgt_state, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1997, wbbc97, 0, wbbc97, wbbc97, aerofgt_state, 0, ROT0, "Comad", "Beach Festival World Championship 1997", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1992, aerofgt, 0, aerofgt, aerofgt, driver_device, 0, ROT270, "Video System Co.", "Aero Fighters", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1992, aerofgtb, aerofgt, aerofgtb, aerofgtb, driver_device, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1992, aerofgtc, aerofgt, aerofgtb, aerofgtb, driver_device, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1992, sonicwi, aerofgt, aerofgtb, aerofgtb, driver_device, 0, ROT270, "Video System Co.", "Sonic Wings (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1992, aerfboot, aerofgt, aerfboot, aerofgtb, driver_device, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1992, aerfboo2, aerofgt, aerfboo2, aerofgtb, driver_device, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1997, wbbc97, 0, wbbc97, wbbc97, driver_device, 0, ROT0, "Comad", "Beach Festival World Championship 1997", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/airbustr.c b/src/mame/drivers/airbustr.c
index cadf1965159..7a258f6218d 100644
--- a/src/mame/drivers/airbustr.c
+++ b/src/mame/drivers/airbustr.c
@@ -786,10 +786,9 @@ ROM_END
/* Driver Initialization */
-static DRIVER_INIT( airbustr )
+DRIVER_INIT_MEMBER(airbustr_state,airbustr)
{
- airbustr_state *state = machine.driver_data<airbustr_state>();
- machine.device("master")->memory().space(AS_PROGRAM)->install_read_handler(0xe000, 0xefff, read8_delegate(FUNC(airbustr_state::devram_r),state)); // protection device lives here
+ machine().device("master")->memory().space(AS_PROGRAM)->install_read_handler(0xe000, 0xefff, read8_delegate(FUNC(airbustr_state::devram_r),this)); // protection device lives here
}
@@ -797,4 +796,4 @@ static DRIVER_INIT( airbustr )
GAME( 1990, airbustr, 0, airbustr, airbustr, airbustr_state, airbustr, ROT0, "Kaneko (Namco license)", "Air Buster: Trouble Specialty Raid Unit (World)", GAME_SUPPORTS_SAVE ) // 891220
GAME( 1990, airbustrj, airbustr, airbustr, airbustrj, airbustr_state,airbustr, ROT0, "Kaneko (Namco license)", "Air Buster: Trouble Specialty Raid Unit (Japan)", GAME_SUPPORTS_SAVE) // 891229
-GAME( 1990, airbustrb, airbustr, airbustrb,airbustrj, airbustr_state,0, ROT0, "bootleg", "Air Buster: Trouble Specialty Raid Unit (bootleg)", GAME_SUPPORTS_SAVE) // based on Japan set (891229)
+GAME( 1990, airbustrb, airbustr, airbustrb,airbustrj, driver_device,0, ROT0, "bootleg", "Air Buster: Trouble Specialty Raid Unit (bootleg)", GAME_SUPPORTS_SAVE) // based on Japan set (891229)
diff --git a/src/mame/drivers/ajax.c b/src/mame/drivers/ajax.c
index 5cdb31d9529..250d58a5c25 100644
--- a/src/mame/drivers/ajax.c
+++ b/src/mame/drivers/ajax.c
@@ -412,6 +412,6 @@ ROM_START( ajaxj )
ROM_END
-GAME( 1987, ajax, 0, ajax, ajax, ajax_state, 0, ROT90, "Konami", "Ajax", GAME_SUPPORTS_SAVE )
-GAME( 1987, typhoon, ajax, ajax, ajax, ajax_state, 0, ROT90, "Konami", "Typhoon", GAME_SUPPORTS_SAVE )
-GAME( 1987, ajaxj, ajax, ajax, ajax, ajax_state, 0, ROT90, "Konami", "Ajax (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ajax, 0, ajax, ajax, driver_device, 0, ROT90, "Konami", "Ajax", GAME_SUPPORTS_SAVE )
+GAME( 1987, typhoon, ajax, ajax, ajax, driver_device, 0, ROT90, "Konami", "Typhoon", GAME_SUPPORTS_SAVE )
+GAME( 1987, ajaxj, ajax, ajax, ajax, driver_device, 0, ROT90, "Konami", "Ajax (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/albazc.c b/src/mame/drivers/albazc.c
index fd73f2bff4f..a7d55daeb42 100644
--- a/src/mame/drivers/albazc.c
+++ b/src/mame/drivers/albazc.c
@@ -309,4 +309,4 @@ ROM_START( hanaroku )
ROM_END
-GAME( 1988, hanaroku, 0, hanaroku, hanaroku, albazc_state, 0, ROT0, "Alba", "Hanaroku", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1988, hanaroku, 0, hanaroku, hanaroku, driver_device, 0, ROT0, "Alba", "Hanaroku", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/albazg.c b/src/mame/drivers/albazg.c
index 02f790e89bf..60d662c528f 100644
--- a/src/mame/drivers/albazg.c
+++ b/src/mame/drivers/albazg.c
@@ -432,4 +432,4 @@ ROM_START( yumefuda )
ROM_LOAD("zg1-007.u13", 0x000, 0x100, NO_DUMP ) //could be either PROM or PAL
ROM_END
-GAME( 1991, yumefuda, 0, yumefuda, yumefuda, albazg_state, 0, ROT0, "Alba", "Yumefuda [BET]", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1991, yumefuda, 0, yumefuda, yumefuda, driver_device, 0, ROT0, "Alba", "Yumefuda [BET]", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/aleck64.c b/src/mame/drivers/aleck64.c
index 23e64da4010..74bd4874038 100644
--- a/src/mame/drivers/aleck64.c
+++ b/src/mame/drivers/aleck64.c
@@ -835,9 +835,9 @@ static MACHINE_CONFIG_START( aleck64, n64_state )
MCFG_N64_PERIPHS_ADD("rcp");
MACHINE_CONFIG_END
-static DRIVER_INIT( aleck64 )
+DRIVER_INIT_MEMBER(n64_state,aleck64)
{
- UINT8 *rom = machine.root_device().memregion("user2")->base();
+ UINT8 *rom = machine().root_device().memregion("user2")->base();
rom[0x67c] = 0;
rom[0x67d] = 0;
diff --git a/src/mame/drivers/alg.c b/src/mame/drivers/alg.c
index 4066dda6790..9bc517add99 100644
--- a/src/mame/drivers/alg.c
+++ b/src/mame/drivers/alg.c
@@ -51,6 +51,11 @@ public:
DECLARE_WRITE8_MEMBER(alg_cia_0_portb_w);
DECLARE_READ8_MEMBER(alg_cia_1_porta_r);
DECLARE_WRITE8_MEMBER(alg_cia_1_porta_w);
+ DECLARE_DRIVER_INIT(aplatoon);
+ DECLARE_DRIVER_INIT(palr3);
+ DECLARE_DRIVER_INIT(palr1);
+ DECLARE_DRIVER_INIT(none);
+ DECLARE_DRIVER_INIT(palr6);
};
static TIMER_CALLBACK( response_timer );
@@ -715,11 +720,11 @@ static void alg_init(running_machine &machine)
*
*************************************/
-static DRIVER_INIT( palr1 )
+DRIVER_INIT_MEMBER(alg_state,palr1)
{
- UINT32 length = machine.root_device().memregion("user2")->bytes();
- UINT8 *rom = machine.root_device().memregion("user2")->base();
- UINT8 *original = auto_alloc_array(machine, UINT8, length);
+ UINT32 length = machine().root_device().memregion("user2")->bytes();
+ UINT8 *rom = machine().root_device().memregion("user2")->base();
+ UINT8 *original = auto_alloc_array(machine(), UINT8, length);
UINT32 srcaddr;
memcpy(original, rom, length);
@@ -730,16 +735,16 @@ static DRIVER_INIT( palr1 )
if (srcaddr & 0x8000) dstaddr ^= 0x4000;
rom[dstaddr] = original[srcaddr];
}
- auto_free(machine, original);
+ auto_free(machine(), original);
- alg_init(machine);
+ alg_init(machine());
}
-static DRIVER_INIT( palr3 )
+DRIVER_INIT_MEMBER(alg_state,palr3)
{
- UINT32 length = machine.root_device().memregion("user2")->bytes();
- UINT8 *rom = machine.root_device().memregion("user2")->base();
- UINT8 *original = auto_alloc_array(machine, UINT8, length);
+ UINT32 length = machine().root_device().memregion("user2")->bytes();
+ UINT8 *rom = machine().root_device().memregion("user2")->base();
+ UINT8 *original = auto_alloc_array(machine(), UINT8, length);
UINT32 srcaddr;
memcpy(original, rom, length);
@@ -749,16 +754,16 @@ static DRIVER_INIT( palr3 )
if (srcaddr & 0x2000) dstaddr ^= 0x1000;
rom[dstaddr] = original[srcaddr];
}
- auto_free(machine, original);
+ auto_free(machine(), original);
- alg_init(machine);
+ alg_init(machine());
}
-static DRIVER_INIT( palr6 )
+DRIVER_INIT_MEMBER(alg_state,palr6)
{
- UINT32 length = machine.root_device().memregion("user2")->bytes();
- UINT8 *rom = machine.root_device().memregion("user2")->base();
- UINT8 *original = auto_alloc_array(machine, UINT8, length);
+ UINT32 length = machine().root_device().memregion("user2")->bytes();
+ UINT8 *rom = machine().root_device().memregion("user2")->base();
+ UINT8 *original = auto_alloc_array(machine(), UINT8, length);
UINT32 srcaddr;
memcpy(original, rom, length);
@@ -770,16 +775,16 @@ static DRIVER_INIT( palr6 )
dstaddr ^= 0x20000;
rom[dstaddr] = original[srcaddr];
}
- auto_free(machine, original);
+ auto_free(machine(), original);
- alg_init(machine);
+ alg_init(machine());
}
-static DRIVER_INIT( aplatoon )
+DRIVER_INIT_MEMBER(alg_state,aplatoon)
{
/* NOT DONE TODO FIGURE OUT THE RIGHT ORDER!!!! */
- UINT8 *rom = machine.root_device().memregion("user2")->base();
- UINT8 *decrypted = auto_alloc_array(machine, UINT8, 0x40000);
+ UINT8 *rom = machine().root_device().memregion("user2")->base();
+ UINT8 *decrypted = auto_alloc_array(machine(), UINT8, 0x40000);
int i;
static const int shuffle[] =
@@ -792,12 +797,12 @@ static DRIVER_INIT( aplatoon )
memcpy(decrypted + i * 0x1000, rom + shuffle[i] * 0x1000, 0x1000);
memcpy(rom, decrypted, 0x40000);
logerror("decrypt done\n ");
- alg_init(machine);
+ alg_init(machine());
}
-static DRIVER_INIT( none )
+DRIVER_INIT_MEMBER(alg_state,none)
{
- alg_init(machine);
+ alg_init(machine());
}
diff --git a/src/mame/drivers/alien.c b/src/mame/drivers/alien.c
index 06d5fab63fa..b5475873cea 100644
--- a/src/mame/drivers/alien.c
+++ b/src/mame/drivers/alien.c
@@ -119,4 +119,4 @@ ROM_START( alien )
ROM_END
-GAME( 2005, alien, 0, alien, alien, alien_state, 0, ROT0, "Capcom", "Alien: The Arcade Medal Edition", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2005, alien, 0, alien, alien, driver_device, 0, ROT0, "Capcom", "Alien: The Arcade Medal Edition", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/aliens.c b/src/mame/drivers/aliens.c
index 0dc17e1ab41..2b98d1a93b4 100644
--- a/src/mame/drivers/aliens.c
+++ b/src/mame/drivers/aliens.c
@@ -545,10 +545,10 @@ static KONAMI_SETLINES_CALLBACK( aliens_banking )
device->machine().root_device().membank("bank1")->set_entry(bank);
}
-GAME( 1990, aliens, 0, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (World set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliens2, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (World set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliens3, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (World set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliensu, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliensj, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (Japan set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliensj2, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (Japan set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliensa, aliens, aliens, aliens, aliens_state, 0, ROT0, "Konami", "Aliens (Asia)", GAME_SUPPORTS_SAVE )
+GAME( 1990, aliens, 0, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (World set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1990, aliens2, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (World set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1990, aliens3, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (World set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1990, aliensu, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, aliensj, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (Japan set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1990, aliensj2, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (Japan set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1990, aliensa, aliens, aliens, aliens, driver_device, 0, ROT0, "Konami", "Aliens (Asia)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/allied.c b/src/mame/drivers/allied.c
index b8f6f8f29d7..fe723012510 100644
--- a/src/mame/drivers/allied.c
+++ b/src/mame/drivers/allied.c
@@ -19,6 +19,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(allied);
};
@@ -35,7 +37,7 @@ void allied_state::machine_reset()
{
}
-static DRIVER_INIT( allied )
+DRIVER_INIT_MEMBER(allied_state,allied)
{
}
diff --git a/src/mame/drivers/alpha68k.c b/src/mame/drivers/alpha68k.c
index 093a7b53786..f486ce6f025 100644
--- a/src/mame/drivers/alpha68k.c
+++ b/src/mame/drivers/alpha68k.c
@@ -3140,149 +3140,133 @@ ROM_END
/******************************************************************************/
-static DRIVER_INIT( sstingry )
+DRIVER_INIT_MEMBER(alpha68k_state,sstingry)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x00ff;
- state->m_coin_id = 0x22 | (0x22 << 8);
- state->m_game_id = 0;
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x00ff;
+ m_coin_id = 0x22 | (0x22 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( kyros )
+DRIVER_INIT_MEMBER(alpha68k_state,kyros)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x0012;
- state->m_coin_id = 0x22 | (0x22 << 8);
- state->m_game_id = ALPHA68K_KYROS;
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x0012;
+ m_coin_id = 0x22 | (0x22 << 8);
+ m_game_id = ALPHA68K_KYROS;
}
-static DRIVER_INIT( jongbou )
+DRIVER_INIT_MEMBER(alpha68k_state,jongbou)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0c0000, 0x0c0001, read16_delegate(FUNC(alpha68k_state::jongbou_inputs_r),state));
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x00ff;
- state->m_coin_id = 0x23 | (0x24 << 8);
- state->m_game_id = ALPHA68K_JONGBOU;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0c0000, 0x0c0001, read16_delegate(FUNC(alpha68k_state::jongbou_inputs_r),this));
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x00ff;
+ m_coin_id = 0x23 | (0x24 << 8);
+ m_game_id = ALPHA68K_JONGBOU;
}
-static DRIVER_INIT( paddlema )
+DRIVER_INIT_MEMBER(alpha68k_state,paddlema)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_microcontroller_id = 0;
- state->m_coin_id = 0; // Not needed !
- state->m_game_id = 0;
+ m_microcontroller_id = 0;
+ m_coin_id = 0; // Not needed !
+ m_game_id = 0;
}
-static DRIVER_INIT( timesold )
+DRIVER_INIT_MEMBER(alpha68k_state,timesold)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0;
- state->m_coin_id = 0x22 | (0x22 << 8);
- state->m_game_id = 0;
+ m_invert_controls = 0;
+ m_microcontroller_id = 0;
+ m_coin_id = 0x22 | (0x22 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( timesold1 )
+DRIVER_INIT_MEMBER(alpha68k_state,timesold1)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_invert_controls = 1;
- state->m_microcontroller_id = 0;
- state->m_coin_id = 0x22 | (0x22 << 8);
- state->m_game_id = 0;
+ m_invert_controls = 1;
+ m_microcontroller_id = 0;
+ m_coin_id = 0x22 | (0x22 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( btlfield )
+DRIVER_INIT_MEMBER(alpha68k_state,btlfield)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_invert_controls = 1;
- state->m_microcontroller_id = 0;
- state->m_coin_id = 0x22 | (0x22 << 8);
- state->m_game_id = 0;
+ m_invert_controls = 1;
+ m_microcontroller_id = 0;
+ m_coin_id = 0x22 | (0x22 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( btlfieldb )
+DRIVER_INIT_MEMBER(alpha68k_state,btlfieldb)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_invert_controls = 1;
- state->m_microcontroller_id = 0;
- state->m_coin_id = 0x22 | (0x22 << 8); //not checked
- state->m_game_id = ALPHA68K_BTLFIELDB;
+ m_invert_controls = 1;
+ m_microcontroller_id = 0;
+ m_coin_id = 0x22 | (0x22 << 8); //not checked
+ m_game_id = ALPHA68K_BTLFIELDB;
}
-static DRIVER_INIT( skysoldr )
+DRIVER_INIT_MEMBER(alpha68k_state,skysoldr)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->membank("bank8")->set_base((state->memregion("user1")->base()) + 0x40000);
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0;
- state->m_coin_id = 0x22 | (0x22 << 8);
- state->m_game_id = 0;
+ membank("bank8")->set_base((memregion("user1")->base()) + 0x40000);
+ m_invert_controls = 0;
+ m_microcontroller_id = 0;
+ m_coin_id = 0x22 | (0x22 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( goldmedl )
+DRIVER_INIT_MEMBER(alpha68k_state,goldmedl)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x8803; //AT
- state->m_coin_id = 0x23 | (0x24 << 8);
- state->m_game_id = 0;
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x8803; //AT
+ m_coin_id = 0x23 | (0x24 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( goldmedla )
+DRIVER_INIT_MEMBER(alpha68k_state,goldmedla)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->membank("bank8")->set_base(state->memregion("maincpu")->base() + 0x20000);
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x8803; //Guess - routine to handle coinage is the same as in 'goldmedl'
- state->m_coin_id = 0x23 | (0x24 << 8);
- state->m_game_id = 0;
+ membank("bank8")->set_base(memregion("maincpu")->base() + 0x20000);
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x8803; //Guess - routine to handle coinage is the same as in 'goldmedl'
+ m_coin_id = 0x23 | (0x24 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( skyadvnt )
+DRIVER_INIT_MEMBER(alpha68k_state,skyadvnt)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x8814;
- state->m_coin_id = 0x22 | (0x22 << 8);
- state->m_game_id = 0;
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x8814;
+ m_coin_id = 0x22 | (0x22 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( skyadvntu )
+DRIVER_INIT_MEMBER(alpha68k_state,skyadvntu)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x8814;
- state->m_coin_id = 0x23 | (0x24 << 8);
- state->m_game_id = 0;
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x8814;
+ m_coin_id = 0x23 | (0x24 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( gangwarsu )
+DRIVER_INIT_MEMBER(alpha68k_state,gangwarsu)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->membank("bank8")->set_base(state->memregion("user1")->base());
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x8512;
- state->m_coin_id = 0x23 | (0x24 << 8);
- state->m_game_id = 0;
+ membank("bank8")->set_base(memregion("user1")->base());
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x8512;
+ m_coin_id = 0x23 | (0x24 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( gangwars )
+DRIVER_INIT_MEMBER(alpha68k_state,gangwars)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->membank("bank8")->set_base(state->memregion("user1")->base());
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x8512;
- state->m_coin_id = 0x23 | (0x24 << 8);
- state->m_game_id = 0;
+ membank("bank8")->set_base(memregion("user1")->base());
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x8512;
+ m_coin_id = 0x23 | (0x24 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( sbasebal )
+DRIVER_INIT_MEMBER(alpha68k_state,sbasebal)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- UINT16 *rom = (UINT16 *)state->memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)memregion("maincpu")->base();
/* Patch protection check, it does a divide by zero because the MCU is trying to
calculate the ball speed when a strike is scored, notice that current emulation
@@ -3303,19 +3287,18 @@ static DRIVER_INIT( sbasebal )
rom[0x2b6/2] = 0x4e71;
#endif
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x8512; // Same as 'gangwars' ?
- state->m_coin_id = 0x23 | (0x24 << 8);
- state->m_game_id = 0;
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x8512; // Same as 'gangwars' ?
+ m_coin_id = 0x23 | (0x24 << 8);
+ m_game_id = 0;
}
-static DRIVER_INIT( tnextspc )
+DRIVER_INIT_MEMBER(alpha68k_state,tnextspc)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_invert_controls = 0;
- state->m_microcontroller_id = 0x890a;
- state->m_coin_id = 0; // Not needed !
- state->m_game_id = 0;
+ m_invert_controls = 0;
+ m_microcontroller_id = 0x890a;
+ m_coin_id = 0; // Not needed !
+ m_game_id = 0;
}
/******************************************************************************/
diff --git a/src/mame/drivers/alvg.c b/src/mame/drivers/alvg.c
index ebd09f46f8b..509e712e470 100644
--- a/src/mame/drivers/alvg.c
+++ b/src/mame/drivers/alvg.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(alvg);
};
@@ -33,7 +35,7 @@ void alvg_state::machine_reset()
{
}
-static DRIVER_INIT( alvg )
+DRIVER_INIT_MEMBER(alvg_state,alvg)
{
}
diff --git a/src/mame/drivers/amaticmg.c b/src/mame/drivers/amaticmg.c
index 35e24aee5da..919b8e197cf 100644
--- a/src/mame/drivers/amaticmg.c
+++ b/src/mame/drivers/amaticmg.c
@@ -439,6 +439,10 @@ public:
UINT8 m_nmi_mask;
DECLARE_WRITE8_MEMBER(out_a_w);
DECLARE_WRITE8_MEMBER(out_c_w);
+ DECLARE_DRIVER_INIT(ama8000_3_o);
+ DECLARE_DRIVER_INIT(ama8000_2_i);
+ DECLARE_DRIVER_INIT(ama8000_2_v);
+ DECLARE_DRIVER_INIT(ama8000_1_x);
};
@@ -1077,24 +1081,24 @@ static void decrypt(running_machine &machine, int key1, int key2)
}
}
-static DRIVER_INIT( ama8000_1_x )
+DRIVER_INIT_MEMBER(amaticmg_state,ama8000_1_x)
{
- decrypt(machine, 0x4d1, 0xf5);
+ decrypt(machine(), 0x4d1, 0xf5);
}
-static DRIVER_INIT( ama8000_2_i )
+DRIVER_INIT_MEMBER(amaticmg_state,ama8000_2_i)
{
- decrypt(machine, 0x436, 0x55);
+ decrypt(machine(), 0x436, 0x55);
}
-static DRIVER_INIT( ama8000_2_v )
+DRIVER_INIT_MEMBER(amaticmg_state,ama8000_2_v)
{
- decrypt(machine, 0x703, 0xaf);
+ decrypt(machine(), 0x703, 0xaf);
}
-static DRIVER_INIT( ama8000_3_o )
+DRIVER_INIT_MEMBER(amaticmg_state,ama8000_3_o)
{
- decrypt(machine, 0x56e, 0xa7);
+ decrypt(machine(), 0x56e, 0xa7);
}
diff --git a/src/mame/drivers/ambush.c b/src/mame/drivers/ambush.c
index 10b6c3d5907..26c4b955da6 100644
--- a/src/mame/drivers/ambush.c
+++ b/src/mame/drivers/ambush.c
@@ -330,6 +330,6 @@ ROM_END
*
*************************************/
-GAME( 1983, ambush, 0, ambush, ambusht, ambush_state, 0, ROT0, "Tecfri", "Ambush", GAME_SUPPORTS_SAVE )
-GAME( 1983, ambushj, ambush, ambush, ambush, ambush_state, 0, ROT0, "Tecfri (Nippon Amuse license)", "Ambush (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ambushv, ambush, ambush, ambush, ambush_state, 0, ROT0, "Tecfri (Volt Electronics license)", "Ambush (Volt Electronics)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ambush, 0, ambush, ambusht, driver_device, 0, ROT0, "Tecfri", "Ambush", GAME_SUPPORTS_SAVE )
+GAME( 1983, ambushj, ambush, ambush, ambush, driver_device, 0, ROT0, "Tecfri (Nippon Amuse license)", "Ambush (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ambushv, ambush, ambush, ambush, driver_device, 0, ROT0, "Tecfri (Volt Electronics license)", "Ambush (Volt Electronics)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ampoker2.c b/src/mame/drivers/ampoker2.c
index e82b8006645..1b022c260a0 100644
--- a/src/mame/drivers/ampoker2.c
+++ b/src/mame/drivers/ampoker2.c
@@ -1402,11 +1402,11 @@ ROM_END
* Driver Init *
*************************/
-static DRIVER_INIT( rabbitpk )
+DRIVER_INIT_MEMBER(ampoker2_state,rabbitpk)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- int size = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ int size = machine().root_device().memregion("maincpu")->bytes();
int start = 0;
int i;
@@ -1424,7 +1424,7 @@ static DRIVER_INIT( rabbitpk )
}
}
-static DRIVER_INIT( piccolop )
+DRIVER_INIT_MEMBER(ampoker2_state,piccolop)
{
/*
The protection is based on a stuck bit at RAM offset $C416.
@@ -1457,7 +1457,7 @@ static DRIVER_INIT( piccolop )
*/
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
/* NOP'ing the mortal jump... */
rom[0x154b] = 0x00;
@@ -1472,16 +1472,16 @@ static DRIVER_INIT( piccolop )
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1990, ampoker2, 0, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "Novomatic", "American Poker II", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, ampkr2b1, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "American Poker II (bootleg, set 1)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, ampkr2b2, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "American Poker II (bootleg, set 2)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1994, ampkr2b3, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "American Poker II (bootleg, set 3)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1994, ampkr2b4, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "American Poker II (bootleg, set 4)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1994, ampkr228, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg?", "American Poker II (iamp2 v28)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1995, ampkr95, ampoker2, ampoker2, ampkr95, ampoker2_state, 0, ROT0, "bootleg", "American Poker 95", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, pkrdewin, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "Poker De Win", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, videomat, ampoker2, ampoker2, ampoker2, ampoker2_state, 0, ROT0, "bootleg", "Videomat (Polish bootleg)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1990, ampoker2, 0, ampoker2, ampoker2, driver_device, 0, ROT0, "Novomatic", "American Poker II", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1990, ampkr2b1, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "American Poker II (bootleg, set 1)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1990, ampkr2b2, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "American Poker II (bootleg, set 2)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1994, ampkr2b3, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "American Poker II (bootleg, set 3)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1994, ampkr2b4, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "American Poker II (bootleg, set 4)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1994, ampkr228, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg?", "American Poker II (iamp2 v28)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1995, ampkr95, ampoker2, ampoker2, ampkr95, driver_device, 0, ROT0, "bootleg", "American Poker 95", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1990, pkrdewin, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "Poker De Win", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1990, videomat, ampoker2, ampoker2, ampoker2, driver_device, 0, ROT0, "bootleg", "Videomat (Polish bootleg)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
GAMEL( 1990, rabbitpk, ampoker2, ampoker2, ampoker2, ampoker2_state, rabbitpk, ROT0, "bootleg", "Rabbit Poker (Arizona Poker v1.1?)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1995, sigmapkr, 0, ampoker2, sigmapkr, ampoker2_state, 0, ROT0, "Sigma Inc.", "Sigma Poker", GAME_SUPPORTS_SAVE, layout_sigmapkr )
-GAMEL( 1998, sigma2k, 0, sigma2k, sigma2k, ampoker2_state, 0, ROT0, "Sigma Inc.", "Sigma Poker 2000", GAME_SUPPORTS_SAVE, layout_sigmapkr )
+GAMEL( 1995, sigmapkr, 0, ampoker2, sigmapkr, driver_device, 0, ROT0, "Sigma Inc.", "Sigma Poker", GAME_SUPPORTS_SAVE, layout_sigmapkr )
+GAMEL( 1998, sigma2k, 0, sigma2k, sigma2k, driver_device, 0, ROT0, "Sigma Inc.", "Sigma Poker 2000", GAME_SUPPORTS_SAVE, layout_sigmapkr )
GAME( 1990, piccolop, ampoker2, ampoker2, piccolop, ampoker2_state, piccolop, ROT0, "Admiral/Novomatic", "Piccolo Poker 100", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/amspdwy.c b/src/mame/drivers/amspdwy.c
index e48c34aff83..7eeedfdc9d8 100644
--- a/src/mame/drivers/amspdwy.c
+++ b/src/mame/drivers/amspdwy.c
@@ -400,5 +400,5 @@ ROM_END
/* (C) 1987 ETI 8402 MAGNOLIA ST. #C SANTEE, CA 92071 */
-GAME( 1987, amspdwy, 0, amspdwy, amspdwy, amspdwy_state, 0, ROT0, "Enerdyne Technologies Inc.", "American Speedway (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, amspdwya, amspdwy, amspdwy, amspdwya, amspdwy_state, 0, ROT0, "Enerdyne Technologies Inc.", "American Speedway (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, amspdwy, 0, amspdwy, amspdwy, driver_device, 0, ROT0, "Enerdyne Technologies Inc.", "American Speedway (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, amspdwya, amspdwy, amspdwy, amspdwya, driver_device, 0, ROT0, "Enerdyne Technologies Inc.", "American Speedway (set 2)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/angelkds.c b/src/mame/drivers/angelkds.c
index 84e7ef793f2..0f49f165a53 100644
--- a/src/mame/drivers/angelkds.c
+++ b/src/mame/drivers/angelkds.c
@@ -742,18 +742,18 @@ ROM_START( spcpostn )
ROM_END
-static DRIVER_INIT( angelkds )
+DRIVER_INIT_MEMBER(angelkds_state,angelkds)
{
- UINT8 *RAM = machine.root_device().memregion("user1")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 8, &RAM[0x0000], 0x4000);
+ UINT8 *RAM = machine().root_device().memregion("user1")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 8, &RAM[0x0000], 0x4000);
}
-static DRIVER_INIT( spcpostn )
+DRIVER_INIT_MEMBER(angelkds_state,spcpostn)
{
- UINT8 *RAM = machine.root_device().memregion("user1")->base();
+ UINT8 *RAM = machine().root_device().memregion("user1")->base();
- sega_317_0005_decode(machine, "maincpu");
- machine.root_device().membank("bank1")->configure_entries(0, 10, &RAM[0x0000], 0x4000);
+ sega_317_0005_decode(machine(), "maincpu");
+ machine().root_device().membank("bank1")->configure_entries(0, 10, &RAM[0x0000], 0x4000);
}
diff --git a/src/mame/drivers/appoooh.c b/src/mame/drivers/appoooh.c
index 7a8054a0fce..b36e680d22f 100644
--- a/src/mame/drivers/appoooh.c
+++ b/src/mame/drivers/appoooh.c
@@ -610,15 +610,15 @@ ROM_END
*
*************************************/
-static DRIVER_INIT(robowres)
+DRIVER_INIT_MEMBER(appoooh_state,robowres)
{
- sega_315_5179_decode(machine, "maincpu");
+ sega_315_5179_decode(machine(), "maincpu");
}
-static DRIVER_INIT(robowresb)
+DRIVER_INIT_MEMBER(appoooh_state,robowresb)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->set_decrypted_region(0x0000, 0x7fff, machine.root_device().memregion("maincpu")->base() + 0x1c000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->set_decrypted_region(0x0000, 0x7fff, machine().root_device().memregion("maincpu")->base() + 0x1c000);
}
@@ -628,6 +628,6 @@ static DRIVER_INIT(robowresb)
*
*************************************/
-GAME( 1984, appoooh, 0, appoooh, appoooh, appoooh_state, 0, ROT0, "Sanritsu / Sega", "Appoooh", GAME_SUPPORTS_SAVE )
+GAME( 1984, appoooh, 0, appoooh, appoooh, driver_device, 0, ROT0, "Sanritsu / Sega", "Appoooh", GAME_SUPPORTS_SAVE )
GAME( 1986, robowres, 0, robowres, robowres, appoooh_state, robowres, ROT0, "Sanritsu / Sega", "Robo Wres 2001", GAME_SUPPORTS_SAVE )
GAME( 1986, robowresb, robowres, robowres, robowres, appoooh_state, robowresb,ROT0, "bootleg", "Robo Wres 2001 (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/aquarium.c b/src/mame/drivers/aquarium.c
index 598687ded2c..dc51a5524bc 100644
--- a/src/mame/drivers/aquarium.c
+++ b/src/mame/drivers/aquarium.c
@@ -237,15 +237,15 @@ static const gfx_layout tilelayout =
128*8 /* every sprite takes 128 consecutive bytes */
};
-static DRIVER_INIT( aquarium )
+DRIVER_INIT_MEMBER(aquarium_state,aquarium)
{
- UINT8 *Z80 = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *Z80 = machine().root_device().memregion("audiocpu")->base();
/* The BG tiles are 5bpp, this rearranges the data from
the roms containing the 1bpp data so we can decode it
correctly */
- UINT8 *DAT2 = machine.root_device().memregion("gfx1")->base() + 0x080000;
- UINT8 *DAT = machine.root_device().memregion("user1")->base();
+ UINT8 *DAT2 = machine().root_device().memregion("gfx1")->base() + 0x080000;
+ UINT8 *DAT = machine().root_device().memregion("user1")->base();
int len = 0x0200000;
for (len = 0; len < 0x020000; len++)
@@ -260,8 +260,8 @@ static DRIVER_INIT( aquarium )
DAT2[len * 4 + 2] |= (DAT[len] & 0x01) << 3;
}
- DAT2 = machine.root_device().memregion("gfx4")->base() + 0x080000;
- DAT = machine.root_device().memregion("user2")->base();
+ DAT2 = machine().root_device().memregion("gfx4")->base() + 0x080000;
+ DAT = machine().root_device().memregion("user2")->base();
for (len = 0; len < 0x020000; len++)
{
@@ -276,8 +276,8 @@ static DRIVER_INIT( aquarium )
}
/* configure and set up the sound bank */
- machine.root_device().membank("bank1")->configure_entries(0, 7, &Z80[0x18000], 0x8000);
- machine.root_device().membank("bank1")->set_entry(1);
+ machine().root_device().membank("bank1")->configure_entries(0, 7, &Z80[0x18000], 0x8000);
+ machine().root_device().membank("bank1")->set_entry(1);
}
diff --git a/src/mame/drivers/arabian.c b/src/mame/drivers/arabian.c
index 099eaba1b27..73c894ac42d 100644
--- a/src/mame/drivers/arabian.c
+++ b/src/mame/drivers/arabian.c
@@ -444,5 +444,5 @@ ROM_END
*
*************************************/
-GAME( 1983, arabian, 0, arabian, arabian, arabian_state, 0, ROT270, "Sun Electronics", "Arabian", GAME_SUPPORTS_SAVE )
-GAME( 1983, arabiana, arabian, arabian, arabiana, arabian_state, 0, ROT270, "Sun Electronics (Atari license)", "Arabian (Atari)", GAME_SUPPORTS_SAVE )
+GAME( 1983, arabian, 0, arabian, arabian, driver_device, 0, ROT270, "Sun Electronics", "Arabian", GAME_SUPPORTS_SAVE )
+GAME( 1983, arabiana, arabian, arabian, arabiana, driver_device, 0, ROT270, "Sun Electronics (Atari license)", "Arabian (Atari)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/arcadecl.c b/src/mame/drivers/arcadecl.c
index 8add64fa08e..3b7dd39ffa8 100644
--- a/src/mame/drivers/arcadecl.c
+++ b/src/mame/drivers/arcadecl.c
@@ -396,9 +396,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( sparkz )
+DRIVER_INIT_MEMBER(arcadecl_state,sparkz)
{
- memset(machine.root_device().memregion("gfx1")->base(), 0, machine.root_device().memregion("gfx1")->bytes());
+ memset(machine().root_device().memregion("gfx1")->base(), 0, machine().root_device().memregion("gfx1")->bytes());
}
@@ -409,5 +409,5 @@ static DRIVER_INIT( sparkz )
*
*************************************/
-GAME( 1992, arcadecl, 0, arcadecl, arcadecl, arcadecl_state, 0, ROT0, "Atari Games", "Arcade Classics (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1992, arcadecl, 0, arcadecl, arcadecl, driver_device, 0, ROT0, "Atari Games", "Arcade Classics (prototype)", GAME_SUPPORTS_SAVE )
GAME( 1992, sparkz, 0, arcadecl, sparkz, arcadecl_state, sparkz, ROT0, "Atari Games", "Sparkz (prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/arcadia.c b/src/mame/drivers/arcadia.c
index 49700ec6b85..5fe2623bb9f 100644
--- a/src/mame/drivers/arcadia.c
+++ b/src/mame/drivers/arcadia.c
@@ -68,6 +68,17 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_changed_callback);
DECLARE_WRITE8_MEMBER(arcadia_cia_0_porta_w);
DECLARE_WRITE8_MEMBER(arcadia_cia_0_portb_w);
+ DECLARE_DRIVER_INIT(xeon);
+ DECLARE_DRIVER_INIT(sdwr);
+ DECLARE_DRIVER_INIT(dart);
+ DECLARE_DRIVER_INIT(bowl);
+ DECLARE_DRIVER_INIT(none);
+ DECLARE_DRIVER_INIT(sprg);
+ DECLARE_DRIVER_INIT(rdwr);
+ DECLARE_DRIVER_INIT(ninj);
+ DECLARE_DRIVER_INIT(airh);
+ DECLARE_DRIVER_INIT(ldrba);
+ DECLARE_DRIVER_INIT(socc);
};
@@ -826,19 +837,17 @@ static void arcadia_init(running_machine &machine)
*
*************************************/
-static DRIVER_INIT( none ) { arcadia_init(machine); }
-static DRIVER_INIT( airh ) { arcadia_init(machine); generic_decode(machine, "user3", 5, 0, 2, 4, 7, 6, 1, 3); }
-static DRIVER_INIT( bowl ) { arcadia_init(machine); generic_decode(machine, "user3", 7, 6, 0, 1, 2, 3, 4, 5); }
-static DRIVER_INIT( dart ) { arcadia_init(machine); generic_decode(machine, "user3", 4, 0, 7, 6, 3, 1, 2, 5); }
-static DRIVER_INIT( ldrba ) { arcadia_init(machine); generic_decode(machine, "user3", 2, 3, 4, 1, 0, 7, 5, 6); }
-static DRIVER_INIT( ninj ) { arcadia_init(machine); generic_decode(machine, "user3", 1, 6, 5, 7, 4, 2, 0, 3); }
-static DRIVER_INIT( rdwr ) { arcadia_init(machine); generic_decode(machine, "user3", 3, 1, 6, 4, 0, 5, 2, 7); }
-static DRIVER_INIT( sdwr ) { arcadia_init(machine); generic_decode(machine, "user3", 6, 3, 4, 5, 2, 1, 0, 7); }
-static DRIVER_INIT( socc ) { arcadia_init(machine); generic_decode(machine, "user3", 0, 7, 1, 6, 5, 4, 3, 2); }
-static DRIVER_INIT( sprg ) { arcadia_init(machine); generic_decode(machine, "user3", 4, 7, 3, 0, 6, 5, 2, 1); }
-static DRIVER_INIT( xeon ) { arcadia_init(machine); generic_decode(machine, "user3", 3, 1, 2, 4, 0, 5, 6, 7); }
-
-
+DRIVER_INIT_MEMBER(arcadia_amiga_state,none) { arcadia_init(machine()); }
+DRIVER_INIT_MEMBER(arcadia_amiga_state,airh) { arcadia_init(machine()); generic_decode(machine(), "user3", 5, 0, 2, 4, 7, 6, 1, 3); }
+DRIVER_INIT_MEMBER(arcadia_amiga_state,bowl) { arcadia_init(machine()); generic_decode(machine(), "user3", 7, 6, 0, 1, 2, 3, 4, 5); }
+DRIVER_INIT_MEMBER(arcadia_amiga_state,dart) { arcadia_init(machine()); generic_decode(machine(), "user3", 4, 0, 7, 6, 3, 1, 2, 5); }
+DRIVER_INIT_MEMBER(arcadia_amiga_state,ldrba) { arcadia_init(machine()); generic_decode(machine(), "user3", 2, 3, 4, 1, 0, 7, 5, 6); }
+DRIVER_INIT_MEMBER(arcadia_amiga_state,ninj) { arcadia_init(machine()); generic_decode(machine(), "user3", 1, 6, 5, 7, 4, 2, 0, 3); }
+DRIVER_INIT_MEMBER(arcadia_amiga_state,rdwr) { arcadia_init(machine()); generic_decode(machine(), "user3", 3, 1, 6, 4, 0, 5, 2, 7); }
+DRIVER_INIT_MEMBER(arcadia_amiga_state,sdwr) { arcadia_init(machine()); generic_decode(machine(), "user3", 6, 3, 4, 5, 2, 1, 0, 7); }
+DRIVER_INIT_MEMBER(arcadia_amiga_state,socc) { arcadia_init(machine()); generic_decode(machine(), "user3", 0, 7, 1, 6, 5, 4, 3, 2); }
+DRIVER_INIT_MEMBER(arcadia_amiga_state,sprg) { arcadia_init(machine()); generic_decode(machine(), "user3", 4, 7, 3, 0, 6, 5, 2, 1); }
+DRIVER_INIT_MEMBER(arcadia_amiga_state,xeon) { arcadia_init(machine()); generic_decode(machine(), "user3", 3, 1, 2, 4, 0, 5, 6, 7); }
/*************************************
*
diff --git a/src/mame/drivers/argus.c b/src/mame/drivers/argus.c
index 2beda2a8558..db4e6b6c42d 100644
--- a/src/mame/drivers/argus.c
+++ b/src/mame/drivers/argus.c
@@ -807,7 +807,7 @@ ROM_END
/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME ) */
-GAME( 1986, argus, 0, argus, argus, argus_state, 0, ROT270, "NMK (Jaleco license)", "Argus", GAME_IMPERFECT_GRAPHICS )
-GAME( 1986, valtric, 0, valtric, valtric, argus_state, 0, ROT270, "NMK (Jaleco license)", "Valtric", GAME_IMPERFECT_GRAPHICS )
-GAME( 1987, butasan, 0, butasan, butasan, argus_state, 0, ROT0, "NMK (Jaleco license)", "Butasan - Pig's & Bomber's (Japan, English)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1987, butasanj, butasan,butasan, butasan, argus_state, 0, ROT0, "NMK (Jaleco license)", "Butasan (Japan, Japanese)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1986, argus, 0, argus, argus, driver_device, 0, ROT270, "NMK (Jaleco license)", "Argus", GAME_IMPERFECT_GRAPHICS )
+GAME( 1986, valtric, 0, valtric, valtric, driver_device, 0, ROT270, "NMK (Jaleco license)", "Valtric", GAME_IMPERFECT_GRAPHICS )
+GAME( 1987, butasan, 0, butasan, butasan, driver_device, 0, ROT0, "NMK (Jaleco license)", "Butasan - Pig's & Bomber's (Japan, English)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1987, butasanj, butasan,butasan, butasan, driver_device, 0, ROT0, "NMK (Jaleco license)", "Butasan (Japan, Japanese)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/aristmk4.c b/src/mame/drivers/aristmk4.c
index 5ef8060109e..0611876b7c4 100644
--- a/src/mame/drivers/aristmk4.c
+++ b/src/mame/drivers/aristmk4.c
@@ -315,6 +315,7 @@ public:
DECLARE_READ8_MEMBER(pa1_r);
DECLARE_READ8_MEMBER(pb1_r);
DECLARE_READ8_MEMBER(pc1_r);
+ DECLARE_DRIVER_INIT(aristmk4);
};
/* Partial Cashcade protocol */
@@ -1622,12 +1623,11 @@ static PALETTE_INIT( aristmk4 )
}
}
-static DRIVER_INIT( aristmk4 )
+DRIVER_INIT_MEMBER(aristmk4_state,aristmk4)
{
- aristmk4_state *state = machine.driver_data<aristmk4_state>();
- state->m_shapeRomPtr = (UINT8 *)state->memregion("tile_gfx")->base();
- memcpy(state->m_shapeRom,state->m_shapeRomPtr,sizeof(state->m_shapeRom)); // back up
- state->m_nvram = auto_alloc_array(machine, UINT8, 0x1000);
+ m_shapeRomPtr = (UINT8 *)memregion("tile_gfx")->base();
+ memcpy(m_shapeRom,m_shapeRomPtr,sizeof(m_shapeRom)); // back up
+ m_nvram = auto_alloc_array(machine(), UINT8, 0x1000);
}
static MACHINE_START( aristmk4 )
diff --git a/src/mame/drivers/aristmk5.c b/src/mame/drivers/aristmk5.c
index ceaee402a20..01f55ada1de 100644
--- a/src/mame/drivers/aristmk5.c
+++ b/src/mame/drivers/aristmk5.c
@@ -80,6 +80,7 @@ public:
DECLARE_WRITE32_MEMBER(mk5_ioc_w);
DECLARE_READ32_MEMBER(Ns5r50);
DECLARE_WRITE32_MEMBER(sram_banksel_w);
+ DECLARE_DRIVER_INIT(aristmk5);
};
@@ -357,15 +358,15 @@ static INPUT_PORTS_START( aristmk5 )
PORT_CONFSETTING( 0x03, "Game Mode" )
INPUT_PORTS_END
-static DRIVER_INIT( aristmk5 )
+DRIVER_INIT_MEMBER(aristmk5_state,aristmk5)
{
- UINT8 *SRAM = machine.root_device().memregion("sram")->base();
- UINT8 *SRAM_NZ = machine.root_device().memregion("sram")->base();
+ UINT8 *SRAM = machine().root_device().memregion("sram")->base();
+ UINT8 *SRAM_NZ = machine().root_device().memregion("sram")->base();
- archimedes_driver_init(machine);
+ archimedes_driver_init(machine());
- machine.root_device().membank("sram_bank")->configure_entries(0, 4, &SRAM[0], 0x20000);
- machine.root_device().membank("sram_bank_nz")->configure_entries(0, 4, &SRAM_NZ[0], 0x20000);
+ machine().root_device().membank("sram_bank")->configure_entries(0, 4, &SRAM[0], 0x20000);
+ machine().root_device().membank("sram_bank_nz")->configure_entries(0, 4, &SRAM_NZ[0], 0x20000);
}
diff --git a/src/mame/drivers/aristmk6.c b/src/mame/drivers/aristmk6.c
index 08e413107b2..ebf807da47a 100644
--- a/src/mame/drivers/aristmk6.c
+++ b/src/mame/drivers/aristmk6.c
@@ -231,19 +231,19 @@ ROM_START( thaiprin )
ROM_LOAD32_WORD("30127721.u72", 0x0800002, 0x0100000, BAD_DUMP CRC(613cea6b) SHA1(f04a3ee53074b7cd84879d752df5dbb80437475e) ) // wrong size?!
ROM_END
-GAME( 200?, aristmk6, 0, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Aristocrat MK-6 Base (15011025)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_BIOS_ROOT) // Possibly Malaysia/ASP (Asia/South Pacific)
+GAME( 200?, aristmk6, 0, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Aristocrat MK-6 Base (15011025)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_BIOS_ROOT) // Possibly Malaysia/ASP (Asia/South Pacific)
// Dates listed below are for the combination (reel layout), not release dates
-GAME( 2004, antcleo, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Antony and Cleopatra (10177211, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 754, B - 12/07/04
-GAME( 2002, 50lions, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "50 Lions (10120511, NSW/ACT)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 717, A - 11/10/02
-GAME( 2003, 50lionsa, 50lions, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "50 Lions (10156111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 717, D - 20/10/03
-GAME( 2003, choysun, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Choy Sun Doa (20131511, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 688, D - 23/01/03
-GAME( 2003, crystals, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Crystal Springs (10155811, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 740, A - 28/05/03
-GAME( 2003, indianmm, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Indian Dreaming - Maximillion$ (10130711, NSW/ACT)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 628/12, A - 17/01/03
-GAME( 2004, wheregld, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Where's the Gold (20177111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 756, C - 17/06/04
-GAME( 2002, whalecsh, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Whales of Cash (20155711, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 695, A - 14/06/02
-GAME( 2003, wildways, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Wild Ways (10130111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 698/1, A - 25/02/03
-GAME( 2003, thaiprin, aristmk6, aristmk6, aristmk6, aristmk6_state, 0, ROT0, "Aristocrat", "Thai Princess (30127721, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 707, E - 21/03/03
+GAME( 2004, antcleo, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Antony and Cleopatra (10177211, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 754, B - 12/07/04
+GAME( 2002, 50lions, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "50 Lions (10120511, NSW/ACT)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 717, A - 11/10/02
+GAME( 2003, 50lionsa, 50lions, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "50 Lions (10156111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 717, D - 20/10/03
+GAME( 2003, choysun, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Choy Sun Doa (20131511, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 688, D - 23/01/03
+GAME( 2003, crystals, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Crystal Springs (10155811, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 740, A - 28/05/03
+GAME( 2003, indianmm, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Indian Dreaming - Maximillion$ (10130711, NSW/ACT)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 628/12, A - 17/01/03
+GAME( 2004, wheregld, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Where's the Gold (20177111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 756, C - 17/06/04
+GAME( 2002, whalecsh, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Whales of Cash (20155711, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 695, A - 14/06/02
+GAME( 2003, wildways, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Wild Ways (10130111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 698/1, A - 25/02/03
+GAME( 2003, thaiprin, aristmk6, aristmk6, aristmk6, driver_device, 0, ROT0, "Aristocrat", "Thai Princess (30127721, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 707, E - 21/03/03
/*
List of known MK6 games, excluding Hyperlink variations
diff --git a/src/mame/drivers/arkanoid.c b/src/mame/drivers/arkanoid.c
index f98d325c929..7e4a7072482 100644
--- a/src/mame/drivers/arkanoid.c
+++ b/src/mame/drivers/arkanoid.c
@@ -1580,27 +1580,24 @@ static void arkanoid_bootleg_init( running_machine &machine )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd008, 0xd008, read8_delegate(FUNC(arkanoid_state::arkanoid_bootleg_d008_r),state) );
}
-static DRIVER_INIT( arkangc )
+DRIVER_INIT_MEMBER(arkanoid_state,arkangc)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
- state->m_bootleg_id = ARKANGC;
- arkanoid_bootleg_init(machine);
+ m_bootleg_id = ARKANGC;
+ arkanoid_bootleg_init(machine());
}
-static DRIVER_INIT( arkangc2 )
+DRIVER_INIT_MEMBER(arkanoid_state,arkangc2)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
- state->m_bootleg_id = ARKANGC2;
- arkanoid_bootleg_init(machine);
+ m_bootleg_id = ARKANGC2;
+ arkanoid_bootleg_init(machine());
}
-static DRIVER_INIT( block2 )
+DRIVER_INIT_MEMBER(arkanoid_state,block2)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
// the graphics on this bootleg have the data scrambled
int tile;
- UINT8* srcgfx = state->memregion("gfx1")->base();
- UINT8* buffer = auto_alloc_array(machine, UINT8, 0x18000);
+ UINT8* srcgfx = memregion("gfx1")->base();
+ UINT8* buffer = auto_alloc_array(machine(), UINT8, 0x18000);
for (tile = 0; tile < 0x3000; tile++)
{
@@ -1624,45 +1621,40 @@ static DRIVER_INIT( block2 )
memcpy(srcgfx, buffer, 0x18000);
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
- state->m_bootleg_id = BLOCK2;
- arkanoid_bootleg_init(machine);
+ m_bootleg_id = BLOCK2;
+ arkanoid_bootleg_init(machine());
}
-static DRIVER_INIT( arkblock )
+DRIVER_INIT_MEMBER(arkanoid_state,arkblock)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
- state->m_bootleg_id = ARKBLOCK;
- arkanoid_bootleg_init(machine);
+ m_bootleg_id = ARKBLOCK;
+ arkanoid_bootleg_init(machine());
}
-static DRIVER_INIT( arkbloc2 )
+DRIVER_INIT_MEMBER(arkanoid_state,arkbloc2)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
- state->m_bootleg_id = ARKBLOC2;
- arkanoid_bootleg_init(machine);
+ m_bootleg_id = ARKBLOC2;
+ arkanoid_bootleg_init(machine());
}
-static DRIVER_INIT( arkgcbl )
+DRIVER_INIT_MEMBER(arkanoid_state,arkgcbl)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
- state->m_bootleg_id = ARKGCBL;
- arkanoid_bootleg_init(machine);
+ m_bootleg_id = ARKGCBL;
+ arkanoid_bootleg_init(machine());
}
-static DRIVER_INIT( paddle2 )
+DRIVER_INIT_MEMBER(arkanoid_state,paddle2)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
- state->m_bootleg_id = PADDLE2;
- arkanoid_bootleg_init(machine);
+ m_bootleg_id = PADDLE2;
+ arkanoid_bootleg_init(machine());
}
-static DRIVER_INIT( tetrsark )
+DRIVER_INIT_MEMBER(arkanoid_state,tetrsark)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
int x;
for (x = 0; x < 0x8000; x++)
@@ -1670,13 +1662,13 @@ static DRIVER_INIT( tetrsark )
ROM[x] = ROM[x] ^ 0x94;
}
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd008, 0xd008, write8_delegate(FUNC(arkanoid_state::tetrsark_d008_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd008, 0xd008, write8_delegate(FUNC(arkanoid_state::tetrsark_d008_w),this));
}
-static DRIVER_INIT( hexa )
+DRIVER_INIT_MEMBER(arkanoid_state,hexa)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
#if 0
@@ -1690,20 +1682,20 @@ static DRIVER_INIT( hexa )
RAM[0x0126] = 0x00;
#endif
- machine.root_device().membank("bank1")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
}
/* Game Drivers */
-GAME( 1986, arkanoid, 0, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito Corporation Japan", "Arkanoid (World)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoidu, arkanoid, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoiduo, arkanoid, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, older)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoidj, arkanoid, arkanoid, arkanoidj, arkanoid_state,0, ROT90, "Taito Corporation", "Arkanoid (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoidjo, arkanoid, arkanoid, arkanoidj, arkanoid_state,0, ROT90, "Taito Corporation", "Arkanoid (Japan, older)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoidjb, arkanoid, arkanoid, arkanoidj, arkanoid_state,0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoidjb2,arkanoid, arkanoid, arkanoidj, arkanoid_state,0, ROT90, "bootleg (Beta)", "Arkanoid (bootleg with MCU, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ark1ball, arkanoid, arkanoid, ark1ball, arkanoid_state, 0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, harder)", GAME_SUPPORTS_SAVE )
+GAME( 1986, arkanoid, 0, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito Corporation Japan", "Arkanoid (World)", GAME_SUPPORTS_SAVE )
+GAME( 1986, arkanoidu, arkanoid, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US)", GAME_SUPPORTS_SAVE )
+GAME( 1986, arkanoiduo, arkanoid, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, older)", GAME_SUPPORTS_SAVE )
+GAME( 1986, arkanoidj, arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "Taito Corporation", "Arkanoid (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, arkanoidjo, arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "Taito Corporation", "Arkanoid (Japan, older)", GAME_SUPPORTS_SAVE )
+GAME( 1986, arkanoidjb, arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, arkanoidjb2,arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "bootleg (Beta)", "Arkanoid (bootleg with MCU, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ark1ball, arkanoid, arkanoid, ark1ball, driver_device, 0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, harder)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkangc, arkanoid, bootleg, arkangc, arkanoid_state, arkangc, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkangc2, arkanoid, bootleg, arkangc2, arkanoid_state, arkangc2, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkblock, arkanoid, bootleg, arkangc, arkanoid_state, arkblock, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 1)", GAME_SUPPORTS_SAVE )
@@ -1713,9 +1705,9 @@ GAME( 1986, block2, arkanoid, bootleg, block2, arkanoid_state, block2,
GAME( 1986, arkgcbl, arkanoid, bootleg, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1986, arkgcbla, arkanoid, bootleg, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1988, paddle2, arkanoid, bootleg, paddle2, arkanoid_state, paddle2, ROT90, "bootleg", "Paddle 2 (bootleg on Block hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkatayt, arkanoid, bootleg, arkatayt, arkanoid_state, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arktayt2, arkanoid, bootleg, arktayt2, arkanoid_state, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", GAME_SUPPORTS_SAVE )
-GAME( 1987, arkatour, arkanoid, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", GAME_SUPPORTS_SAVE )
+GAME( 1986, arkatayt, arkanoid, bootleg, arkatayt, driver_device, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1986, arktayt2, arkanoid, bootleg, arktayt2, driver_device, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", GAME_SUPPORTS_SAVE )
+GAME( 1987, arkatour, arkanoid, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", GAME_SUPPORTS_SAVE )
GAME( 19??, tetrsark, 0, bootleg, tetrsark, arkanoid_state, tetrsark, ROT0, "D.R. Korea", "Tetris (D.R. Korea)", GAME_SUPPORTS_SAVE )
GAME( 199?, hexa, 0, hexa, hexa, arkanoid_state, hexa, ROT0, "D.R. Korea", "Hexa", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1993, brixian, 0, brixian, brixian, arkanoid_state, 0, ROT0, "Cheil Computer System", "Brixian", GAME_SUPPORTS_SAVE|GAME_NOT_WORKING )
+GAME( 1993, brixian, 0, brixian, brixian, driver_device, 0, ROT0, "Cheil Computer System", "Brixian", GAME_SUPPORTS_SAVE|GAME_NOT_WORKING )
diff --git a/src/mame/drivers/armedf.c b/src/mame/drivers/armedf.c
index ddadaee8d53..1e1619ebcec 100644
--- a/src/mame/drivers/armedf.c
+++ b/src/mame/drivers/armedf.c
@@ -2036,95 +2036,86 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( terraf )
+DRIVER_INIT_MEMBER(armedf_state,terraf)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- state->m_scroll_type = 0;
+ m_scroll_type = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c006, 0x07c007, write16_delegate(FUNC(armedf_state::terraf_fg_scrolly_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c008, 0x07c009, write16_delegate(FUNC(armedf_state::terraf_fg_scrollx_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0c0001, write16_delegate(FUNC(armedf_state::terraf_fg_scroll_msb_arm_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c006, 0x07c007, write16_delegate(FUNC(armedf_state::terraf_fg_scrolly_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c008, 0x07c009, write16_delegate(FUNC(armedf_state::terraf_fg_scrollx_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0c0001, write16_delegate(FUNC(armedf_state::terraf_fg_scroll_msb_arm_w),this));
}
-static DRIVER_INIT( terrafu )
+DRIVER_INIT_MEMBER(armedf_state,terrafu)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- state->m_scroll_type = 0;
+ m_scroll_type = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),this));
}
-static DRIVER_INIT( terrafb )
+DRIVER_INIT_MEMBER(armedf_state,terrafb)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- state->m_scroll_type = 0;
+ m_scroll_type = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terrafb_io_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terrafb_io_w),this));
}
-static DRIVER_INIT( armedf )
+DRIVER_INIT_MEMBER(armedf_state,armedf)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- state->m_scroll_type = 1;
+ m_scroll_type = 1;
}
-static DRIVER_INIT( kozure )
+DRIVER_INIT_MEMBER(armedf_state,kozure)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- state->m_scroll_type = 0;
+ m_scroll_type = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),this));
}
-static DRIVER_INIT( legion )
+DRIVER_INIT_MEMBER(armedf_state,legion)
{
- armedf_state *state = machine.driver_data<armedf_state>();
#if LEGION_HACK
/* This is a hack to allow you to use the extra features
of 3 of the "Unused" Dip Switches (see notes above). */
- UINT16 *RAM = (UINT16 *)state->memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *)memregion("maincpu")->base();
RAM[0x0001d6 / 2] = 0x0001;
/* To avoid checksum error */
RAM[0x000488 / 2] = 0x4e71;
#endif
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),this));
- state->m_scroll_type = 2;
+ m_scroll_type = 2;
}
-static DRIVER_INIT( legiono )
+DRIVER_INIT_MEMBER(armedf_state,legiono)
{
- armedf_state *state = machine.driver_data<armedf_state>();
#if LEGION_HACK
/* This is a hack to allow you to use the extra features
of 3 of the "Unused" Dip Switches (see notes above). */
- UINT16 *RAM = (UINT16 *)state->memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *)memregion("maincpu")->base();
RAM[0x0001d6/2] = 0x0001;
/* No need to patch the checksum routine (see notes) ! */
#endif
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),this));
- state->m_scroll_type = 2;
+ m_scroll_type = 2;
}
-static DRIVER_INIT( cclimbr2 )
+DRIVER_INIT_MEMBER(armedf_state,cclimbr2)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),this));
- state->m_scroll_type = 3;
+ m_scroll_type = 3;
}
-static DRIVER_INIT( bigfghtr )
+DRIVER_INIT_MEMBER(bigfghtr_state,bigfghtr)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- state->m_scroll_type = 1;
+ m_scroll_type = 1;
}
/*************************************
diff --git a/src/mame/drivers/artmagic.c b/src/mame/drivers/artmagic.c
index 964aeea5a0a..cf7d6678269 100644
--- a/src/mame/drivers/artmagic.c
+++ b/src/mame/drivers/artmagic.c
@@ -1162,42 +1162,38 @@ static void decrypt_cheesech(running_machine &machine)
}
-static DRIVER_INIT( ultennis )
+DRIVER_INIT_MEMBER(artmagic_state,ultennis)
{
- artmagic_state *state = machine.driver_data<artmagic_state>();
- decrypt_ultennis(machine);
- state->m_is_stoneball = 0;
- state->m_protection_handler = ultennis_protection;
+ decrypt_ultennis(machine());
+ m_is_stoneball = 0;
+ m_protection_handler = ultennis_protection;
/* additional (protection?) hack */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x300000, 0x300001, read16_delegate(FUNC(artmagic_state::ultennis_hack_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x300000, 0x300001, read16_delegate(FUNC(artmagic_state::ultennis_hack_r),this));
}
-static DRIVER_INIT( cheesech )
+DRIVER_INIT_MEMBER(artmagic_state,cheesech)
{
- artmagic_state *state = machine.driver_data<artmagic_state>();
- decrypt_cheesech(machine);
- state->m_is_stoneball = 0;
- state->m_protection_handler = cheesech_protection;
+ decrypt_cheesech(machine());
+ m_is_stoneball = 0;
+ m_protection_handler = cheesech_protection;
}
-static DRIVER_INIT( stonebal )
+DRIVER_INIT_MEMBER(artmagic_state,stonebal)
{
- artmagic_state *state = machine.driver_data<artmagic_state>();
- decrypt_ultennis(machine);
- state->m_is_stoneball = 1; /* blits 1 line high are NOT encrypted, also different first pixel decrypt */
- state->m_protection_handler = stonebal_protection;
+ decrypt_ultennis(machine());
+ m_is_stoneball = 1; /* blits 1 line high are NOT encrypted, also different first pixel decrypt */
+ m_protection_handler = stonebal_protection;
}
-static DRIVER_INIT( shtstar )
+DRIVER_INIT_MEMBER(artmagic_state,shtstar)
{
- artmagic_state *state = machine.driver_data<artmagic_state>();
/* wrong */
- decrypt_ultennis(machine);
- state->m_is_stoneball =0;
- state->m_protection_handler = stonebal_protection;
+ decrypt_ultennis(machine());
+ m_is_stoneball =0;
+ m_protection_handler = stonebal_protection;
}
diff --git a/src/mame/drivers/ashnojoe.c b/src/mame/drivers/ashnojoe.c
index 66b957c3473..aa111428768 100644
--- a/src/mame/drivers/ashnojoe.c
+++ b/src/mame/drivers/ashnojoe.c
@@ -461,12 +461,12 @@ ROM_START( ashnojoe )
ROM_LOAD( "sj401-nw.10r", 0x00000, 0x80000, CRC(25dfab59) SHA1(7d50159204ba05323a2442778f35192e66117dda) )
ROM_END
-static DRIVER_INIT( ashnojoe )
+DRIVER_INIT_MEMBER(ashnojoe_state,ashnojoe)
{
- UINT8 *ROM = machine.root_device().memregion("adpcm")->base();
- machine.root_device().membank("bank4")->configure_entries(0, 16, &ROM[0x00000], 0x8000);
+ UINT8 *ROM = machine().root_device().memregion("adpcm")->base();
+ machine().root_device().membank("bank4")->configure_entries(0, 16, &ROM[0x00000], 0x8000);
- machine.root_device().membank("bank4")->set_entry(0);
+ machine().root_device().membank("bank4")->set_entry(0);
}
GAME( 1990, scessjoe, 0, ashnojoe, ashnojoe, ashnojoe_state, ashnojoe, ROT0, "Wave / Taito Corporation", "Success Joe (World)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/asterix.c b/src/mame/drivers/asterix.c
index 758e1c9f39b..9bb80438958 100644
--- a/src/mame/drivers/asterix.c
+++ b/src/mame/drivers/asterix.c
@@ -458,11 +458,11 @@ ROM_START( asterixj )
ROM_END
-static DRIVER_INIT( asterix )
+DRIVER_INIT_MEMBER(asterix_state,asterix)
{
#if 0
- *(UINT16 *)(machine.root_device().memregion("maincpu")->base() + 0x07f34) = 0x602a;
- *(UINT16 *)(machine.root_device().memregion("maincpu")->base() + 0x00008) = 0x0400;
+ *(UINT16 *)(machine().root_device().memregion("maincpu")->base() + 0x07f34) = 0x602a;
+ *(UINT16 *)(machine().root_device().memregion("maincpu")->base() + 0x00008) = 0x0400;
#endif
}
diff --git a/src/mame/drivers/asteroid.c b/src/mame/drivers/asteroid.c
index 641480e8910..35a15205082 100644
--- a/src/mame/drivers/asteroid.c
+++ b/src/mame/drivers/asteroid.c
@@ -933,17 +933,16 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( asteroidb )
+DRIVER_INIT_MEMBER(asteroid_state,asteroidb)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2000, 0x2000, "IN0");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2003, 0x2003, "HS");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2000, 0x2000, "IN0");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2003, 0x2003, "HS");
}
-static DRIVER_INIT( asterock )
+DRIVER_INIT_MEMBER(asteroid_state,asterock)
{
- asteroid_state *state = machine.driver_data<asteroid_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x2000, 0x2007, read8_delegate(FUNC(asteroid_state::asterock_IN0_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x2000, 0x2007, read8_delegate(FUNC(asteroid_state::asterock_IN0_r),this));
}
@@ -954,16 +953,16 @@ static DRIVER_INIT( asterock )
*
*************************************/
-GAME( 1979, asteroid, 0, asteroid, asteroid, asteroid_state, 0, ROT0, "Atari", "Asteroids (rev 4)", GAME_SUPPORTS_SAVE )
-GAME( 1979, asteroid2,asteroid, asteroid, asteroid, asteroid_state, 0, ROT0, "Atari", "Asteroids (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1979, asteroid1,asteroid, asteroid, asteroid, asteroid_state, 0, ROT0, "Atari", "Asteroids (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1979, asteroid, 0, asteroid, asteroid, driver_device, 0, ROT0, "Atari", "Asteroids (rev 4)", GAME_SUPPORTS_SAVE )
+GAME( 1979, asteroid2,asteroid, asteroid, asteroid, driver_device, 0, ROT0, "Atari", "Asteroids (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1979, asteroid1,asteroid, asteroid, asteroid, driver_device, 0, ROT0, "Atari", "Asteroids (rev 1)", GAME_SUPPORTS_SAVE )
GAME( 1979, asteroidb,asteroid, asteroid, asteroidb, asteroid_state,asteroidb,ROT0, "bootleg", "Asteroids (bootleg on Lunar Lander hardware)", GAME_SUPPORTS_SAVE )
GAME( 1979, asterock, asteroid, asterock, asterock, asteroid_state, asterock, ROT0, "bootleg (Sidam)", "Asterock (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
-GAME( 1979, meteorts, asteroid, asteroid, asteroid, asteroid_state, 0, ROT0, "bootleg (VGG)", "Meteorites (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
-GAME( 1979, meteorho, asteroid, asteroid, asteroid, asteroid_state, 0, ROT0, "bootleg (Hoei)", "Meteor (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
-GAME( 1979, hyperspc, asteroid, asteroid, asteroid, asteroid_state, 0, ROT0, "bootleg (Rumiano)", "Hyperspace (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
-GAMEL(1980, astdelux, 0, astdelux, astdelux, asteroid_state, 0, ROT0, "Atari", "Asteroids Deluxe (rev 3)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
-GAMEL(1980, astdelux2,astdelux, astdelux, astdelux, asteroid_state, 0, ROT0, "Atari", "Asteroids Deluxe (rev 2)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
-GAMEL(1980, astdelux1,astdelux, astdelux, astdelux, asteroid_state, 0, ROT0, "Atari", "Asteroids Deluxe (rev 1)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
-GAME( 1979, llander, 0, llander, llander, asteroid_state, 0, ROT0, "Atari", "Lunar Lander (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1979, llander1, llander, llander, llander1, asteroid_state, 0, ROT0, "Atari", "Lunar Lander (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1979, meteorts, asteroid, asteroid, asteroid, driver_device, 0, ROT0, "bootleg (VGG)", "Meteorites (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
+GAME( 1979, meteorho, asteroid, asteroid, asteroid, driver_device, 0, ROT0, "bootleg (Hoei)", "Meteor (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
+GAME( 1979, hyperspc, asteroid, asteroid, asteroid, driver_device, 0, ROT0, "bootleg (Rumiano)", "Hyperspace (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
+GAMEL(1980, astdelux, 0, astdelux, astdelux, driver_device, 0, ROT0, "Atari", "Asteroids Deluxe (rev 3)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
+GAMEL(1980, astdelux2,astdelux, astdelux, astdelux, driver_device, 0, ROT0, "Atari", "Asteroids Deluxe (rev 2)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
+GAMEL(1980, astdelux1,astdelux, astdelux, astdelux, driver_device, 0, ROT0, "Atari", "Asteroids Deluxe (rev 1)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
+GAME( 1979, llander, 0, llander, llander, driver_device, 0, ROT0, "Atari", "Lunar Lander (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1979, llander1, llander, llander, llander1, driver_device, 0, ROT0, "Atari", "Lunar Lander (rev 1)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/astinvad.c b/src/mame/drivers/astinvad.c
index 22fd4aaef4e..69dcfd0871f 100644
--- a/src/mame/drivers/astinvad.c
+++ b/src/mame/drivers/astinvad.c
@@ -74,6 +74,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(spaceint_coin_inserted);
DECLARE_WRITE8_MEMBER(astinvad_sound1_w);
DECLARE_WRITE8_MEMBER(astinvad_sound2_w);
+ DECLARE_DRIVER_INIT(kamikaze);
+ DECLARE_DRIVER_INIT(spcking2);
};
@@ -736,21 +738,19 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( kamikaze )
+DRIVER_INIT_MEMBER(astinvad_state,kamikaze)
{
- astinvad_state *state = machine.driver_data<astinvad_state>();
/* the flip screen logic adds 32 to the Y after flipping */
- state->m_flip_yoffs = 32;
+ m_flip_yoffs = 32;
}
-static DRIVER_INIT( spcking2 )
+DRIVER_INIT_MEMBER(astinvad_state,spcking2)
{
- astinvad_state *state = machine.driver_data<astinvad_state>();
/* don't have the schematics, but the blanking must center the screen here */
- state->m_flip_yoffs = 0;
+ m_flip_yoffs = 0;
}
@@ -765,5 +765,5 @@ GAME( 1979, kamikaze, 0, kamikaze, kamikaze, astinvad_state, kamikaze, RO
GAME( 1980, astinvad, kamikaze, kamikaze, astinvad, astinvad_state, kamikaze, ROT270, "Leijac Corporation (Stern Electronics license)", "Astro Invader", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 19??, kosmokil, kamikaze, kamikaze, kamikaze, astinvad_state, kamikaze, ROT270, "bootleg", "Kosmo Killer", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // says >BEM< Mi Italy but it looks hacked in, dif revision of game tho.
GAME( 1979, spcking2, 0, spcking2, spcking2, astinvad_state, spcking2, ROT270, "Konami", "Space King 2", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, spaceint, 0, spaceint, spaceint, astinvad_state, 0, ROT90, "Shoei", "Space Intruder", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1980, spaceintj,spaceint, spaceint, spaceintj, astinvad_state,0, ROT90, "Shoei", "Space Intruder (Japan)", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1980, spaceint, 0, spaceint, spaceint, driver_device, 0, ROT90, "Shoei", "Space Intruder", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1980, spaceintj,spaceint, spaceint, spaceintj, driver_device,0, ROT90, "Shoei", "Space Intruder (Japan)", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/astrafr.c b/src/mame/drivers/astrafr.c
index d4c374f5c93..5ebb1643474 100644
--- a/src/mame/drivers/astrafr.c
+++ b/src/mame/drivers/astrafr.c
@@ -116,6 +116,10 @@ public:
required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_slavecpu;
+ DECLARE_DRIVER_INIT(astradec_sml);
+ DECLARE_DRIVER_INIT(astradec);
+ DECLARE_DRIVER_INIT(astradec_dual);
+ DECLARE_DRIVER_INIT(astradec_sml_dual);
};
@@ -2109,55 +2113,55 @@ void astra_addresslines( UINT16* src, size_t srcsize, int small )
}
-static DRIVER_INIT( astradec )
+DRIVER_INIT_MEMBER(astrafr_state,astradec)
{
- astra_addresslines( (UINT16*)machine.root_device().memregion( "maincpu" )->base(), machine.root_device().memregion( "maincpu" )->bytes(), 0 );
+ astra_addresslines( (UINT16*)machine().root_device().memregion( "maincpu" )->base(), machine().root_device().memregion( "maincpu" )->bytes(), 0 );
}
-static DRIVER_INIT( astradec_dual )
+DRIVER_INIT_MEMBER(astrafr_state,astradec_dual)
{
- astra_addresslines( (UINT16*)machine.root_device().memregion( "maincpu" )->base(), machine.root_device().memregion( "maincpu" )->bytes(), 0 );
- astra_addresslines( (UINT16*)machine.root_device().memregion( "slavecpu" )->base(), machine.root_device().memregion( "slavecpu" )->bytes(), 0 );
+ astra_addresslines( (UINT16*)machine().root_device().memregion( "maincpu" )->base(), machine().root_device().memregion( "maincpu" )->bytes(), 0 );
+ astra_addresslines( (UINT16*)machine().root_device().memregion( "slavecpu" )->base(), machine().root_device().memregion( "slavecpu" )->bytes(), 0 );
}
-static DRIVER_INIT( astradec_sml )
+DRIVER_INIT_MEMBER(astrafr_state,astradec_sml)
{
- astra_addresslines( (UINT16*)machine.root_device().memregion( "maincpu" )->base(), machine.root_device().memregion( "maincpu" )->bytes(), 1 );
+ astra_addresslines( (UINT16*)machine().root_device().memregion( "maincpu" )->base(), machine().root_device().memregion( "maincpu" )->bytes(), 1 );
}
-static DRIVER_INIT( astradec_sml_dual )
+DRIVER_INIT_MEMBER(astrafr_state,astradec_sml_dual)
{
- astra_addresslines( (UINT16*)machine.root_device().memregion( "maincpu" )->base(), machine.root_device().memregion( "maincpu" )->bytes(), 1 );
- astra_addresslines( (UINT16*)machine.root_device().memregion( "slavecpu" )->base(), machine.root_device().memregion( "slavecpu" )->bytes(), 1 );
+ astra_addresslines( (UINT16*)machine().root_device().memregion( "maincpu" )->base(), machine().root_device().memregion( "maincpu" )->bytes(), 1 );
+ astra_addresslines( (UINT16*)machine().root_device().memregion( "slavecpu" )->base(), machine().root_device().memregion( "slavecpu" )->bytes(), 1 );
}
// Single games?
-GAME( 200?, as_srb, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V004)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_srba, as_srb , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V100)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_srbb, as_srb , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V101)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_srbc, as_srb , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V201)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_srbd, as_srb , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V202)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_srbe, as_srb , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V203)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_srb, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V004)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_srba, as_srb , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V100)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_srbb, as_srb , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V101)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_srbc, as_srb , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V201)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_srbd, as_srb , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V202)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_srbe, as_srb , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V203)", GAME_IS_SKELETON_MECHANICAL)
// Linked games (single rom per CPU with master/slave?)
-GAME( 200?, as_party, 0 , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V105)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_partya, as_party , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V110)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_partyb, as_party , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V112)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_partyc, as_party , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V206)" ,GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_partyd, as_party , astrafr_dual_37, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V401)", GAME_IS_SKELETON_MECHANICAL) // significantly different set
-GAME( 200?, as_partye, as_party , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V907)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_partyf, as_party , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Party Time (Astra, V906)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_party, 0 , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V105)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_partya, as_party , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V110)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_partyb, as_party , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V112)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_partyc, as_party , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V206)" ,GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_partyd, as_party , astrafr_dual_37, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V401)", GAME_IS_SKELETON_MECHANICAL) // significantly different set
+GAME( 200?, as_partye, as_party , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V907)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_partyf, as_party , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Party Time (Astra, V906)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_letsp, 0 , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Let's Party (Astra, V904)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_letsp, 0 , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Let's Party (Astra, V904)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_topsl, 0 , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Top Slot (Astra, V103)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_topsla, as_topsl , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Top Slot (Astra, V104)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_topslb, as_topsl , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Top Slot (Astra, V201)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_topslc, as_topsl , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Top Slot (Astra, V203)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_topsld, as_topsl , astrafr_dual_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Top Slot (Astra, V205)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_topsl, 0 , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Top Slot (Astra, V103)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_topsla, as_topsl , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Top Slot (Astra, V104)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_topslb, as_topsl , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Top Slot (Astra, V201)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_topslc, as_topsl , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Top Slot (Astra, V203)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_topsld, as_topsl , astrafr_dual_2e, astrafr, driver_device, 0, ROT0, "Astra", "Top Slot (Astra, V205)", GAME_IS_SKELETON_MECHANICAL)
// Other HW? (has u1/u2 pairing)
@@ -2181,32 +2185,32 @@ GAME( 200?, as_hcd, as_hc , astrafr_dual_37 , astrafr, astrafr_state,
GAME( 200?, as_cshah, 0 , astra_single_alt_57 , astrafr, astrafr_state, astradec, ROT0, "Lowen", "Cash Ahoi (Lowen, V105)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_big10, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 10 (Astra, V500)", GAME_IS_SKELETON_MECHANICAL) // BB96
-GAME( 200?, as_big10a, as_big10 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 10 (Astra, V503)", GAME_IS_SKELETON_MECHANICAL) // BB96
-GAME( 200?, as_big10b, as_big10 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 10 (Astra, V507)", GAME_IS_SKELETON_MECHANICAL) // BB96
-GAME( 200?, as_big10c, as_big10 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 10 (Astra, V601)", GAME_IS_SKELETON_MECHANICAL) // BB96
-GAME( 200?, as_big10d, as_big10 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 10 (Astra, V605)", GAME_IS_SKELETON_MECHANICAL) // BB96
-GAME( 200?, as_big15, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big 15 (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) // DL98
-GAME( 200?, as_bigcs, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big Cash (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) // CF97/CF98
-GAME( 200?, as_bigcsa, as_bigcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Big Cash (Astra, V103)", GAME_IS_SKELETON_MECHANICAL) // CF97/CF98
-
-GAME( 200?, as_bbr, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
-GAME( 200?, as_bbra, as_bbr , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V102,alt)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
-GAME( 200?, as_bbrb, as_bbr , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V201)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
-GAME( 200?, as_bbrc, as_bbr , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V003)" , GAME_IS_SKELETON_MECHANICAL) // CU98
-GAME( 200?, as_bbrd, as_bbr , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // CU98
-GAME( 200?, as_bbre, as_bbr , astra_single_37, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL) // FG01
-GAME( 200?, as_bbrf, as_bbr , astra_single_37, astrafr, astrafr_state, 0, ROT0, "Astra", "Bullion Bars (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) // FN01
-
-GAME( 200?, as_dblcs, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V110)" , GAME_IS_SKELETON_MECHANICAL) // BR97
-GAME( 200?, as_dblcsa, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V112)" , GAME_IS_SKELETON_MECHANICAL) // BR97
-GAME( 200?, as_dblcsb, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL) // BR97
-GAME( 200?, as_dblcsc, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL) // CN97
-GAME( 200?, as_dblcsd, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) // CN97
-GAME( 200?, as_dblcse, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // FB00
-GAME( 200?, as_dblcsf, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) // FB00
-GAME( 200?, as_dblcsg, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V100, alt)" , GAME_IS_SKELETON_MECHANICAL) // DN98
-GAME( 200?, as_dblcsh, as_dblcs , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Double Cash (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) // FO01
+GAME( 200?, as_big10, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 10 (Astra, V500)", GAME_IS_SKELETON_MECHANICAL) // BB96
+GAME( 200?, as_big10a, as_big10 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 10 (Astra, V503)", GAME_IS_SKELETON_MECHANICAL) // BB96
+GAME( 200?, as_big10b, as_big10 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 10 (Astra, V507)", GAME_IS_SKELETON_MECHANICAL) // BB96
+GAME( 200?, as_big10c, as_big10 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 10 (Astra, V601)", GAME_IS_SKELETON_MECHANICAL) // BB96
+GAME( 200?, as_big10d, as_big10 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 10 (Astra, V605)", GAME_IS_SKELETON_MECHANICAL) // BB96
+GAME( 200?, as_big15, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big 15 (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) // DL98
+GAME( 200?, as_bigcs, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big Cash (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) // CF97/CF98
+GAME( 200?, as_bigcsa, as_bigcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Big Cash (Astra, V103)", GAME_IS_SKELETON_MECHANICAL) // CF97/CF98
+
+GAME( 200?, as_bbr, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
+GAME( 200?, as_bbra, as_bbr , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V102,alt)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
+GAME( 200?, as_bbrb, as_bbr , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V201)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
+GAME( 200?, as_bbrc, as_bbr , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V003)" , GAME_IS_SKELETON_MECHANICAL) // CU98
+GAME( 200?, as_bbrd, as_bbr , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // CU98
+GAME( 200?, as_bbre, as_bbr , astra_single_37, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL) // FG01
+GAME( 200?, as_bbrf, as_bbr , astra_single_37, astrafr, driver_device, 0, ROT0, "Astra", "Bullion Bars (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) // FN01
+
+GAME( 200?, as_dblcs, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V110)" , GAME_IS_SKELETON_MECHANICAL) // BR97
+GAME( 200?, as_dblcsa, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V112)" , GAME_IS_SKELETON_MECHANICAL) // BR97
+GAME( 200?, as_dblcsb, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL) // BR97
+GAME( 200?, as_dblcsc, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL) // CN97
+GAME( 200?, as_dblcsd, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) // CN97
+GAME( 200?, as_dblcse, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // FB00
+GAME( 200?, as_dblcsf, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) // FB00
+GAME( 200?, as_dblcsg, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V100, alt)" , GAME_IS_SKELETON_MECHANICAL) // DN98
+GAME( 200?, as_dblcsh, as_dblcs , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Double Cash (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) // FO01
GAME( 200?, as_fortn, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Fortune Teller (Astra, V009)" , GAME_IS_SKELETON_MECHANICAL)
@@ -2218,19 +2222,19 @@ GAME( 200?, as_hr, 0 , astra_single, astrafr, astrafr_state, astra
GAME( 200?, as_djp, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Double Jackpot (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_djpa, 0 , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Double Jackpot (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_djpb, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Double Jackpot (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_cshcs, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Lowen", "Cash Castle (Lowen, V006)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_cshcs, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Lowen", "Cash Castle (Lowen, V006)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_colmn, 0 , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Colour Of Money (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_colmna, as_colmn , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Colour Of Money (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_colmnb, as_colmn , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Colour Of Money (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_colmnc, as_colmn , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Colour Of Money (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_colmnd, as_colmn , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Colour Of Money (Astra, V908)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jackb, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Jackpot Bell (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_colmna, as_colmn , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Colour Of Money (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_colmnb, as_colmn , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Colour Of Money (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_colmnc, as_colmn , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Colour Of Money (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_colmnd, as_colmn , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Colour Of Money (Astra, V908)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_jackb, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Jackpot Bell (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jpx, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jackpot X (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jpxa, as_jpx , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jackpot X (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jpxb, as_jpx , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jackpot X (Astra, V002)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jolly, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Jolly Roger (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jmpj, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Jumping Jackpots (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jmpja, as_jmpj , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Jumping Jackpots (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_jolly, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Jolly Roger (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_jmpj, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Jumping Jackpots (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_jmpja, as_jmpj , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Jumping Jackpots (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jjive, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jjivea, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jjiveb, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
@@ -2239,37 +2243,37 @@ GAME( 200?, as_jjived, as_jjive , astra_single, astrafr, astrafr_state,
GAME( 200?, as_jjivee, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V101, alt)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jjivef, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_jjiveg, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_kingc, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "King Cash (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_kingca, as_kingc , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "King Cash (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_koc, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "King Of Clubs (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_koca, as_koc , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "King Of Clubs (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_lbt, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Little Big 10 (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_lbta, as_lbt , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Little Big 10 (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_kingc, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "King Cash (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_kingca, as_kingc , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "King Cash (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_koc, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "King Of Clubs (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_koca, as_koc , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "King Of Clubs (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_lbt, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Little Big 10 (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_lbta, as_lbt , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Little Big 10 (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ldl, 0 , astra_single_2e, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V700)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ldla, as_ldl , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V600)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ldlb, as_ldl , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V312)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ldlc, as_ldl , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V003)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ldld, as_ldl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Little Devils (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ldle, as_ldl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Little Devils (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_ldld, as_ldl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Little Devils (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_ldle, as_ldl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Little Devils (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_mp, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Lowen", "Mission Possible (Lowen, V118)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_mp2, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Lowen", "Mission Possible 2 (Lowen, V114)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_mp2, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Lowen", "Mission Possible 2 (Lowen, V114)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_otr, 0 , astra_single_2e, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_otra, as_otr , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // incomplete set
GAME( 200?, as_ptf, 0 , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // strange extra sound(?) roms in here
GAME( 200?, as_ptfa, as_ptf , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V803)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ptfb, as_ptf , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V905)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ptfc, as_ptf , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_pia, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Pay It Again (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_piaa, as_pia , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Pay It Again (Astra, V206)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_piab, as_pia , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Pay It Again (Astra, V904)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_pia, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Pay It Again (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_piaa, as_pia , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Pay It Again (Astra, V206)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_piab, as_pia , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Pay It Again (Astra, V904)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_pharg, 0 , astra_single_37, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_pharga, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_phargb, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_phargc, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_phargd, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_pharge, as_pharg , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_pb, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Piggy Banking (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_pb, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Piggy Banking (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
// this might be another mix of master / slave sets, and multiple games....
GAME( 200?, as_rtr, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rtra, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 1)" , GAME_IS_SKELETON_MECHANICAL)
@@ -2281,44 +2285,44 @@ GAME( 200?, as_rtrf, as_rtr , astra_single_2e, astrafr, astrafr_state,
GAME( 200?, as_rtrg, as_rtr , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V200, alt)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rtrh, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rab, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Ring A Bell (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_raba, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Ring A Bell (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rabb, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Ring A Bell (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rabc, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Ring A Bell (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbg, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V304)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbga, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V303)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbgb, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbgc, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbgd, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbge, as_rab , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "River Boat Gambler (Astra, V008)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rab, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Ring A Bell (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_raba, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Ring A Bell (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rabb, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Ring A Bell (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rabc, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Ring A Bell (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rbg, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V304)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rbga, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V303)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rbgb, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rbgc, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rbgd, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rbge, as_rab , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "River Boat Gambler (Astra, V008)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_rbglo, 0 , astrafr_dual_37, astrafr, astrafr_state, astradec_sml_dual, ROT0, "Lowen", "River Boat Gambler (Lowen, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rox, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Roll X (Astra, V006)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_csv, 0 , astra_single_37, astrafr, astrafr_state, 0, ROT0, "Astra", "Slot Slant (?) (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_sltcl, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Slots Classic (?) (Astra)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rox, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Roll X (Astra, V006)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_csv, 0 , astra_single_37, astrafr, driver_device, 0, ROT0, "Astra", "Slot Slant (?) (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_sltcl, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Slots Classic (?) (Astra)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_stp, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Stampede (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_stpa, as_stp , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Stampede (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_stpb, as_stp , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Stampede (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_siu, 0 , astra_single_37, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Step It Up (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL) // extra sound roms(?) in this set
GAME( 200?, as_siua, as_siu , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Step It Up (Astra, V203)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_sld, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V700)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_slda, as_sld , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V600)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_sldb, as_sld , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V500)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_sldc, as_sld , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V400)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_sldd, as_sld , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_slde, as_sld , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Super Little Devil (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_sld, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V700)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_slda, as_sld , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V600)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_sldb, as_sld , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V500)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_sldc, as_sld , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V400)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_sldd, as_sld , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_slde, as_sld , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Super Little Devil (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tem, 0 , astra_single_alt_37, astrafr, astrafr_state, astradec, ROT0, "Astra", "Temptation (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_tema, as_tem , astra_single_alt_37, astrafr, astrafr_state, astradec, ROT0, "Astra", "Temptation (Astra, V006)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tbl, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tbla, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tblb, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tblc, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tbld, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V304)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tble, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V303)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tblf, as_tbl , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Triple Bells (Astra, V301)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_tbl, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_tbla, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_tblb, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_tblc, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_tbld, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V304)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_tble, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V303)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_tblf, as_tbl , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Triple Bells (Astra, V301)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_td, 0 , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Twin Dragons (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_twp, 0 , astra_single_2e, astrafr, astrafr_state, 0, ROT0, "Astra", "Twin Pots (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_twpa, as_twp , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Twin Pots (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_twp, 0 , astra_single_2e, astrafr, driver_device, 0, ROT0, "Astra", "Twin Pots (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_twpa, as_twp , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Twin Pots (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_vn, 0 , astrafr_dual_alt_37, astrafr, astrafr_state, astradec_dual, ROT0, "Astra", "Vegas Nights (Astra, V205)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_vcv, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_vcva, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
@@ -2326,11 +2330,11 @@ GAME( 200?, as_vcvb, as_vcv , astra_single, astrafr, astrafr_state, as
GAME( 200?, as_vcvc, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_vcvd, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_vcve, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ww, 0 , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V203)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_wwa, as_ww , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V204)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_wwb, as_ww , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V205)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_wwc, as_ww , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_wwd, as_ww , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_wwe, as_ww , astra_single, astrafr, astrafr_state, 0, ROT0, "Astra", "Wicked Willy (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_ww, 0 , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V203)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_wwa, as_ww , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V204)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_wwb, as_ww , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V205)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_wwc, as_ww , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_wwd, as_ww , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_wwe, as_ww , astra_single, astrafr, driver_device, 0, ROT0, "Astra", "Wicked Willy (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
GAME( 200?, as_ws, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Win Streak (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) // incomplete dump
diff --git a/src/mame/drivers/astrocde.c b/src/mame/drivers/astrocde.c
index 8b498ea96d8..98ee4f5dde0 100644
--- a/src/mame/drivers/astrocde.c
+++ b/src/mame/drivers/astrocde.c
@@ -1733,111 +1733,102 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( seawolf2 )
+DRIVER_INIT_MEMBER(astrocde_state,seawolf2)
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
- state->m_video_config = 0x00;
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x40, 0x40, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_sound_1_w),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x41, 0x41, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_sound_2_w),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x42, 0x43, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_lamps_w),state));
+ m_video_config = 0x00;
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x40, 0x40, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_sound_1_w),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x41, 0x41, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_sound_2_w),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x42, 0x43, 0, 0xff18, write8_delegate(FUNC(astrocde_state::seawolf2_lamps_w),this));
}
-static DRIVER_INIT( ebases )
+DRIVER_INIT_MEMBER(astrocde_state,ebases)
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
- state->m_video_config = AC_SOUND_PRESENT;
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x20, 0x20, 0, 0xff07, write8_delegate(FUNC(astrocde_state::ebases_coin_w),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x28, 0x28, 0, 0xff07, write8_delegate(FUNC(astrocde_state::ebases_trackball_select_w),state));
+ m_video_config = AC_SOUND_PRESENT;
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x20, 0x20, 0, 0xff07, write8_delegate(FUNC(astrocde_state::ebases_coin_w),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x28, 0x28, 0, 0xff07, write8_delegate(FUNC(astrocde_state::ebases_trackball_select_w),this));
}
-static DRIVER_INIT( spacezap )
+DRIVER_INIT_MEMBER(astrocde_state,spacezap)
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
- state->m_video_config = AC_SOUND_PRESENT | AC_MONITOR_BW;
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x13, 0x13, 0x03ff, 0xff00, read8_delegate(FUNC(astrocde_state::spacezap_io_r),state));
+ m_video_config = AC_SOUND_PRESENT | AC_MONITOR_BW;
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x13, 0x13, 0x03ff, 0xff00, read8_delegate(FUNC(astrocde_state::spacezap_io_r),this));
}
-static DRIVER_INIT( wow )
+DRIVER_INIT_MEMBER(astrocde_state,wow)
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
- state->m_video_config = AC_SOUND_PRESENT | AC_LIGHTPEN_INTS | AC_STARS;
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::wow_io_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x17, 0x17, 0xffff, 0xff00, FUNC(wow_speech_r));
+ m_video_config = AC_SOUND_PRESENT | AC_LIGHTPEN_INTS | AC_STARS;
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::wow_io_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x17, 0x17, 0xffff, 0xff00, FUNC(wow_speech_r));
}
-static DRIVER_INIT( gorf )
+DRIVER_INIT_MEMBER(astrocde_state,gorf)
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
- state->m_video_config = AC_SOUND_PRESENT | AC_LIGHTPEN_INTS | AC_STARS;
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::gorf_io_1_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x16, 0x16, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::gorf_io_2_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x17, 0x17, 0xffff, 0xff00, FUNC(gorf_speech_r));
+ m_video_config = AC_SOUND_PRESENT | AC_LIGHTPEN_INTS | AC_STARS;
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::gorf_io_1_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x16, 0x16, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::gorf_io_2_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x17, 0x17, 0xffff, 0xff00, FUNC(gorf_speech_r));
}
-static DRIVER_INIT( robby )
+DRIVER_INIT_MEMBER(astrocde_state,robby)
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
- state->m_video_config = AC_SOUND_PRESENT;
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::robby_io_r),state));
+ m_video_config = AC_SOUND_PRESENT;
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x15, 0x15, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::robby_io_r),this));
}
-static DRIVER_INIT( profpac )
+DRIVER_INIT_MEMBER(astrocde_state,profpac)
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
- state->m_video_config = AC_SOUND_PRESENT;
- iospace->install_read_handler(0x14, 0x14, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::profpac_io_1_r),state));
- iospace->install_read_handler(0x15, 0x15, 0x77ff, 0xff00, read8_delegate(FUNC(astrocde_state::profpac_io_2_r),state));
+ m_video_config = AC_SOUND_PRESENT;
+ iospace->install_read_handler(0x14, 0x14, 0x0fff, 0xff00, read8_delegate(FUNC(astrocde_state::profpac_io_1_r),this));
+ iospace->install_read_handler(0x15, 0x15, 0x77ff, 0xff00, read8_delegate(FUNC(astrocde_state::profpac_io_2_r),this));
/* reset banking */
- state->profpac_banksw_w(*iospace, 0, 0);
- machine.save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine));
+ profpac_banksw_w(*iospace, 0, 0);
+ machine().save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine()));
}
-static DRIVER_INIT( demndrgn )
+DRIVER_INIT_MEMBER(astrocde_state,demndrgn)
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
- state->m_video_config = 0x00;
- iospace->install_read_handler(0x14, 0x14, 0x1fff, 0xff00, read8_delegate(FUNC(astrocde_state::demndrgn_io_r),state));
+ m_video_config = 0x00;
+ iospace->install_read_handler(0x14, 0x14, 0x1fff, 0xff00, read8_delegate(FUNC(astrocde_state::demndrgn_io_r),this));
iospace->install_read_port(0x1c, 0x1c, 0x0000, 0xff00, "FIREX");
iospace->install_read_port(0x1d, 0x1d, 0x0000, 0xff00, "FIREY");
- iospace->install_write_handler(0x97, 0x97, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::demndrgn_sound_w),state));
+ iospace->install_write_handler(0x97, 0x97, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::demndrgn_sound_w),this));
/* reset banking */
- state->profpac_banksw_w(*iospace, 0, 0);
- machine.save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine));
+ profpac_banksw_w(*iospace, 0, 0);
+ machine().save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine()));
}
-static DRIVER_INIT( tenpindx )
+DRIVER_INIT_MEMBER(astrocde_state,tenpindx)
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
- state->m_video_config = 0x00;
+ m_video_config = 0x00;
iospace->install_read_port(0x60, 0x60, 0x0000, 0xff00, "P60");
iospace->install_read_port(0x61, 0x61, 0x0000, 0xff00, "P61");
iospace->install_read_port(0x62, 0x62, 0x0000, 0xff00, "P62");
iospace->install_read_port(0x63, 0x63, 0x0000, 0xff00, "P63");
iospace->install_read_port(0x64, 0x64, 0x0000, 0xff00, "P64");
- iospace->install_write_handler(0x65, 0x66, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_lamp_w),state));
- iospace->install_write_handler(0x67, 0x67, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_counter_w),state));
- iospace->install_write_handler(0x68, 0x68, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_lights_w),state));
- iospace->install_write_handler(0x97, 0x97, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_sound_w),state));
+ iospace->install_write_handler(0x65, 0x66, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_lamp_w),this));
+ iospace->install_write_handler(0x67, 0x67, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_counter_w),this));
+ iospace->install_write_handler(0x68, 0x68, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_lights_w),this));
+ iospace->install_write_handler(0x97, 0x97, 0x0000, 0xff00, write8_delegate(FUNC(astrocde_state::tenpindx_sound_w),this));
/* reset banking */
- state->profpac_banksw_w(*iospace, 0, 0);
- machine.save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine));
+ profpac_banksw_w(*iospace, 0, 0);
+ machine().save().register_postload(save_prepost_delegate(FUNC(profbank_banksw_restore), &machine()));
}
diff --git a/src/mame/drivers/astrocorp.c b/src/mame/drivers/astrocorp.c
index 5efdfbf4a72..dcd77699581 100644
--- a/src/mame/drivers/astrocorp.c
+++ b/src/mame/drivers/astrocorp.c
@@ -61,6 +61,8 @@ public:
DECLARE_WRITE16_MEMBER(astrocorp_palette_w);
DECLARE_WRITE16_MEMBER(astrocorp_sound_bank_w);
DECLARE_WRITE16_MEMBER(skilldrp_sound_bank_w);
+ DECLARE_DRIVER_INIT(showhanc);
+ DECLARE_DRIVER_INIT(showhand);
};
/***************************************************************************
@@ -1009,10 +1011,10 @@ ROM_END
-static DRIVER_INIT( showhand )
+DRIVER_INIT_MEMBER(astrocorp_state,showhand)
{
#if 0
- UINT16 *rom = (UINT16*)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16*)machine().root_device().memregion("maincpu")->base();
rom[0x0a1a/2] = 0x6000; // hopper jam
@@ -1025,10 +1027,10 @@ static DRIVER_INIT( showhand )
#endif
}
-static DRIVER_INIT( showhanc )
+DRIVER_INIT_MEMBER(astrocorp_state,showhanc)
{
#if 0
- UINT16 *rom = (UINT16*)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16*)machine().root_device().memregion("maincpu")->base();
rom[0x14d4/2] = 0x4e71; // enable full test mode
rom[0x14d6/2] = 0x4e71; // ""
@@ -1040,9 +1042,9 @@ static DRIVER_INIT( showhanc )
GAME( 2000, showhand, 0, showhand, showhand, astrocorp_state, showhand, ROT0, "Astro Corp.", "Show Hand (Italy)", GAME_SUPPORTS_SAVE )
GAME( 2000, showhanc, showhand, showhanc, showhanc, astrocorp_state, showhanc, ROT0, "Astro Corp.", "Wang Pai Dui Jue (China)", GAME_SUPPORTS_SAVE )
-GAME( 2002, skilldrp, 0, skilldrp, skilldrp, astrocorp_state, 0, ROT0, "Astro Corp.", "Skill Drop Georgia (Ver. G1.0S)", GAME_SUPPORTS_SAVE )
-GAME( 2003, speeddrp, 0, speeddrp, skilldrp, astrocorp_state, 0, ROT0, "Astro Corp.", "Speed Drop (Ver. 1.06)", GAME_SUPPORTS_SAVE )
-GAME( 2005?, winbingo, 0, showhand, showhand, astrocorp_state, 0, ROT0, "Astro Corp.", "Win Win Bingo (set 1)", GAME_NOT_WORKING )
-GAME( 2005?, winbingoa, winbingo, showhand, showhand, astrocorp_state, 0, ROT0, "Astro Corp.", "Win Win Bingo (set 2)", GAME_NOT_WORKING )
-GAME( 2005?, zoo, 0, showhand, showhand, astrocorp_state, 0, ROT0, "Astro Corp.", "Zoo (Ver. ZO.02.D)", GAME_NOT_WORKING )
-GAME( 2007?, westvent, 0, showhand, showhand, astrocorp_state, 0, ROT0, "Astro Corp.", "Western Venture (Ver. AA.02.D)", GAME_NOT_WORKING )
+GAME( 2002, skilldrp, 0, skilldrp, skilldrp, driver_device, 0, ROT0, "Astro Corp.", "Skill Drop Georgia (Ver. G1.0S)", GAME_SUPPORTS_SAVE )
+GAME( 2003, speeddrp, 0, speeddrp, skilldrp, driver_device, 0, ROT0, "Astro Corp.", "Speed Drop (Ver. 1.06)", GAME_SUPPORTS_SAVE )
+GAME( 2005?, winbingo, 0, showhand, showhand, driver_device, 0, ROT0, "Astro Corp.", "Win Win Bingo (set 1)", GAME_NOT_WORKING )
+GAME( 2005?, winbingoa, winbingo, showhand, showhand, driver_device, 0, ROT0, "Astro Corp.", "Win Win Bingo (set 2)", GAME_NOT_WORKING )
+GAME( 2005?, zoo, 0, showhand, showhand, driver_device, 0, ROT0, "Astro Corp.", "Zoo (Ver. ZO.02.D)", GAME_NOT_WORKING )
+GAME( 2007?, westvent, 0, showhand, showhand, driver_device, 0, ROT0, "Astro Corp.", "Western Venture (Ver. AA.02.D)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/astrof.c b/src/mame/drivers/astrof.c
index c3b64e5195c..19c46c847f2 100644
--- a/src/mame/drivers/astrof.c
+++ b/src/mame/drivers/astrof.c
@@ -1286,50 +1286,47 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( abattle )
+DRIVER_INIT_MEMBER(astrof_state,abattle)
{
/* use the protection PROM to decrypt the ROMs */
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8 *prom = machine.root_device().memregion("user1")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8 *prom = machine().root_device().memregion("user1")->base();
int i;
for(i = 0xd000; i < 0x10000; i++)
rom[i] = prom[rom[i]];
/* set up protection handlers */
- astrof_state *state = machine.driver_data<astrof_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::abattle_coin_prot_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::abattle_coin_prot_r),this));
}
-static DRIVER_INIT( afire )
+DRIVER_INIT_MEMBER(astrof_state,afire)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int i;
for(i = 0xd000; i < 0x10000; i++)
rom[i] = ~rom[i];
/* set up protection handlers */
- astrof_state *state = machine.driver_data<astrof_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::afire_coin_prot_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::afire_coin_prot_r),this));
}
-static DRIVER_INIT( sstarbtl )
+DRIVER_INIT_MEMBER(astrof_state,sstarbtl)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int i;
for(i = 0xd000; i < 0x10000; i++)
rom[i] = ~rom[i];
/* set up protection handlers */
- astrof_state *state = machine.driver_data<astrof_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::abattle_coin_prot_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa003, 0xa003, read8_delegate(FUNC(astrof_state::shoot_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa004, 0xa004, read8_delegate(FUNC(astrof_state::abattle_coin_prot_r),this));
}
@@ -1340,16 +1337,16 @@ static DRIVER_INIT( sstarbtl )
*
*************************************/
-GAME( 1979, astrof, 0, astrof, astrof, astrof_state, 0, ROT90, "Data East", "Astro Fighter (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, astrof2, astrof, astrof, astrof, astrof_state, 0, ROT90, "Data East", "Astro Fighter (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, astrof3, astrof, astrof, astrof, astrof_state, 0, ROT90, "Data East", "Astro Fighter (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, astrof, 0, astrof, astrof, driver_device, 0, ROT90, "Data East", "Astro Fighter (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, astrof2, astrof, astrof, astrof, driver_device, 0, ROT90, "Data East", "Astro Fighter (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, astrof3, astrof, astrof, astrof, driver_device, 0, ROT90, "Data East", "Astro Fighter (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, abattle, astrof, abattle, abattle, astrof_state, abattle, ROT90, "bootleg? (Sidam)", "Astro Battle (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, abattle2, astrof, abattle, abattle, astrof_state, abattle, ROT90, "bootleg? (Sidam)", "Astro Battle (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, afire, astrof, abattle, abattle, astrof_state, afire, ROT90, "bootleg (Rene Pierre)", "Astro Fire", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, acombat, astrof, abattle, abattle, astrof_state, afire, ROT90, "bootleg", "Astro Combat (newer, CB)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, acombato, astrof, abattle, abattle, astrof_state, afire, ROT90, "bootleg", "Astro Combat (older, PZ)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, sstarbtl, astrof, abattle, abattle, astrof_state, sstarbtl,ROT90, "bootleg", "Super Star Battle", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, spfghmk2, 0, spfghmk2, spfghmk2, astrof_state, 0, ROT90, "Data East", "Space Fighter Mark II (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, spfghmk22,spfghmk2, spfghmk2, spfghmk22, astrof_state,0, ROT90, "Data East", "Space Fighter Mark II (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, tomahawk, 0, tomahawk, tomahawk, astrof_state, 0, ROT90, "Data East", "Tomahawk 777 (rev 5)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, tomahawk1,tomahawk, tomahawk, tomahawk1, astrof_state,0, ROT90, "Data East", "Tomahawk 777 (rev 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, spfghmk2, 0, spfghmk2, spfghmk2, driver_device, 0, ROT90, "Data East", "Space Fighter Mark II (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, spfghmk22,spfghmk2, spfghmk2, spfghmk22, driver_device,0, ROT90, "Data East", "Space Fighter Mark II (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, tomahawk, 0, tomahawk, tomahawk, driver_device, 0, ROT90, "Data East", "Tomahawk 777 (rev 5)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, tomahawk1,tomahawk, tomahawk, tomahawk1, driver_device,0, ROT90, "Data East", "Tomahawk 777 (rev 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/astropc.c b/src/mame/drivers/astropc.c
index 73c0d077230..84a34a16c52 100644
--- a/src/mame/drivers/astropc.c
+++ b/src/mame/drivers/astropc.c
@@ -25,6 +25,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(astropc);
};
static ADDRESS_MAP_START( astropc_map, AS_PROGRAM, 32, astropc_state )
@@ -154,7 +156,7 @@ ROM_START( rasce )
ROM_END
-static DRIVER_INIT(astropc)
+DRIVER_INIT_MEMBER(astropc_state,astropc)
{
}
diff --git a/src/mame/drivers/asuka.c b/src/mame/drivers/asuka.c
index 1c96ca3b5ff..8a7f2e5bc0d 100644
--- a/src/mame/drivers/asuka.c
+++ b/src/mame/drivers/asuka.c
@@ -1536,19 +1536,19 @@ ROM_START( eto )
ROM_END
-GAME( 1988, bonzeadv, 0, bonzeadv, bonzeadv, asuka_state, 0, ROT0, "Taito Corporation Japan", "Bonze Adventure (World, Newer)", GAME_SUPPORTS_SAVE )
-GAME( 1988, bonzeadvo, bonzeadv, bonzeadv, bonzeadv, asuka_state, 0, ROT0, "Taito Corporation Japan", "Bonze Adventure (World, Older)", GAME_SUPPORTS_SAVE )
-GAME( 1988, bonzeadvu, bonzeadv, bonzeadv, jigkmgri, asuka_state, 0, ROT0, "Taito America Corporation", "Bonze Adventure (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, jigkmgri, bonzeadv, bonzeadv, jigkmgri, asuka_state, 0, ROT0, "Taito Corporation", "Jigoku Meguri (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, asuka, 0, asuka, asuka, asuka_state, 0, ROT270, "Taito Corporation", "Asuka & Asuka (World)", GAME_SUPPORTS_SAVE )
-GAME( 1988, asukaj, asuka, asuka, asuka, asuka_state, 0, ROT270, "Taito Corporation", "Asuka & Asuka (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mofflott, 0, mofflott, mofflott, asuka_state, 0, ROT270, "Taito Corporation", "Maze of Flott (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadash, 0, cadash, cadash, asuka_state, 0, ROT0, "Taito Corporation Japan", "Cadash (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadashj, cadash, cadash, cadashj, asuka_state, 0, ROT0, "Taito Corporation", "Cadash (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadashu, cadash, cadash, cadashu, asuka_state, 0, ROT0, "Taito America Corporation", "Cadash (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadashi, cadash, cadash, cadash, asuka_state, 0, ROT0, "Taito Corporation Japan", "Cadash (Italy)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadashf, cadash, cadash, cadash, asuka_state, 0, ROT0, "Taito Corporation Japan", "Cadash (France)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadashg, cadash, cadash, cadash, asuka_state, 0, ROT0, "Taito Corporation Japan", "Cadash (Germany)", GAME_SUPPORTS_SAVE )
-GAME( 1992, galmedes, 0, galmedes, galmedes, asuka_state, 0, ROT270, "Visco", "Galmedes (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, earthjkr, 0, galmedes, earthjkr, asuka_state, 0, ROT270, "Visco", "U.N. Defense Force: Earth Joker", GAME_SUPPORTS_SAVE )
-GAME( 1994, eto, 0, eto, eto, asuka_state, 0, ROT0, "Visco", "Kokontouzai Eto Monogatari (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, bonzeadv, 0, bonzeadv, bonzeadv, driver_device, 0, ROT0, "Taito Corporation Japan", "Bonze Adventure (World, Newer)", GAME_SUPPORTS_SAVE )
+GAME( 1988, bonzeadvo, bonzeadv, bonzeadv, bonzeadv, driver_device, 0, ROT0, "Taito Corporation Japan", "Bonze Adventure (World, Older)", GAME_SUPPORTS_SAVE )
+GAME( 1988, bonzeadvu, bonzeadv, bonzeadv, jigkmgri, driver_device, 0, ROT0, "Taito America Corporation", "Bonze Adventure (US)", GAME_SUPPORTS_SAVE )
+GAME( 1988, jigkmgri, bonzeadv, bonzeadv, jigkmgri, driver_device, 0, ROT0, "Taito Corporation", "Jigoku Meguri (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, asuka, 0, asuka, asuka, driver_device, 0, ROT270, "Taito Corporation", "Asuka & Asuka (World)", GAME_SUPPORTS_SAVE )
+GAME( 1988, asukaj, asuka, asuka, asuka, driver_device, 0, ROT270, "Taito Corporation", "Asuka & Asuka (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, mofflott, 0, mofflott, mofflott, driver_device, 0, ROT270, "Taito Corporation", "Maze of Flott (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, cadash, 0, cadash, cadash, driver_device, 0, ROT0, "Taito Corporation Japan", "Cadash (World)", GAME_SUPPORTS_SAVE )
+GAME( 1989, cadashj, cadash, cadash, cadashj, driver_device, 0, ROT0, "Taito Corporation", "Cadash (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, cadashu, cadash, cadash, cadashu, driver_device, 0, ROT0, "Taito America Corporation", "Cadash (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, cadashi, cadash, cadash, cadash, driver_device, 0, ROT0, "Taito Corporation Japan", "Cadash (Italy)", GAME_SUPPORTS_SAVE )
+GAME( 1989, cadashf, cadash, cadash, cadash, driver_device, 0, ROT0, "Taito Corporation Japan", "Cadash (France)", GAME_SUPPORTS_SAVE )
+GAME( 1989, cadashg, cadash, cadash, cadash, driver_device, 0, ROT0, "Taito Corporation Japan", "Cadash (Germany)", GAME_SUPPORTS_SAVE )
+GAME( 1992, galmedes, 0, galmedes, galmedes, driver_device, 0, ROT270, "Visco", "Galmedes (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1993, earthjkr, 0, galmedes, earthjkr, driver_device, 0, ROT270, "Visco", "U.N. Defense Force: Earth Joker", GAME_SUPPORTS_SAVE )
+GAME( 1994, eto, 0, eto, eto, driver_device, 0, ROT0, "Visco", "Kokontouzai Eto Monogatari (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/atari_s1.c b/src/mame/drivers/atari_s1.c
index 861de8fddd7..a8672c98684 100644
--- a/src/mame/drivers/atari_s1.c
+++ b/src/mame/drivers/atari_s1.c
@@ -22,6 +22,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(atari_s1);
};
static ADDRESS_MAP_START( atari_s1_map, AS_PROGRAM, 8, atari_s1_state )
@@ -39,7 +41,7 @@ void atari_s1_state::machine_reset()
{
}
-static DRIVER_INIT( atari_s1 )
+DRIVER_INIT_MEMBER(atari_s1_state,atari_s1)
{
}
diff --git a/src/mame/drivers/atari_s2.c b/src/mame/drivers/atari_s2.c
index d00b318ebbf..740e45b00b2 100644
--- a/src/mame/drivers/atari_s2.c
+++ b/src/mame/drivers/atari_s2.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(atari_s2);
};
@@ -39,7 +41,7 @@ void atari_s2_state::machine_reset()
{
}
-static DRIVER_INIT( atari_s2 )
+DRIVER_INIT_MEMBER(atari_s2_state,atari_s2)
{
}
diff --git a/src/mame/drivers/atari_s3.c b/src/mame/drivers/atari_s3.c
index c2a08553ab8..0f83a53070f 100644
--- a/src/mame/drivers/atari_s3.c
+++ b/src/mame/drivers/atari_s3.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(atari_s3);
};
@@ -39,7 +41,7 @@ void atari_s3_state::machine_reset()
{
}
-static DRIVER_INIT( atari_s3 )
+DRIVER_INIT_MEMBER(atari_s3_state,atari_s3)
{
}
diff --git a/src/mame/drivers/atarifb.c b/src/mame/drivers/atarifb.c
index ece1678013b..9631849363c 100644
--- a/src/mame/drivers/atarifb.c
+++ b/src/mame/drivers/atarifb.c
@@ -781,9 +781,9 @@ ROM_END
*************************************/
/* YEAR NAME PARENT MACHINE INPUT */
-GAMEL( 1978, atarifb, 0, atarifb, atarifb, atarifb_state, 0, ROT0, "Atari", "Atari Football (revision 2)", GAME_SUPPORTS_SAVE, layout_atarifb )
-GAMEL( 1978, atarifb1, atarifb, atarifb, atarifb, atarifb_state, 0, ROT0, "Atari", "Atari Football (revision 1)", GAME_SUPPORTS_SAVE, layout_atarifb )
-GAMEL( 1979, atarifb4, atarifb, atarifb4, atarifb4, atarifb_state, 0, ROT0, "Atari", "Atari Football (4 players)", GAME_SUPPORTS_SAVE, layout_atarifb4 )
-GAMEL( 1979, abaseb, 0, abaseb, abaseb, atarifb_state, 0, ROT0, "Atari", "Atari Baseball (set 1)", GAME_SUPPORTS_SAVE, layout_abaseb )
-GAMEL( 1979, abaseb2, abaseb, abaseb, abaseb, atarifb_state, 0, ROT0, "Atari", "Atari Baseball (set 2)", GAME_SUPPORTS_SAVE, layout_abaseb )
-GAME ( 1980, soccer, 0, soccer, soccer, atarifb_state, 0, ROT0, "Atari", "Atari Soccer", GAME_SUPPORTS_SAVE )
+GAMEL( 1978, atarifb, 0, atarifb, atarifb, driver_device, 0, ROT0, "Atari", "Atari Football (revision 2)", GAME_SUPPORTS_SAVE, layout_atarifb )
+GAMEL( 1978, atarifb1, atarifb, atarifb, atarifb, driver_device, 0, ROT0, "Atari", "Atari Football (revision 1)", GAME_SUPPORTS_SAVE, layout_atarifb )
+GAMEL( 1979, atarifb4, atarifb, atarifb4, atarifb4, driver_device, 0, ROT0, "Atari", "Atari Football (4 players)", GAME_SUPPORTS_SAVE, layout_atarifb4 )
+GAMEL( 1979, abaseb, 0, abaseb, abaseb, driver_device, 0, ROT0, "Atari", "Atari Baseball (set 1)", GAME_SUPPORTS_SAVE, layout_abaseb )
+GAMEL( 1979, abaseb2, abaseb, abaseb, abaseb, driver_device, 0, ROT0, "Atari", "Atari Baseball (set 2)", GAME_SUPPORTS_SAVE, layout_abaseb )
+GAME ( 1980, soccer, 0, soccer, soccer, driver_device, 0, ROT0, "Atari", "Atari Soccer", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/atarig1.c b/src/mame/drivers/atarig1.c
index 898a882a7ee..b29b4d1e770 100644
--- a/src/mame/drivers/atarig1.c
+++ b/src/mame/drivers/atarig1.c
@@ -1230,14 +1230,14 @@ static void init_g1_common(running_machine &machine, offs_t slapstic_base, int s
state->m_is_pitfight = is_pitfight;
}
-static DRIVER_INIT( hydra ) { init_g1_common(machine, 0x078000, 116, 0); }
-static DRIVER_INIT( hydrap ) { init_g1_common(machine, 0x000000, 0, 0); }
-
-static DRIVER_INIT( pitfight9 ) { init_g1_common(machine, 0x038000, 114, 1); }
-static DRIVER_INIT( pitfight7 ) { init_g1_common(machine, 0x038000, 112, 1); }
-static DRIVER_INIT( pitfight ) { init_g1_common(machine, 0x038000, 111, 1); }
-static DRIVER_INIT( pitfightj ) { init_g1_common(machine, 0x038000, 113, 1); }
-static DRIVER_INIT( pitfightb ) { init_g1_common(machine, 0x038000, -1, 1); }
+DRIVER_INIT_MEMBER(atarig1_state,hydra) { init_g1_common(machine(), 0x078000, 116, 0); }
+DRIVER_INIT_MEMBER(atarig1_state,hydrap) { init_g1_common(machine(), 0x000000, 0, 0); }
+
+DRIVER_INIT_MEMBER(atarig1_state,pitfight9) { init_g1_common(machine(), 0x038000, 114, 1); }
+DRIVER_INIT_MEMBER(atarig1_state,pitfight7) { init_g1_common(machine(), 0x038000, 112, 1); }
+DRIVER_INIT_MEMBER(atarig1_state,pitfight) { init_g1_common(machine(), 0x038000, 111, 1); }
+DRIVER_INIT_MEMBER(atarig1_state,pitfightj) { init_g1_common(machine(), 0x038000, 113, 1); }
+DRIVER_INIT_MEMBER(atarig1_state,pitfightb) { init_g1_common(machine(), 0x038000, -1, 1); }
/*************************************
diff --git a/src/mame/drivers/atarig42.c b/src/mame/drivers/atarig42.c
index 81eed7bc22c..a261e2370f7 100644
--- a/src/mame/drivers/atarig42.c
+++ b/src/mame/drivers/atarig42.c
@@ -782,18 +782,17 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( roadriot )
+DRIVER_INIT_MEMBER(atarig42_state,roadriot)
{
- atarig42_state *state = machine.driver_data<atarig42_state>();
- atarijsa_init(machine, "IN2", 0x0040);
+ atarijsa_init(machine(), "IN2", 0x0040);
- state->m_playfield_base = 0x400;
+ m_playfield_base = 0x400;
- address_space *main = machine.device<m68000_device>("maincpu")->space(AS_PROGRAM);
- state->m_sloop_base = main->install_readwrite_handler(0x000000, 0x07ffff, read16_delegate(FUNC(atarig42_state::roadriot_sloop_data_r),state), write16_delegate(FUNC(atarig42_state::roadriot_sloop_data_w),state));
- main->set_direct_update_handler(direct_update_delegate(FUNC(atarig42_state::atarig42_sloop_direct_handler), state));
+ address_space *main = machine().device<m68000_device>("maincpu")->space(AS_PROGRAM);
+ m_sloop_base = main->install_readwrite_handler(0x000000, 0x07ffff, read16_delegate(FUNC(atarig42_state::roadriot_sloop_data_r),this), write16_delegate(FUNC(atarig42_state::roadriot_sloop_data_w),this));
+ main->set_direct_update_handler(direct_update_delegate(FUNC(atarig42_state::atarig42_sloop_direct_handler), this));
- asic65_config(machine, ASIC65_ROMBASED);
+ asic65_config(machine(), ASIC65_ROMBASED);
/*
Road Riot color MUX
@@ -817,22 +816,21 @@ static DRIVER_INIT( roadriot )
}
-static DRIVER_INIT( guardian )
+DRIVER_INIT_MEMBER(atarig42_state,guardian)
{
- atarig42_state *state = machine.driver_data<atarig42_state>();
- atarijsa_init(machine, "IN2", 0x0040);
+ atarijsa_init(machine(), "IN2", 0x0040);
- state->m_playfield_base = 0x000;
+ m_playfield_base = 0x000;
/* it looks like they jsr to $80000 as some kind of protection */
/* put an RTS there so we don't die */
- *(UINT16 *)&state->memregion("maincpu")->base()[0x80000] = 0x4E75;
+ *(UINT16 *)&memregion("maincpu")->base()[0x80000] = 0x4E75;
- address_space *main = machine.device<m68000_device>("maincpu")->space(AS_PROGRAM);
- state->m_sloop_base = main->install_readwrite_handler(0x000000, 0x07ffff, read16_delegate(FUNC(atarig42_state::guardians_sloop_data_r),state), write16_delegate(FUNC(atarig42_state::guardians_sloop_data_w),state));
- main->set_direct_update_handler(direct_update_delegate(FUNC(atarig42_state::atarig42_sloop_direct_handler), state));
+ address_space *main = machine().device<m68000_device>("maincpu")->space(AS_PROGRAM);
+ m_sloop_base = main->install_readwrite_handler(0x000000, 0x07ffff, read16_delegate(FUNC(atarig42_state::guardians_sloop_data_r),this), write16_delegate(FUNC(atarig42_state::guardians_sloop_data_w),this));
+ main->set_direct_update_handler(direct_update_delegate(FUNC(atarig42_state::atarig42_sloop_direct_handler), this));
- asic65_config(machine, ASIC65_GUARDIANS);
+ asic65_config(machine(), ASIC65_GUARDIANS);
/*
Guardians color MUX
diff --git a/src/mame/drivers/atarigt.c b/src/mame/drivers/atarigt.c
index 833927c753c..e23660ff877 100644
--- a/src/mame/drivers/atarigt.c
+++ b/src/mame/drivers/atarigt.c
@@ -1261,22 +1261,21 @@ WRITE32_MEMBER(atarigt_state::tmek_pf_w)
atarigen_playfield32_w(&space, offset, data, mem_mask);
}
-static DRIVER_INIT( tmek )
+DRIVER_INIT_MEMBER(atarigt_state,tmek)
{
- atarigt_state *state = machine.driver_data<atarigt_state>();
- state->m_eeprom_default = NULL;
- state->m_is_primrage = 0;
+ m_eeprom_default = NULL;
+ m_is_primrage = 0;
- cage_init(machine, 0x4fad);
+ cage_init(machine(), 0x4fad);
cage_set_irq_handler(cage_irq_callback);
/* setup protection */
- state->m_protection_r = tmek_protection_r;
- state->m_protection_w = tmek_protection_w;
+ m_protection_r = tmek_protection_r;
+ m_protection_w = tmek_protection_w;
/* temp hack */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd72000, 0xd75fff, write32_delegate(FUNC(atarigt_state::tmek_pf_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd72000, 0xd75fff, write32_delegate(FUNC(atarigt_state::tmek_pf_w),this));
}
@@ -1295,10 +1294,8 @@ static void primrage_init_common(running_machine &machine, offs_t cage_speedup)
state->m_protection_w = primrage_protection_w;
}
-static DRIVER_INIT( primrage ) { primrage_init_common(machine, 0x42f2); }
-static DRIVER_INIT( primrage20 ) { primrage_init_common(machine, 0x48a4); }
-
-
+DRIVER_INIT_MEMBER(atarigt_state,primrage) { primrage_init_common(machine(), 0x42f2); }
+DRIVER_INIT_MEMBER(atarigt_state,primrage20) { primrage_init_common(machine(), 0x48a4); }
/*************************************
*
diff --git a/src/mame/drivers/atarigx2.c b/src/mame/drivers/atarigx2.c
index 5fcfe5d2e02..5beecbda9d3 100644
--- a/src/mame/drivers/atarigx2.c
+++ b/src/mame/drivers/atarigx2.c
@@ -2186,23 +2186,21 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( spclords )
+DRIVER_INIT_MEMBER(atarigx2_state,spclords)
{
- atarigx2_state *state = machine.driver_data<atarigx2_state>();
- atarijsa_init(machine, "SERVICE", 0x0040);
+ atarijsa_init(machine(), "SERVICE", 0x0040);
- state->m_playfield_base = 0x000;
+ m_playfield_base = 0x000;
}
-static DRIVER_INIT( motofren )
+DRIVER_INIT_MEMBER(atarigx2_state,motofren)
{
- atarigx2_state *state = machine.driver_data<atarigx2_state>();
- atarijsa_init(machine, "SERVICE", 0x0040);
+ atarijsa_init(machine(), "SERVICE", 0x0040);
- state->m_playfield_base = 0x400;
+ m_playfield_base = 0x400;
/*
L/W=!68.A23*!E.A22*!E.A21 = 000x xxxx = 000000-1fffff
+68.A23*E.A22*E.A21*68.A20*68.A19*68.A18*68.A17 = 1111 111x = fe0000-ffffff
@@ -2232,15 +2230,14 @@ READ32_MEMBER(atarigx2_state::rrreveng_prot_r)
return 0;
}
-static DRIVER_INIT( rrreveng )
+DRIVER_INIT_MEMBER(atarigx2_state,rrreveng)
{
- atarigx2_state *state = machine.driver_data<atarigx2_state>();
- atarijsa_init(machine, "SERVICE", 0x0040);
+ atarijsa_init(machine(), "SERVICE", 0x0040);
- state->m_playfield_base = 0x000;
+ m_playfield_base = 0x000;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xca0fc0, 0xca0fc3, read32_delegate(FUNC(atarigx2_state::rrreveng_prot_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xca0fc0, 0xca0fc3, read32_delegate(FUNC(atarigx2_state::rrreveng_prot_r),this));
}
diff --git a/src/mame/drivers/atarisy1.c b/src/mame/drivers/atarisy1.c
index 50dddb87774..55787e4f9df 100644
--- a/src/mame/drivers/atarisy1.c
+++ b/src/mame/drivers/atarisy1.c
@@ -2340,69 +2340,63 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( marble )
+DRIVER_INIT_MEMBER(atarisy1_state,marble)
{
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
- atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 103);
+ atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 103);
- state->m_joystick_type = 0; /* none */
- state->m_trackball_type = 1; /* rotated */
+ m_joystick_type = 0; /* none */
+ m_trackball_type = 1; /* rotated */
}
-static DRIVER_INIT( peterpak )
+DRIVER_INIT_MEMBER(atarisy1_state,peterpak)
{
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
- atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 107);
+ atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 107);
- state->m_joystick_type = 1; /* digital */
- state->m_trackball_type = 0; /* none */
+ m_joystick_type = 1; /* digital */
+ m_trackball_type = 0; /* none */
}
-static DRIVER_INIT( indytemp )
+DRIVER_INIT_MEMBER(atarisy1_state,indytemp)
{
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
- atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 105);
+ atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 105);
- state->m_joystick_type = 1; /* digital */
- state->m_trackball_type = 0; /* none */
+ m_joystick_type = 1; /* digital */
+ m_trackball_type = 0; /* none */
}
-static DRIVER_INIT( roadrunn )
+DRIVER_INIT_MEMBER(atarisy1_state,roadrunn)
{
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
- atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 108);
+ atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 108);
- state->m_joystick_type = 2; /* analog */
- state->m_trackball_type = 0; /* none */
+ m_joystick_type = 2; /* analog */
+ m_trackball_type = 0; /* none */
}
-static DRIVER_INIT( roadb109 )
+DRIVER_INIT_MEMBER(atarisy1_state,roadb109)
{
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
- atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 109);
+ atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 109);
- state->m_joystick_type = 3; /* pedal */
- state->m_trackball_type = 2; /* steering wheel */
+ m_joystick_type = 3; /* pedal */
+ m_trackball_type = 2; /* steering wheel */
}
-static DRIVER_INIT( roadb110 )
+DRIVER_INIT_MEMBER(atarisy1_state,roadb110)
{
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
- atarigen_slapstic_init(machine.device("maincpu"), 0x080000, 0, 110);
+ atarigen_slapstic_init(machine().device("maincpu"), 0x080000, 0, 110);
- state->m_joystick_type = 3; /* pedal */
- state->m_trackball_type = 2; /* steering wheel */
+ m_joystick_type = 3; /* pedal */
+ m_trackball_type = 2; /* steering wheel */
}
diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c
index 5cad95f7210..df36d6be3f2 100644
--- a/src/mame/drivers/atarisy2.c
+++ b/src/mame/drivers/atarisy2.c
@@ -3191,13 +3191,12 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( paperboy )
+DRIVER_INIT_MEMBER(atarisy2_state,paperboy)
{
int i;
- atarisy2_state *state = machine.driver_data<atarisy2_state>();
- UINT8 *cpu1 = state->memregion("maincpu")->base();
+ UINT8 *cpu1 = memregion("maincpu")->base();
- slapstic_init(machine, 105);
+ slapstic_init(machine(), 105);
/* expand the 16k program ROMs into full 64k chunks */
for (i = 0x10000; i < 0x90000; i += 0x20000)
@@ -3207,69 +3206,65 @@ static DRIVER_INIT( paperboy )
memcpy(&cpu1[i + 0x18000], &cpu1[i], 0x8000);
}
- state->m_pedal_count = 0;
- state->m_has_tms5220 = 1;
- tms5220_rsq_w(machine.device("tms"), 1); // /RS is tied high on sys2 hw
+ m_pedal_count = 0;
+ m_has_tms5220 = 1;
+ tms5220_rsq_w(machine().device("tms"), 1); // /RS is tied high on sys2 hw
}
-static DRIVER_INIT( 720 )
+DRIVER_INIT_MEMBER(atarisy2_state,720)
{
/* without the default EEPROM, 720 hangs at startup due to communication
issues with the sound CPU; temporarily increasing the sound CPU frequency
to ~2.2MHz "fixes" the problem */
- atarisy2_state *state = machine.driver_data<atarisy2_state>();
- slapstic_init(machine, 107);
+ slapstic_init(machine(), 107);
- state->m_pedal_count = -1;
- state->m_has_tms5220 = 1;
- tms5220_rsq_w(machine.device("tms"), 1); // /RS is tied high on sys2 hw
+ m_pedal_count = -1;
+ m_has_tms5220 = 1;
+ tms5220_rsq_w(machine().device("tms"), 1); // /RS is tied high on sys2 hw
}
-static DRIVER_INIT( ssprint )
+DRIVER_INIT_MEMBER(atarisy2_state,ssprint)
{
- atarisy2_state *state = machine.driver_data<atarisy2_state>();
int i;
- UINT8 *cpu1 = state->memregion("maincpu")->base();
+ UINT8 *cpu1 = memregion("maincpu")->base();
- slapstic_init(machine, 108);
+ slapstic_init(machine(), 108);
/* expand the 32k program ROMs into full 64k chunks */
for (i = 0x10000; i < 0x90000; i += 0x20000)
memcpy(&cpu1[i + 0x10000], &cpu1[i], 0x10000);
- state->m_pedal_count = 3;
- state->m_has_tms5220 = 0;
+ m_pedal_count = 3;
+ m_has_tms5220 = 0;
}
-static DRIVER_INIT( csprint )
+DRIVER_INIT_MEMBER(atarisy2_state,csprint)
{
int i;
- atarisy2_state *state = machine.driver_data<atarisy2_state>();
- UINT8 *cpu1 = state->memregion("maincpu")->base();
+ UINT8 *cpu1 = memregion("maincpu")->base();
- slapstic_init(machine, 109);
+ slapstic_init(machine(), 109);
/* expand the 32k program ROMs into full 64k chunks */
for (i = 0x10000; i < 0x90000; i += 0x20000)
memcpy(&cpu1[i + 0x10000], &cpu1[i], 0x10000);
- state->m_pedal_count = 2;
- state->m_has_tms5220 = 0;
+ m_pedal_count = 2;
+ m_has_tms5220 = 0;
}
-static DRIVER_INIT( apb )
+DRIVER_INIT_MEMBER(atarisy2_state,apb)
{
- atarisy2_state *state = machine.driver_data<atarisy2_state>();
- slapstic_init(machine, 110);
+ slapstic_init(machine(), 110);
- state->m_pedal_count = 2;
- state->m_has_tms5220 = 1;
- tms5220_rsq_w(machine.device("tms"), 1); // /RS is tied high on sys2 hw
+ m_pedal_count = 2;
+ m_has_tms5220 = 1;
+ tms5220_rsq_w(machine().device("tms"), 1); // /RS is tied high on sys2 hw
}
diff --git a/src/mame/drivers/atarisy4.c b/src/mame/drivers/atarisy4.c
index 48fa975ef7a..c621be000ee 100644
--- a/src/mame/drivers/atarisy4.c
+++ b/src/mame/drivers/atarisy4.c
@@ -52,6 +52,8 @@ public:
DECLARE_READ16_MEMBER(dsp1_bio_r);
DECLARE_WRITE16_MEMBER(dsp1_bank_w);
DECLARE_READ16_MEMBER(analog_r);
+ DECLARE_DRIVER_INIT(airrace);
+ DECLARE_DRIVER_INIT(laststar);
};
@@ -960,43 +962,41 @@ next_line:
}
}
-static DRIVER_INIT( laststar )
+DRIVER_INIT_MEMBER(atarisy4_state,laststar)
{
- atarisy4_state *state = machine.driver_data<atarisy4_state>();
- address_space *main = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *main = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* Allocate 16kB of shared RAM */
- state->m_shared_ram[0] = auto_alloc_array_clear(machine, UINT16, 0x2000);
+ m_shared_ram[0] = auto_alloc_array_clear(machine(), UINT16, 0x2000);
/* Populate the 68000 address space with data from the HEX files */
- load_hexfile(main, state->memregion("code")->base());
- load_hexfile(main, state->memregion("data")->base());
+ load_hexfile(main, memregion("code")->base());
+ load_hexfile(main, memregion("data")->base());
/* Set up the DSP */
- state->membank("dsp0_bank0")->set_base(state->m_shared_ram[0]);
- state->membank("dsp0_bank1")->set_base(&state->m_shared_ram[0][0x800]);
- load_ldafile(machine.device("dsp0")->memory().space(AS_PROGRAM), state->memregion("dsp")->base());
+ membank("dsp0_bank0")->set_base(m_shared_ram[0]);
+ membank("dsp0_bank1")->set_base(&m_shared_ram[0][0x800]);
+ load_ldafile(machine().device("dsp0")->memory().space(AS_PROGRAM), memregion("dsp")->base());
}
-static DRIVER_INIT( airrace )
+DRIVER_INIT_MEMBER(atarisy4_state,airrace)
{
- atarisy4_state *state = machine.driver_data<atarisy4_state>();
/* Allocate two sets of 32kB shared RAM */
- state->m_shared_ram[0] = auto_alloc_array_clear(machine, UINT16, 0x4000);
- state->m_shared_ram[1] = auto_alloc_array_clear(machine, UINT16, 0x4000);
+ m_shared_ram[0] = auto_alloc_array_clear(machine(), UINT16, 0x4000);
+ m_shared_ram[1] = auto_alloc_array_clear(machine(), UINT16, 0x4000);
/* Populate RAM with data from the HEX files */
- load_hexfile(machine.device("maincpu")->memory().space(AS_PROGRAM), state->memregion("code")->base());
+ load_hexfile(machine().device("maincpu")->memory().space(AS_PROGRAM), memregion("code")->base());
/* Set up the first DSP */
- state->membank("dsp0_bank0")->set_base(state->m_shared_ram[0]);
- state->membank("dsp0_bank1")->set_base(&state->m_shared_ram[0][0x800]);
- load_ldafile(machine.device("dsp0")->memory().space(AS_PROGRAM), state->memregion("dsp")->base());
+ membank("dsp0_bank0")->set_base(m_shared_ram[0]);
+ membank("dsp0_bank1")->set_base(&m_shared_ram[0][0x800]);
+ load_ldafile(machine().device("dsp0")->memory().space(AS_PROGRAM), memregion("dsp")->base());
/* Set up the second DSP */
- state->membank("dsp1_bank0")->set_base(state->m_shared_ram[1]);
- state->membank("dsp1_bank1")->set_base(&state->m_shared_ram[1][0x800]);
- load_ldafile(machine.device("dsp1")->memory().space(AS_PROGRAM), state->memregion("dsp")->base());
+ membank("dsp1_bank0")->set_base(m_shared_ram[1]);
+ membank("dsp1_bank1")->set_base(&m_shared_ram[1][0x800]);
+ load_ldafile(machine().device("dsp1")->memory().space(AS_PROGRAM), memregion("dsp")->base());
}
static MACHINE_RESET( atarisy4 )
diff --git a/src/mame/drivers/ataxx.c b/src/mame/drivers/ataxx.c
index f8f77867b8a..c4ff2d27f3a 100644
--- a/src/mame/drivers/ataxx.c
+++ b/src/mame/drivers/ataxx.c
@@ -705,82 +705,79 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( ataxx )
+DRIVER_INIT_MEMBER(leland_state,ataxx)
{
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
/* set up additional input ports */
- leland_state *state = machine.driver_data<leland_state>();
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x03, read8_delegate(FUNC(leland_state::ataxx_trackball_r),state));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x03, read8_delegate(FUNC(leland_state::ataxx_trackball_r),this));
}
-static DRIVER_INIT( ataxxj )
+DRIVER_INIT_MEMBER(leland_state,ataxxj)
{
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
/* set up additional input ports */
- leland_state *state = machine.driver_data<leland_state>();
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x03, read8_delegate(FUNC(leland_state::ataxx_trackball_r),state));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x03, read8_delegate(FUNC(leland_state::ataxx_trackball_r),this));
}
-static DRIVER_INIT( wsf )
+DRIVER_INIT_MEMBER(leland_state,wsf)
{
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P1_P2");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P3_P4");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "BUTTONS");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P1_P2");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P3_P4");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "BUTTONS");
}
-static DRIVER_INIT( indyheat )
+DRIVER_INIT_MEMBER(leland_state,indyheat)
{
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
/* set up additional input ports */
- leland_state *state = machine.driver_data<leland_state>();
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x02, read8_delegate(FUNC(leland_state::indyheat_wheel_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0x08, 0x0b, read8_delegate(FUNC(leland_state::indyheat_analog_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P1");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P2");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3");
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0x00, 0x02, read8_delegate(FUNC(leland_state::indyheat_wheel_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0x08, 0x0b, read8_delegate(FUNC(leland_state::indyheat_analog_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P1");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P2");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3");
/* set up additional output ports */
- machine.device("master")->memory().space(AS_IO)->install_write_handler(0x08, 0x0b, write8_delegate(FUNC(leland_state::indyheat_analog_w),state));
+ machine().device("master")->memory().space(AS_IO)->install_write_handler(0x08, 0x0b, write8_delegate(FUNC(leland_state::indyheat_analog_w),this));
}
-static DRIVER_INIT( brutforc )
+DRIVER_INIT_MEMBER(leland_state,brutforc)
{
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P2");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P1");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P2");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P1");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3");
}
-static DRIVER_INIT( asylum )
+DRIVER_INIT_MEMBER(leland_state,asylum)
{
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
/* asylum appears to have some extra RAM for the slave CPU */
- machine.device("slave")->memory().space(AS_PROGRAM)->install_ram(0xf000, 0xfffb);
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_ram(0xf000, 0xfffb);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P2");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P1");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0d, 0x0d, "P2");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0e, 0x0e, "P1");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x0f, 0x0f, "P3");
}
diff --git a/src/mame/drivers/atetris.c b/src/mame/drivers/atetris.c
index aab634bdf60..68f1bf2346c 100644
--- a/src/mame/drivers/atetris.c
+++ b/src/mame/drivers/atetris.c
@@ -493,14 +493,13 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( atetris )
+DRIVER_INIT_MEMBER(atetris_state,atetris)
{
- atetris_state *state = machine.driver_data<atetris_state>();
- UINT8 *rgn = state->memregion("maincpu")->base();
+ UINT8 *rgn = memregion("maincpu")->base();
- slapstic_init(machine, 101);
- state->m_slapstic_source = &rgn[0x10000];
- state->m_slapstic_base = &rgn[0x04000];
+ slapstic_init(machine(), 101);
+ m_slapstic_source = &rgn[0x10000];
+ m_slapstic_base = &rgn[0x04000];
}
diff --git a/src/mame/drivers/atlantis.c b/src/mame/drivers/atlantis.c
index 7b3540304eb..e4b40d38abd 100644
--- a/src/mame/drivers/atlantis.c
+++ b/src/mame/drivers/atlantis.c
@@ -45,6 +45,7 @@ class atlantis_state : public driver_device
public:
atlantis_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) {}
+ DECLARE_DRIVER_INIT(mwskins);
};
@@ -207,9 +208,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( mwskins )
+DRIVER_INIT_MEMBER(atlantis_state,mwskins)
{
- dcs2_init(machine, 8, 0);
+ dcs2_init(machine(), 8, 0);
}
/*************************************
diff --git a/src/mame/drivers/atronic.c b/src/mame/drivers/atronic.c
index 228813b34a1..5347390eb6e 100644
--- a/src/mame/drivers/atronic.c
+++ b/src/mame/drivers/atronic.c
@@ -811,33 +811,33 @@ ROM_END
-GAME( 1999, atronic, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 1)", GAME_IS_SKELETON)
-GAME( 1999, atronica, atronic, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 2)", GAME_IS_SKELETON)
-
-GAME( 2002, atlantca, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
-GAME( 2002, atlantcaa, atlantca, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
-GAME( 2002, baboshka, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Baboshka (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, cfblue, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
-GAME( 2002, cfbluea, cfblue, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
-GAME( 2002, cfgreen, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Crazy Fruits Green (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, chicken, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Chicken (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, aclown, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Clown (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, goldglen, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Golden Glenn (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, iccash, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "I C Cash (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, shpinxii, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Sphinx II (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, bearnec, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Bear Necessities (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, beachpt, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Beach Patrol (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, beetleup, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Beetles Unplugged (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, abigchs, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Big Cheese (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, bigblue, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Big Blue (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, castaway, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
-GAME( 2002, castawaya, castaway, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
-GAME( 2002, dncsprt, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Dancing Spirit (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, drmmake, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Dream Maker (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, goldcity, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Gold City (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, jumpjkpt, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Jumping Jackpots (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, mushmagi, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Mushroom Magic (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, santam, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Santa Maria (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, splmastr, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Spell Master (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, tajmah, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Tajmahal (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, 3wishrd, 0, atronic, atronic, atronic_state, 0, ROT0, "Atronic", "Three Wishes Red (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 1999, atronic, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 1)", GAME_IS_SKELETON)
+GAME( 1999, atronica, atronic, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 2)", GAME_IS_SKELETON)
+
+GAME( 2002, atlantca, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
+GAME( 2002, atlantcaa, atlantca, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
+GAME( 2002, baboshka, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Baboshka (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, cfblue, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
+GAME( 2002, cfbluea, cfblue, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
+GAME( 2002, cfgreen, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Crazy Fruits Green (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, chicken, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Chicken (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, aclown, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Clown (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, goldglen, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Golden Glenn (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, iccash, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "I C Cash (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, shpinxii, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Sphinx II (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, bearnec, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Bear Necessities (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, beachpt, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Beach Patrol (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, beetleup, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Beetles Unplugged (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, abigchs, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Big Cheese (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, bigblue, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Big Blue (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, castaway, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
+GAME( 2002, castawaya, castaway, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
+GAME( 2002, dncsprt, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Dancing Spirit (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, drmmake, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Dream Maker (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, goldcity, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Gold City (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, jumpjkpt, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Jumping Jackpots (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, mushmagi, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Mushroom Magic (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, santam, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Santa Maria (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, splmastr, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Spell Master (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, tajmah, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Tajmahal (Russia) (Atronic)", GAME_IS_SKELETON)
+GAME( 2002, 3wishrd, 0, atronic, atronic, driver_device, 0, ROT0, "Atronic", "Three Wishes Red (Russia) (Atronic)", GAME_IS_SKELETON)
diff --git a/src/mame/drivers/attckufo.c b/src/mame/drivers/attckufo.c
index 6f72400f1e6..462fa275dfb 100644
--- a/src/mame/drivers/attckufo.c
+++ b/src/mame/drivers/attckufo.c
@@ -233,4 +233,4 @@ ROM_START( attckufo )
ROM_COPY( "maincpu", 0x02000, 0x00000, 0x400)
ROM_END
-GAME( 1980, attckufo, 0, attckufo, attckufo, attckufo_state, 0, ROT270, "Ryoto Electric Co.", "Attack Ufo", GAME_SUPPORTS_SAVE )
+GAME( 1980, attckufo, 0, attckufo, attckufo, driver_device, 0, ROT270, "Ryoto Electric Co.", "Attack Ufo", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/atvtrack.c b/src/mame/drivers/atvtrack.c
index 016141fe22b..ef0dde72963 100644
--- a/src/mame/drivers/atvtrack.c
+++ b/src/mame/drivers/atvtrack.c
@@ -428,5 +428,5 @@ ROM_START( atvtracka )
ROM_LOAD32_BYTE("k9f2808u0b.ic19", 0x0000003, 0x1080000, CRC(856c1e6a) SHA1(a6b2839120d61811c36cc6b4095de9cefceb394b) )
ROM_END
-GAME( 2002, atvtrack, 0, atvtrack, atvtrack, atvtrack_state, 0, ROT0, "Gaelco", "ATV Track (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, atvtracka, atvtrack, atvtrack, atvtrack, atvtrack_state, 0, ROT0, "Gaelco", "ATV Track (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2002, atvtrack, 0, atvtrack, atvtrack, driver_device, 0, ROT0, "Gaelco", "ATV Track (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2002, atvtracka, atvtrack, atvtrack, atvtrack, driver_device, 0, ROT0, "Gaelco", "ATV Track (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/avalnche.c b/src/mame/drivers/avalnche.c
index cc880bfc7cf..c9913392430 100644
--- a/src/mame/drivers/avalnche.c
+++ b/src/mame/drivers/avalnche.c
@@ -329,6 +329,6 @@ ROM_END
*
*************************************/
-GAMEL( 1978, avalnche, 0, avalnche, avalnche, avalnche_state, 0, ROT0, "Atari", "Avalanche", GAME_SUPPORTS_SAVE, layout_avalnche )
-GAMEL( 1978, cascade, avalnche, avalnche, cascade, avalnche_state, 0, ROT0, "bootleg? (Sidam)", "Cascade", GAME_SUPPORTS_SAVE, layout_avalnche )
-GAME ( 1977, catchp, 0, catch, catch, avalnche_state, 0, ROT0, "Atari", "Catch (prototype)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) // pre-production board, evolved into Avalanche
+GAMEL( 1978, avalnche, 0, avalnche, avalnche, driver_device, 0, ROT0, "Atari", "Avalanche", GAME_SUPPORTS_SAVE, layout_avalnche )
+GAMEL( 1978, cascade, avalnche, avalnche, cascade, driver_device, 0, ROT0, "bootleg? (Sidam)", "Cascade", GAME_SUPPORTS_SAVE, layout_avalnche )
+GAME ( 1977, catchp, 0, catch, catch, driver_device, 0, ROT0, "Atari", "Catch (prototype)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) // pre-production board, evolved into Avalanche
diff --git a/src/mame/drivers/avt.c b/src/mame/drivers/avt.c
index 250f70f20de..e3400ce39ce 100644
--- a/src/mame/drivers/avt.c
+++ b/src/mame/drivers/avt.c
@@ -991,7 +991,7 @@ ROM_END
*********************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1985, avtsym14, 0, avt, symbols, avt_state, 0, ROT0, "Advanced Video Technology", "Symbols (ver 1.4)", GAME_NOT_WORKING )
-GAME( 1985, avtsym25, avtsym14, avt, symbols, avt_state, 0, ROT0, "Advanced Video Technology", "Symbols (ver 2.5)", GAME_NOT_WORKING )
-GAME( 1985, avtbingo, 0, avt, symbols, avt_state, 0, ROT0, "Advanced Video Technology", "Arrow Bingo", GAME_NOT_WORKING )
-GAME( 1989, avtnfl, 0, avt, symbols, avt_state, 0, ROT0, "Advanced Video Technology", "NFL (ver 109)", GAME_NOT_WORKING )
+GAME( 1985, avtsym14, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Symbols (ver 1.4)", GAME_NOT_WORKING )
+GAME( 1985, avtsym25, avtsym14, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Symbols (ver 2.5)", GAME_NOT_WORKING )
+GAME( 1985, avtbingo, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Arrow Bingo", GAME_NOT_WORKING )
+GAME( 1989, avtnfl, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "NFL (ver 109)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/aztarac.c b/src/mame/drivers/aztarac.c
index 63d0ba11186..0e7df8de9d6 100644
--- a/src/mame/drivers/aztarac.c
+++ b/src/mame/drivers/aztarac.c
@@ -219,4 +219,4 @@ ROM_END
*
*************************************/
-GAME( 1983, aztarac, 0, aztarac, aztarac, aztarac_state, 0, ROT0, "Centuri", "Aztarac", 0 )
+GAME( 1983, aztarac, 0, aztarac, aztarac, driver_device, 0, ROT0, "Centuri", "Aztarac", 0 )
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c
index 1a0a2641041..1232587ee6f 100644
--- a/src/mame/drivers/backfire.c
+++ b/src/mame/drivers/backfire.c
@@ -76,6 +76,7 @@ public:
DECLARE_READ32_MEMBER(backfire_wheel2_r);
DECLARE_READ32_MEMBER(backfire_eeprom_r);
DECLARE_WRITE32_MEMBER(backfire_eeprom_w);
+ DECLARE_DRIVER_INIT(backfire);
};
//UINT32 *backfire_180010, *backfire_188010;
@@ -707,15 +708,14 @@ READ32_MEMBER(backfire_state::backfire_speedup_r)
}
-static DRIVER_INIT( backfire )
+DRIVER_INIT_MEMBER(backfire_state,backfire)
{
- deco56_decrypt_gfx(machine, "gfx1"); /* 141 */
- deco56_decrypt_gfx(machine, "gfx2"); /* 141 */
- deco156_decrypt(machine);
- machine.device("maincpu")->set_clock_scale(4.0f); /* core timings aren't accurate */
- descramble_sound(machine);
- backfire_state *state = machine.driver_data<backfire_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0170018, 0x017001b, read32_delegate(FUNC(backfire_state::backfire_speedup_r), state));
+ deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
+ deco56_decrypt_gfx(machine(), "gfx2"); /* 141 */
+ deco156_decrypt(machine());
+ machine().device("maincpu")->set_clock_scale(4.0f); /* core timings aren't accurate */
+ descramble_sound(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0170018, 0x017001b, read32_delegate(FUNC(backfire_state::backfire_speedup_r), this));
}
GAME( 1995, backfire, 0, backfire, backfire, backfire_state, backfire, ROT0, "Data East Corporation", "Backfire! (set 1)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/badlands.c b/src/mame/drivers/badlands.c
index 1e7d9769746..48bedb002f5 100644
--- a/src/mame/drivers/badlands.c
+++ b/src/mame/drivers/badlands.c
@@ -581,13 +581,12 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( badlands )
+DRIVER_INIT_MEMBER(badlands_state,badlands)
{
- badlands_state *state = machine.driver_data<badlands_state>();
/* initialize the audio system */
- state->m_bank_base = &state->memregion("audiocpu")->base()[0x03000];
- state->m_bank_source_data = &state->memregion("audiocpu")->base()[0x10000];
+ m_bank_base = &memregion("audiocpu")->base()[0x03000];
+ m_bank_source_data = &memregion("audiocpu")->base()[0x10000];
}
@@ -810,5 +809,5 @@ ROM_END
-GAME( 1989, badlandsb, badlands, badlandsb, badlands, badlands_state, 0, ROT0, "bootleg (Playmark)", "Bad Lands (bootleg)", GAME_NOT_WORKING )
-GAME( 1989, badlandsb2,badlands, badlandsb, badlands, badlands_state, 0, ROT0, "bootleg (Playmark)", "Bad Lands (bootleg, alternate)", GAME_NOT_WORKING )
+GAME( 1989, badlandsb, badlands, badlandsb, badlands, driver_device, 0, ROT0, "bootleg (Playmark)", "Bad Lands (bootleg)", GAME_NOT_WORKING )
+GAME( 1989, badlandsb2,badlands, badlandsb, badlands, driver_device, 0, ROT0, "bootleg (Playmark)", "Bad Lands (bootleg, alternate)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/bagman.c b/src/mame/drivers/bagman.c
index 09795706a3c..073c66f3681 100644
--- a/src/mame/drivers/bagman.c
+++ b/src/mame/drivers/bagman.c
@@ -928,14 +928,13 @@ ROM_START( squaitsa )
ROM_LOAD( "mmi6331.3r", 0x0020, 0x0020,CRC(86c1e7db) SHA1(5c974b51d770a555ddab5c23f03a666c6f286cbf) )
ROM_END
-static DRIVER_INIT( bagman )
+DRIVER_INIT_MEMBER(bagman_state,bagman)
{
- bagman_state *state = machine.driver_data<bagman_state>();
/* Unmap video enable register, not available on earlier hardware revision(s)
Bagman is supposed to have glitches during screen transitions */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0xa003, 0xa003);
- *state->m_video_enable = 1;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0xa003, 0xa003);
+ *m_video_enable = 1;
}
@@ -945,8 +944,8 @@ GAME( 1982, bagnarda, bagman, bagman, bagman, bagman_state, bagman, ROT270,
GAME( 1982, bagmans, bagman, bagman, bagmans, bagman_state, bagman, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 1)", 0 )
GAME( 1982, bagmans2, bagman, bagman, bagman, bagman_state, bagman, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 2)", 0 )
-GAME( 1984, sbagman, 0, bagman, sbagman, bagman_state, 0, ROT270, "Valadon Automation", "Super Bagman", 0 )
-GAME( 1984, sbagmans, sbagman, bagman, sbagman, bagman_state, 0, ROT270, "Valadon Automation (Stern Electronics license)", "Super Bagman (Stern Electronics)", 0 )
-GAME( 1983, pickin, 0, pickin, pickin, bagman_state, 0, ROT270, "Valadon Automation", "Pickin'", 0 )
-GAME( 1984, botanic, 0, botanic, botanic, bagman_state, 0, ROT270, "Valadon Automation (Itisa license)", "Botanic", 0 )
-GAME( 1984, squaitsa, 0, squaitsa,squaitsa, bagman_state,0, ROT0, "Itisa", "Squash (Itisa)", 0 )
+GAME( 1984, sbagman, 0, bagman, sbagman, driver_device, 0, ROT270, "Valadon Automation", "Super Bagman", 0 )
+GAME( 1984, sbagmans, sbagman, bagman, sbagman, driver_device, 0, ROT270, "Valadon Automation (Stern Electronics license)", "Super Bagman (Stern Electronics)", 0 )
+GAME( 1983, pickin, 0, pickin, pickin, driver_device, 0, ROT270, "Valadon Automation", "Pickin'", 0 )
+GAME( 1984, botanic, 0, botanic, botanic, driver_device, 0, ROT270, "Valadon Automation (Itisa license)", "Botanic", 0 )
+GAME( 1984, squaitsa, 0, squaitsa,squaitsa, driver_device,0, ROT0, "Itisa", "Squash (Itisa)", 0 )
diff --git a/src/mame/drivers/balsente.c b/src/mame/drivers/balsente.c
index e371db0255d..28ca52de413 100644
--- a/src/mame/drivers/balsente.c
+++ b/src/mame/drivers/balsente.c
@@ -2143,80 +2143,73 @@ INLINE void config_shooter_adc(running_machine &machine, UINT8 shooter, UINT8 ad
state->m_adc_shift = adc_shift;
}
-static DRIVER_INIT( sentetst ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0 /* noanalog */); }
-static DRIVER_INIT( cshift ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0 /* noanalog */); }
-static DRIVER_INIT( gghost ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 1); }
-static DRIVER_INIT( hattrick ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0 /* noanalog */); }
-static DRIVER_INIT( otwalls ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0); }
-static DRIVER_INIT( snakepit ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 1); }
-static DRIVER_INIT( snakjack ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 1); }
-static DRIVER_INIT( stocker ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0); }
-static DRIVER_INIT( triviag1 ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0 /* noanalog */); }
-static DRIVER_INIT( triviag2 )
+DRIVER_INIT_MEMBER(balsente_state,sentetst) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
+DRIVER_INIT_MEMBER(balsente_state,cshift) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
+DRIVER_INIT_MEMBER(balsente_state,gghost) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 1); }
+DRIVER_INIT_MEMBER(balsente_state,hattrick) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
+DRIVER_INIT_MEMBER(balsente_state,otwalls) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0); }
+DRIVER_INIT_MEMBER(balsente_state,snakepit) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 1); }
+DRIVER_INIT_MEMBER(balsente_state,snakjack) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 1); }
+DRIVER_INIT_MEMBER(balsente_state,stocker) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0); }
+DRIVER_INIT_MEMBER(balsente_state,triviag1) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
+DRIVER_INIT_MEMBER(balsente_state,triviag2)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
memcpy(&rom[0x20000], &rom[0x28000], 0x4000);
memcpy(&rom[0x24000], &rom[0x28000], 0x4000);
- expand_roms(machine, EXPAND_NONE); config_shooter_adc(machine, FALSE, 0 /* noanalog */);
+ expand_roms(machine(), EXPAND_NONE); config_shooter_adc(machine(), FALSE, 0 /* noanalog */);
}
-static DRIVER_INIT( triviaes ) { expand_roms(machine, EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine, FALSE, 0 /* noanalog */); }
-static DRIVER_INIT( gimeabrk ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 1); }
-static DRIVER_INIT( minigolf ) { expand_roms(machine, EXPAND_NONE); config_shooter_adc(machine, FALSE, 2); }
-static DRIVER_INIT( minigolf2 ) { expand_roms(machine, 0x0c); config_shooter_adc(machine, FALSE, 2); }
-static DRIVER_INIT( toggle ) { expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 0 /* noanalog */); }
-static DRIVER_INIT( nametune )
+DRIVER_INIT_MEMBER(balsente_state,triviaes) { expand_roms(machine(), EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
+DRIVER_INIT_MEMBER(balsente_state,gimeabrk) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 1); }
+DRIVER_INIT_MEMBER(balsente_state,minigolf) { expand_roms(machine(), EXPAND_NONE); config_shooter_adc(machine(), FALSE, 2); }
+DRIVER_INIT_MEMBER(balsente_state,minigolf2) { expand_roms(machine(), 0x0c); config_shooter_adc(machine(), FALSE, 2); }
+DRIVER_INIT_MEMBER(balsente_state,toggle) { expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
+DRIVER_INIT_MEMBER(balsente_state,nametune)
{
- balsente_state *state = machine.driver_data<balsente_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),state));
- expand_roms(machine, EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine, FALSE, 0 /* noanalog */);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),this));
+ expand_roms(machine(), EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine(), FALSE, 0 /* noanalog */);
}
-static DRIVER_INIT( nstocker )
+DRIVER_INIT_MEMBER(balsente_state,nstocker)
{
- balsente_state *state = machine.driver_data<balsente_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),state));
- expand_roms(machine, EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine, TRUE, 1);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),this));
+ expand_roms(machine(), EXPAND_NONE | SWAP_HALVES); config_shooter_adc(machine(), TRUE, 1);
}
-static DRIVER_INIT( sfootbal )
+DRIVER_INIT_MEMBER(balsente_state,sfootbal)
{
- balsente_state *state = machine.driver_data<balsente_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),state));
- expand_roms(machine, EXPAND_ALL | SWAP_HALVES); config_shooter_adc(machine, FALSE, 0);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),this));
+ expand_roms(machine(), EXPAND_ALL | SWAP_HALVES); config_shooter_adc(machine(), FALSE, 0);
}
-static DRIVER_INIT( spiker )
+DRIVER_INIT_MEMBER(balsente_state,spiker)
{
- balsente_state *state = machine.driver_data<balsente_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->install_readwrite_handler(0x9f80, 0x9f8f, read8_delegate(FUNC(balsente_state::spiker_expand_r),state), write8_delegate(FUNC(balsente_state::spiker_expand_w),state));
- space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),state));
- expand_roms(machine, EXPAND_ALL | SWAP_HALVES); config_shooter_adc(machine, FALSE, 1);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->install_readwrite_handler(0x9f80, 0x9f8f, read8_delegate(FUNC(balsente_state::spiker_expand_r),this), write8_delegate(FUNC(balsente_state::spiker_expand_w),this));
+ space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),this));
+ expand_roms(machine(), EXPAND_ALL | SWAP_HALVES); config_shooter_adc(machine(), FALSE, 1);
}
-static DRIVER_INIT( stompin )
+DRIVER_INIT_MEMBER(balsente_state,stompin)
{
- balsente_state *state = machine.driver_data<balsente_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),state));
- expand_roms(machine, 0x0c | SWAP_HALVES); config_shooter_adc(machine, FALSE, 32);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->install_write_handler(0x9f00, 0x9f00, write8_delegate(FUNC(balsente_state::balsente_rombank2_select_w),this));
+ expand_roms(machine(), 0x0c | SWAP_HALVES); config_shooter_adc(machine(), FALSE, 32);
}
-static DRIVER_INIT( rescraid ) { expand_roms(machine, EXPAND_NONE); config_shooter_adc(machine, FALSE, 0 /* noanalog */); }
-static DRIVER_INIT( grudge )
+DRIVER_INIT_MEMBER(balsente_state,rescraid) { expand_roms(machine(), EXPAND_NONE); config_shooter_adc(machine(), FALSE, 0 /* noanalog */); }
+DRIVER_INIT_MEMBER(balsente_state,grudge)
{
- balsente_state *state = machine.driver_data<balsente_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->install_read_handler(0x9400, 0x9400, read8_delegate(FUNC(balsente_state::grudge_steering_r),state));
- expand_roms(machine, EXPAND_NONE); config_shooter_adc(machine, FALSE, 0);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->install_read_handler(0x9400, 0x9400, read8_delegate(FUNC(balsente_state::grudge_steering_r),this));
+ expand_roms(machine(), EXPAND_NONE); config_shooter_adc(machine(), FALSE, 0);
}
-static DRIVER_INIT( shrike )
+DRIVER_INIT_MEMBER(balsente_state,shrike)
{
- balsente_state *state = machine.driver_data<balsente_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->install_readwrite_handler(0x9e00, 0x9fff, read8_delegate(FUNC(balsente_state::shrike_shared_6809_r),state), write8_delegate(FUNC(balsente_state::shrike_shared_6809_w),state));
- space->install_write_handler(0x9e01, 0x9e01, write8_delegate(FUNC(balsente_state::shrike_sprite_select_w),state));
- machine.device("68k")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x10000, 0x1001f, read16_delegate(FUNC(balsente_state::shrike_io_68k_r),state), write16_delegate(FUNC(balsente_state::shrike_io_68k_w),state));
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->install_readwrite_handler(0x9e00, 0x9fff, read8_delegate(FUNC(balsente_state::shrike_shared_6809_r),this), write8_delegate(FUNC(balsente_state::shrike_shared_6809_w),this));
+ space->install_write_handler(0x9e01, 0x9e01, write8_delegate(FUNC(balsente_state::shrike_sprite_select_w),this));
+ machine().device("68k")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x10000, 0x1001f, read16_delegate(FUNC(balsente_state::shrike_io_68k_r),this), write16_delegate(FUNC(balsente_state::shrike_io_68k_w),this));
- expand_roms(machine, EXPAND_ALL); config_shooter_adc(machine, FALSE, 32);
+ expand_roms(machine(), EXPAND_ALL); config_shooter_adc(machine(), FALSE, 32);
}
diff --git a/src/mame/drivers/bankp.c b/src/mame/drivers/bankp.c
index 4bb75cddb34..d65b6759581 100644
--- a/src/mame/drivers/bankp.c
+++ b/src/mame/drivers/bankp.c
@@ -409,5 +409,5 @@ ROM_END
*
*************************************/
-GAME( 1984, bankp, 0, bankp, bankp, bankp_state, 0, ROT0, "Sanritsu / Sega", "Bank Panic", GAME_SUPPORTS_SAVE )
-GAME( 1987, combh, 0, bankp, combh, bankp_state, 0, ROT270, "Sanritsu / Sega", "Combat Hawk", GAME_SUPPORTS_SAVE )
+GAME( 1984, bankp, 0, bankp, bankp, driver_device, 0, ROT0, "Sanritsu / Sega", "Bank Panic", GAME_SUPPORTS_SAVE )
+GAME( 1987, combh, 0, bankp, combh, driver_device, 0, ROT270, "Sanritsu / Sega", "Combat Hawk", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/baraduke.c b/src/mame/drivers/baraduke.c
index 009e1c2c7bb..633efbdf48e 100644
--- a/src/mame/drivers/baraduke.c
+++ b/src/mame/drivers/baraduke.c
@@ -530,13 +530,13 @@ ROM_START( metrocrsa )
ROM_END
-static DRIVER_INIT( baraduke )
+DRIVER_INIT_MEMBER(baraduke_state,baraduke)
{
UINT8 *rom;
int i;
/* unpack the third tile ROM */
- rom = machine.root_device().memregion("gfx2")->base() + 0x8000;
+ rom = machine().root_device().memregion("gfx2")->base() + 0x8000;
for (i = 0x2000;i < 0x4000;i++)
{
rom[i + 0x2000] = rom[i];
diff --git a/src/mame/drivers/bartop52.c b/src/mame/drivers/bartop52.c
index 5ffd19e7e04..5441a53aaba 100644
--- a/src/mame/drivers/bartop52.c
+++ b/src/mame/drivers/bartop52.c
@@ -152,4 +152,4 @@ ROM_START(barbball)
ROM_LOAD( "5200.rom", 0xf800, 0x0800, BAD_DUMP CRC(4248d3e3) SHA1(6ad7a1e8c9fad486fbec9498cb48bf5bc3adc530) )
ROM_END
-GAME( 1983, barbball, 0, a5200, bartop52, bartop52_state, 0, ROT0, "Atari", "Barroom Baseball (prototype)", GAME_NOT_WORKING )
+GAME( 1983, barbball, 0, a5200, bartop52, driver_device, 0, ROT0, "Atari", "Barroom Baseball (prototype)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/batman.c b/src/mame/drivers/batman.c
index 82cd73c190e..d6858cebd3b 100644
--- a/src/mame/drivers/batman.c
+++ b/src/mame/drivers/batman.c
@@ -330,9 +330,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( batman )
+DRIVER_INIT_MEMBER(batman_state,batman)
{
- atarijsa_init(machine, "260010", 0x0040);
+ atarijsa_init(machine(), "260010", 0x0040);
}
diff --git a/src/mame/drivers/battlane.c b/src/mame/drivers/battlane.c
index 4aa63a5e18e..dcbe0076b8a 100644
--- a/src/mame/drivers/battlane.c
+++ b/src/mame/drivers/battlane.c
@@ -420,6 +420,6 @@ ROM_END
*
*************************************/
-GAME( 1986, battlane, 0, battlane, battlane, battlane_state, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, battlane2, battlane, battlane, battlane, battlane_state, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, battlane3, battlane, battlane, battlane, battlane_state, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1986, battlane, 0, battlane, battlane, driver_device, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, battlane2, battlane, battlane, battlane, driver_device, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, battlane3, battlane, battlane, battlane, driver_device, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 3)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/battlera.c b/src/mame/drivers/battlera.c
index d5db2c9a0b6..e817c3ad038 100644
--- a/src/mame/drivers/battlera.c
+++ b/src/mame/drivers/battlera.c
@@ -330,6 +330,6 @@ ROM_END
/******************************************************************************/
-GAME( 1988, battlera, 0, battlera, battlera, battlera_state, 0, ROT0, "Data East Corporation", "Battle Rangers (World)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1988, bldwolf, battlera, battlera, battlera, battlera_state, 0, ROT0, "Data East USA", "Bloody Wolf (US)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1988, bldwolfj, battlera, battlera, battlera, battlera_state, 0, ROT0, "Data East Corporation", "Narazumono Sentoubutai Bloody Wolf (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, battlera, 0, battlera, battlera, driver_device, 0, ROT0, "Data East Corporation", "Battle Rangers (World)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, bldwolf, battlera, battlera, battlera, driver_device, 0, ROT0, "Data East USA", "Bloody Wolf (US)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, bldwolfj, battlera, battlera, battlera, driver_device, 0, ROT0, "Data East Corporation", "Narazumono Sentoubutai Bloody Wolf (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/battlex.c b/src/mame/drivers/battlex.c
index feca6e0424d..70325390cb0 100644
--- a/src/mame/drivers/battlex.c
+++ b/src/mame/drivers/battlex.c
@@ -313,11 +313,11 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( battlex )
+DRIVER_INIT_MEMBER(battlex_state,battlex)
{
- UINT8 *colormask = machine.root_device().memregion("user1")->base();
- UINT8 *gfxdata = machine.root_device().memregion("user2")->base();
- UINT8 *dest = machine.root_device().memregion("gfx1")->base();
+ UINT8 *colormask = machine().root_device().memregion("user1")->base();
+ UINT8 *gfxdata = machine().root_device().memregion("user2")->base();
+ UINT8 *dest = machine().root_device().memregion("gfx1")->base();
int tile, line, bit;
diff --git a/src/mame/drivers/battlnts.c b/src/mame/drivers/battlnts.c
index 4226ee85d70..ee905eacc9c 100644
--- a/src/mame/drivers/battlnts.c
+++ b/src/mame/drivers/battlnts.c
@@ -416,10 +416,10 @@ static void shuffle( UINT8 *buf, int len )
}
-static DRIVER_INIT( rackemup )
+DRIVER_INIT_MEMBER(battlnts_state,rackemup)
{
/* rearrange char ROM */
- shuffle(machine.root_device().memregion("gfx1")->base(), machine.root_device().memregion("gfx1")->bytes());
+ shuffle(machine().root_device().memregion("gfx1")->base(), machine().root_device().memregion("gfx1")->bytes());
}
@@ -430,9 +430,9 @@ static DRIVER_INIT( rackemup )
*
*************************************/
-GAME( 1987, battlnts, 0, battlnts, battlnts, battlnts_state, 0, ROT90, "Konami", "Battlantis (program code G)", GAME_SUPPORTS_SAVE )
-GAME( 1987, battlntsa, battlnts, battlnts, battlnts, battlnts_state, 0, ROT90, "Konami", "Battlantis (program code F)", GAME_SUPPORTS_SAVE )
-GAME( 1987, battlntsj, battlnts, battlnts, battlnts, battlnts_state, 0, ROT90, "Konami", "Battlantis (Japan, program code E)", GAME_SUPPORTS_SAVE )
+GAME( 1987, battlnts, 0, battlnts, battlnts, driver_device, 0, ROT90, "Konami", "Battlantis (program code G)", GAME_SUPPORTS_SAVE )
+GAME( 1987, battlntsa, battlnts, battlnts, battlnts, driver_device, 0, ROT90, "Konami", "Battlantis (program code F)", GAME_SUPPORTS_SAVE )
+GAME( 1987, battlntsj, battlnts, battlnts, battlnts, driver_device, 0, ROT90, "Konami", "Battlantis (Japan, program code E)", GAME_SUPPORTS_SAVE )
GAME( 1987, rackemup, 0, battlnts, rackemup, battlnts_state, rackemup, ROT90, "Konami", "Rack 'em Up (program code L)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, thehustl, rackemup, battlnts, thehustl, battlnts_state, 0, ROT90, "Konami", "The Hustler (Japan, program code M)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, thehustlj, rackemup, battlnts, thehustl, battlnts_state, 0, ROT90, "Konami", "The Hustler (Japan, program code J)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1987, thehustl, rackemup, battlnts, thehustl, driver_device, 0, ROT90, "Konami", "The Hustler (Japan, program code M)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1987, thehustlj, rackemup, battlnts, thehustl, driver_device, 0, ROT90, "Konami", "The Hustler (Japan, program code J)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bbusters.c b/src/mame/drivers/bbusters.c
index f117390e78b..3bb8529741b 100644
--- a/src/mame/drivers/bbusters.c
+++ b/src/mame/drivers/bbusters.c
@@ -919,8 +919,8 @@ ROM_END
/******************************************************************************/
// as soon as you calibrate the guns in test mode the game refuses to boot
-GAME( 1989, bbusters, 0, bbusters, bbusters, bbusters_state, 0, ROT0, "SNK", "Beast Busters (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1989, bbustersu,bbusters, bbusters, bbusters, bbusters_state, 0, ROT0, "SNK", "Beast Busters (US, Version 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1989, bbusters, 0, bbusters, bbusters, driver_device, 0, ROT0, "SNK", "Beast Busters (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1989, bbustersu,bbusters, bbusters, bbusters, driver_device, 0, ROT0, "SNK", "Beast Busters (US, Version 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1989, mechatt, 0, mechatt, mechatt, bbusters_state, 0, ROT0, "SNK", "Mechanized Attack (World)", 0 )
-GAME( 1989, mechattu, mechatt, mechatt, mechattu, bbusters_state, 0, ROT0, "SNK", "Mechanized Attack (US)", 0 )
+GAME( 1989, mechatt, 0, mechatt, mechatt, driver_device, 0, ROT0, "SNK", "Mechanized Attack (World)", 0 )
+GAME( 1989, mechattu, mechatt, mechatt, mechattu, driver_device, 0, ROT0, "SNK", "Mechanized Attack (US)", 0 )
diff --git a/src/mame/drivers/beaminv.c b/src/mame/drivers/beaminv.c
index 1055578761a..528ab326732 100644
--- a/src/mame/drivers/beaminv.c
+++ b/src/mame/drivers/beaminv.c
@@ -385,5 +385,5 @@ ROM_END
*
*************************************/
-GAMEL( 1979, beaminv, 0, beaminv, beaminv, beaminv_state, 0, ROT270, "Tekunon Kougyou", "Beam Invader", GAME_NO_SOUND | GAME_SUPPORTS_SAVE, layout_beaminv )
-GAMEL( 1979, pacominv, beaminv, beaminv, pacominv, beaminv_state, 0, ROT270, "Pacom Corporation", "Pacom Invader", GAME_NO_SOUND | GAME_SUPPORTS_SAVE, layout_beaminv )
+GAMEL( 1979, beaminv, 0, beaminv, beaminv, driver_device, 0, ROT270, "Tekunon Kougyou", "Beam Invader", GAME_NO_SOUND | GAME_SUPPORTS_SAVE, layout_beaminv )
+GAMEL( 1979, pacominv, beaminv, beaminv, pacominv, driver_device, 0, ROT270, "Pacom Corporation", "Pacom Invader", GAME_NO_SOUND | GAME_SUPPORTS_SAVE, layout_beaminv )
diff --git a/src/mame/drivers/beathead.c b/src/mame/drivers/beathead.c
index d534a8b0fef..968dab0b658 100644
--- a/src/mame/drivers/beathead.c
+++ b/src/mame/drivers/beathead.c
@@ -525,16 +525,15 @@ READ32_MEMBER( beathead_state::movie_speedup_r )
*
*************************************/
-static DRIVER_INIT( beathead )
+DRIVER_INIT_MEMBER(beathead_state,beathead)
{
- beathead_state *state = machine.driver_data<beathead_state>();
/* initialize the common systems */
- atarijsa_init(machine, "IN2", 0x0040);
+ atarijsa_init(machine(), "IN2", 0x0040);
/* prepare the speedups */
- state->m_speedup_data = state->m_maincpu->space(AS_PROGRAM)->install_read_handler(0x00000ae8, 0x00000aeb, 0, 0, read32_delegate(FUNC(beathead_state::speedup_r), state));
- state->m_movie_speedup_data = state->m_maincpu->space(AS_PROGRAM)->install_read_handler(0x00000804, 0x00000807, 0, 0, read32_delegate(FUNC(beathead_state::movie_speedup_r), state));
+ m_speedup_data = m_maincpu->space(AS_PROGRAM)->install_read_handler(0x00000ae8, 0x00000aeb, 0, 0, read32_delegate(FUNC(beathead_state::speedup_r), this));
+ m_movie_speedup_data = m_maincpu->space(AS_PROGRAM)->install_read_handler(0x00000804, 0x00000807, 0, 0, read32_delegate(FUNC(beathead_state::movie_speedup_r), this));
}
diff --git a/src/mame/drivers/belatra.c b/src/mame/drivers/belatra.c
index 634ed48c6b2..e61f69cbaa2 100644
--- a/src/mame/drivers/belatra.c
+++ b/src/mame/drivers/belatra.c
@@ -117,12 +117,12 @@ ROM_START( ldrinka )
ROM_END
-GAME( 2004, fairyl2 ,0, belatra, belatra, belatra_state, 0, ROT0, "Belatra","Fairy Land 2 (set 1)", GAME_IS_SKELETON )
-GAME( 2004, fairyl2a ,fairyl2, belatra, belatra, belatra_state, 0, ROT0, "Belatra","Fairy Land 2 (set 2)", GAME_IS_SKELETON )
-GAME( 2004, fairyl2b ,fairyl2, belatra, belatra, belatra_state, 0, ROT0, "Belatra","Fairy Land 2 (set 3)", GAME_IS_SKELETON )
-GAME( 2004, fairyl2bl ,fairyl2, belatra, belatra, belatra_state, 0, ROT0, "Belatra","Fairy Land 2 (bootleg)", GAME_IS_SKELETON )
+GAME( 2004, fairyl2 ,0, belatra, belatra, driver_device, 0, ROT0, "Belatra","Fairy Land 2 (set 1)", GAME_IS_SKELETON )
+GAME( 2004, fairyl2a ,fairyl2, belatra, belatra, driver_device, 0, ROT0, "Belatra","Fairy Land 2 (set 2)", GAME_IS_SKELETON )
+GAME( 2004, fairyl2b ,fairyl2, belatra, belatra, driver_device, 0, ROT0, "Belatra","Fairy Land 2 (set 3)", GAME_IS_SKELETON )
+GAME( 2004, fairyl2bl ,fairyl2, belatra, belatra, driver_device, 0, ROT0, "Belatra","Fairy Land 2 (bootleg)", GAME_IS_SKELETON )
-GAME( 2004, ldrink ,0, belatra, belatra, belatra_state, 0, ROT0, "Belatra","Lucky Drink (set 1)", GAME_IS_SKELETON )
-GAME( 2004, ldrinka ,ldrink, belatra, belatra, belatra_state, 0, ROT0, "Belatra","Lucky Drink (set 2)", GAME_IS_SKELETON )
+GAME( 2004, ldrink ,0, belatra, belatra, driver_device, 0, ROT0, "Belatra","Lucky Drink (set 1)", GAME_IS_SKELETON )
+GAME( 2004, ldrinka ,ldrink, belatra, belatra, driver_device, 0, ROT0, "Belatra","Lucky Drink (set 2)", GAME_IS_SKELETON )
-GAME( 2004, merryjn ,0, belatra, belatra, belatra_state, 0, ROT0, "Belatra","Merry Joiner", GAME_IS_SKELETON )
+GAME( 2004, merryjn ,0, belatra, belatra, driver_device, 0, ROT0, "Belatra","Merry Joiner", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/berzerk.c b/src/mame/drivers/berzerk.c
index 1583a1e17e1..8e18eebaf84 100644
--- a/src/mame/drivers/berzerk.c
+++ b/src/mame/drivers/berzerk.c
@@ -54,6 +54,7 @@ public:
DECLARE_READ8_MEMBER(berzerk_audio_r);
DECLARE_READ8_MEMBER(moonwarp_p1_r);
DECLARE_READ8_MEMBER(moonwarp_p2_r);
+ DECLARE_DRIVER_INIT(moonwarp);
};
@@ -1233,12 +1234,11 @@ ROM_START( moonwarp )
ROM_LOAD( "prom.6e", 0x0000, 0x0020, CRC(56bffba3) SHA1(c8e24f6361c50bcb4c9d3f39cdaf4172c2a2b318) ) /* address decoder/rom select prom - from the sound rom only set, is it bad? */
ROM_END
-static DRIVER_INIT( moonwarp )
+DRIVER_INIT_MEMBER(berzerk_state,moonwarp)
{
- address_space *io = machine.device("maincpu")->memory().space(AS_IO);
- berzerk_state *state = machine.driver_data<berzerk_state>();
- io->install_read_handler (0x48, 0x48, read8_delegate(FUNC(berzerk_state::moonwarp_p1_r), state));
- io->install_read_handler (0x4a, 0x4a, read8_delegate(FUNC(berzerk_state::moonwarp_p2_r), state));
+ address_space *io = machine().device("maincpu")->memory().space(AS_IO);
+ io->install_read_handler (0x48, 0x48, read8_delegate(FUNC(berzerk_state::moonwarp_p1_r), this));
+ io->install_read_handler (0x4a, 0x4a, read8_delegate(FUNC(berzerk_state::moonwarp_p2_r), this));
}
/*************************************
@@ -1247,8 +1247,8 @@ static DRIVER_INIT( moonwarp )
*
*************************************/
-GAME( 1980, berzerk, 0, berzerk, berzerk, berzerk_state, 0, ROT0, "Stern Electronics", "Berzerk (set 1)", 0 )
-GAME( 1980, berzerk1, berzerk, berzerk, berzerk, berzerk_state, 0, ROT0, "Stern Electronics", "Berzerk (set 2)", 0 )
-GAME( 1980, berzerkg, berzerk, berzerk, berzerkg, berzerk_state,0, ROT0, "Stern Electronics", "Berzerk (German Speech)", 0 )
-GAME( 1981, frenzy, 0, frenzy, frenzy, berzerk_state, 0, ROT0, "Stern Electronics", "Frenzy", 0 )
+GAME( 1980, berzerk, 0, berzerk, berzerk, driver_device, 0, ROT0, "Stern Electronics", "Berzerk (set 1)", 0 )
+GAME( 1980, berzerk1, berzerk, berzerk, berzerk, driver_device, 0, ROT0, "Stern Electronics", "Berzerk (set 2)", 0 )
+GAME( 1980, berzerkg, berzerk, berzerk, berzerkg, driver_device,0, ROT0, "Stern Electronics", "Berzerk (German Speech)", 0 )
+GAME( 1981, frenzy, 0, frenzy, frenzy, driver_device, 0, ROT0, "Stern Electronics", "Frenzy", 0 )
GAME( 1981, moonwarp, 0, frenzy, moonwarp, berzerk_state,moonwarp, ROT0, "Stern Electronics", "Moon War (prototype on Frenzy hardware)", 0)
diff --git a/src/mame/drivers/bestleag.c b/src/mame/drivers/bestleag.c
index 5a85d2a0412..07e4f00f6af 100644
--- a/src/mame/drivers/bestleag.c
+++ b/src/mame/drivers/bestleag.c
@@ -460,6 +460,6 @@ ROM_END
/* GAME drivers */
-GAME( 1993, bestleag, bigstrik, bestleag, bestleag, bestleag_state, 0, ROT0, "bootleg", "Best League (bootleg of Big Striker, Italian Serie A)", GAME_NO_COCKTAIL )
-GAME( 1993, bestleaw, bigstrik, bestleaw, bestleag, bestleag_state, 0, ROT0, "bootleg", "Best League (bootleg of Big Striker, World Cup)", GAME_NO_COCKTAIL )
+GAME( 1993, bestleag, bigstrik, bestleag, bestleag, driver_device, 0, ROT0, "bootleg", "Best League (bootleg of Big Striker, Italian Serie A)", GAME_NO_COCKTAIL )
+GAME( 1993, bestleaw, bigstrik, bestleaw, bestleag, driver_device, 0, ROT0, "bootleg", "Best League (bootleg of Big Striker, World Cup)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/bfcobra.c b/src/mame/drivers/bfcobra.c
index 9b5d4458613..a1bf41219f0 100644
--- a/src/mame/drivers/bfcobra.c
+++ b/src/mame/drivers/bfcobra.c
@@ -296,6 +296,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(m6809_data_irq);
DECLARE_READ_LINE_MEMBER(data_acia_rx_r);
DECLARE_WRITE_LINE_MEMBER(data_acia_tx_w);
+ DECLARE_DRIVER_INIT(bfcobra);
};
@@ -1696,9 +1697,8 @@ static ACIA6850_INTERFACE( data_acia_if )
/* TODO: Driver vs Machine Init */
-static DRIVER_INIT( bfcobra )
+DRIVER_INIT_MEMBER(bfcobra_state,bfcobra)
{
- bfcobra_state *state = machine.driver_data<bfcobra_state>();
/*
6809 ROM address and data lines are scrambled.
This is the same scrambling as Scorpion 2.
@@ -1710,8 +1710,8 @@ static DRIVER_INIT( bfcobra )
UINT8 *rom;
UINT8 *tmp;
- tmp = auto_alloc_array(machine, UINT8, 0x8000);
- rom = machine.root_device().memregion("audiocpu")->base() + 0x8000;
+ tmp = auto_alloc_array(machine(), UINT8, 0x8000);
+ rom = machine().root_device().memregion("audiocpu")->base() + 0x8000;
memcpy(tmp, rom, 0x8000);
for (i = 0; i < 0x8000; i++)
@@ -1730,35 +1730,35 @@ static DRIVER_INIT( bfcobra )
rom[addr] = data;
}
- auto_free(machine, tmp);
+ auto_free(machine(), tmp);
- init_ram(machine);
+ init_ram(machine());
- state->m_bank_data[0] = 1;
- state->m_bank_data[1] = 0;
- state->m_bank_data[2] = 0;
- state->m_bank_data[3] = 0;
+ m_bank_data[0] = 1;
+ m_bank_data[1] = 0;
+ m_bank_data[2] = 0;
+ m_bank_data[3] = 0;
/* Fixed 16kB ROM region */
- state->membank("bank4")->set_base(machine.root_device().memregion("user1")->base());
+ membank("bank4")->set_base(machine().root_device().memregion("user1")->base());
/* TODO: Properly sort out the data ACIA */
- state->m_data_r = 1;
+ m_data_r = 1;
/* Finish this */
- state_save_register_global(machine, state->m_z80_m6809_line);
- state_save_register_global(machine, state->m_m6809_z80_line);
- state_save_register_global(machine, state->m_data_r);
- state_save_register_global(machine, state->m_data_t);
- state_save_register_global(machine, state->m_h_scroll);
- state_save_register_global(machine, state->m_v_scroll);
- state_save_register_global(machine, state->m_flip_8);
- state_save_register_global(machine, state->m_flip_22);
- state_save_register_global(machine, state->m_z80_int);
- state_save_register_global(machine, state->m_z80_inten);
- state_save_register_global_array(machine, state->m_bank_data);
- state_save_register_global_pointer(machine, state->m_work_ram, 0xc0000);
- state_save_register_global_pointer(machine, state->m_video_ram, 0x20000);
+ state_save_register_global(machine(), m_z80_m6809_line);
+ state_save_register_global(machine(), m_m6809_z80_line);
+ state_save_register_global(machine(), m_data_r);
+ state_save_register_global(machine(), m_data_t);
+ state_save_register_global(machine(), m_h_scroll);
+ state_save_register_global(machine(), m_v_scroll);
+ state_save_register_global(machine(), m_flip_8);
+ state_save_register_global(machine(), m_flip_22);
+ state_save_register_global(machine(), m_z80_int);
+ state_save_register_global(machine(), m_z80_inten);
+ state_save_register_global_array(machine(), m_bank_data);
+ state_save_register_global_pointer(machine(), m_work_ram, 0xc0000);
+ state_save_register_global_pointer(machine(), m_video_ram, 0x20000);
}
/* TODO */
diff --git a/src/mame/drivers/bfm_sc1.c b/src/mame/drivers/bfm_sc1.c
index 945830610a5..924cda13096 100644
--- a/src/mame/drivers/bfm_sc1.c
+++ b/src/mame/drivers/bfm_sc1.c
@@ -167,6 +167,13 @@ public:
DECLARE_WRITE8_MEMBER(nec_reset_w);
DECLARE_WRITE8_MEMBER(nec_latch_w);
+ DECLARE_DRIVER_INIT(toppoker);
+ DECLARE_DRIVER_INIT(lotse_bank0);
+ DECLARE_DRIVER_INIT(nocrypt_bank0);
+ DECLARE_DRIVER_INIT(lotse);
+ DECLARE_DRIVER_INIT(clatt);
+ DECLARE_DRIVER_INIT(rou029);
+ DECLARE_DRIVER_INIT(nocrypt);
};
#define VFD_RESET 0x20
@@ -1161,59 +1168,58 @@ static void sc1_common_init(running_machine &machine, int reels, int decrypt, in
}
-static DRIVER_INIT(toppoker)
+DRIVER_INIT_MEMBER(bfm_sc1_state,toppoker)
{
- sc1_common_init(machine,3,1, 3);
- adder2_decode_char_roms(machine); // decode GFX roms
- MechMtr_config(machine,8);
+ sc1_common_init(machine(),3,1, 3);
+ adder2_decode_char_roms(machine()); // decode GFX roms
+ MechMtr_config(machine(),8);
}
-static DRIVER_INIT(lotse)
+DRIVER_INIT_MEMBER(bfm_sc1_state,lotse)
{
- sc1_common_init(machine,6,1, 3);
- MechMtr_config(machine,8);
+ sc1_common_init(machine(),6,1, 3);
+ MechMtr_config(machine(),8);
}
-static DRIVER_INIT(lotse_bank0)
+DRIVER_INIT_MEMBER(bfm_sc1_state,lotse_bank0)
{
- sc1_common_init(machine,6,1, 0);
- MechMtr_config(machine,8);
+ sc1_common_init(machine(),6,1, 0);
+ MechMtr_config(machine(),8);
}
-static DRIVER_INIT(nocrypt)
+DRIVER_INIT_MEMBER(bfm_sc1_state,nocrypt)
{
- sc1_common_init(machine,6,0, 3);
- MechMtr_config(machine,8);
+ sc1_common_init(machine(),6,0, 3);
+ MechMtr_config(machine(),8);
}
-static DRIVER_INIT(nocrypt_bank0)
+DRIVER_INIT_MEMBER(bfm_sc1_state,nocrypt_bank0)
{
- sc1_common_init(machine,6,0, 0);
- MechMtr_config(machine,8);
+ sc1_common_init(machine(),6,0, 0);
+ MechMtr_config(machine(),8);
}
/////////////////////////////////////////////////////////////////////////////////////
-static DRIVER_INIT(rou029)
+DRIVER_INIT_MEMBER(bfm_sc1_state,rou029)
{
- sc1_common_init(machine,6,0, 3);
- MechMtr_config(machine,8);
+ sc1_common_init(machine(),6,0, 3);
+ MechMtr_config(machine(),8);
}
/////////////////////////////////////////////////////////////////////////////////////
-static DRIVER_INIT(clatt)
+DRIVER_INIT_MEMBER(bfm_sc1_state,clatt)
{
- bfm_sc1_state *state = machine.driver_data<bfm_sc1_state>();
- sc1_common_init(machine,6,1, 3);
- MechMtr_config(machine,8);
+ sc1_common_init(machine(),6,1, 3);
+ MechMtr_config(machine(),8);
- Scorpion1_SetSwitchState(state,3,2,1);
- Scorpion1_SetSwitchState(state,3,3,1);
- Scorpion1_SetSwitchState(state,3,6,1);
- Scorpion1_SetSwitchState(state,4,1,1);
+ Scorpion1_SetSwitchState(this,3,2,1);
+ Scorpion1_SetSwitchState(this,3,3,1);
+ Scorpion1_SetSwitchState(this,3,6,1);
+ Scorpion1_SetSwitchState(this,4,1,1);
}
diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c
index 66898bc0010..ebdfcf6a9d9 100644
--- a/src/mame/drivers/bfm_sc2.c
+++ b/src/mame/drivers/bfm_sc2.c
@@ -283,6 +283,21 @@ public:
int recdata(int changed, int data);
DECLARE_WRITE8_MEMBER(nec_reset_w);
DECLARE_WRITE8_MEMBER(nec_latch_w);
+ DECLARE_DRIVER_INIT(sltsbelg);
+ DECLARE_DRIVER_INIT(pyramid);
+ DECLARE_DRIVER_INIT(gldncrwn);
+ DECLARE_DRIVER_INIT(bbrkfst);
+ DECLARE_DRIVER_INIT(ofah);
+ DECLARE_DRIVER_INIT(quintoon);
+ DECLARE_DRIVER_INIT(drwhon);
+ DECLARE_DRIVER_INIT(adder_dutch);
+ DECLARE_DRIVER_INIT(bfmcgslm);
+ DECLARE_DRIVER_INIT(luvjub);
+ DECLARE_DRIVER_INIT(prom);
+ DECLARE_DRIVER_INIT(cpeno1);
+ DECLARE_DRIVER_INIT(focus);
+ DECLARE_DRIVER_INIT(drwho);
+ DECLARE_DRIVER_INIT(drwho_common);
};
@@ -2197,95 +2212,90 @@ static void adder2_common_init(running_machine &machine)
// UK quintoon initialisation ////////////////////////////////////////////////
-static DRIVER_INIT (quintoon)
+DRIVER_INIT_MEMBER(bfm_sc2_state,quintoon)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- sc2_common_init(machine, 1);
- adder2_decode_char_roms(machine);
- MechMtr_config(machine,8); // setup mech meters
+ sc2_common_init(machine(), 1);
+ adder2_decode_char_roms(machine());
+ MechMtr_config(machine(),8); // setup mech meters
- state->m_has_hopper = 0;
+ m_has_hopper = 0;
- Scorpion2_SetSwitchState(machine,3,0,1); // tube1 level switch
- Scorpion2_SetSwitchState(machine,3,1,1); // tube2 level switch
- Scorpion2_SetSwitchState(machine,3,2,1); // tube3 level switch
+ Scorpion2_SetSwitchState(machine(),3,0,1); // tube1 level switch
+ Scorpion2_SetSwitchState(machine(),3,1,1); // tube2 level switch
+ Scorpion2_SetSwitchState(machine(),3,2,1); // tube3 level switch
- Scorpion2_SetSwitchState(machine,5,2,1);
- Scorpion2_SetSwitchState(machine,6,4,1);
+ Scorpion2_SetSwitchState(machine(),5,2,1);
+ Scorpion2_SetSwitchState(machine(),6,4,1);
- state->m_sc2_show_door = 1;
- state->m_sc2_door_state = 0x41;
+ m_sc2_show_door = 1;
+ m_sc2_door_state = 0x41;
}
// dutch pyramid intialisation //////////////////////////////////////////////
-static DRIVER_INIT( pyramid )
+DRIVER_INIT_MEMBER(bfm_sc2_state,pyramid)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- sc2_common_init(machine, 1);
- adder2_decode_char_roms(machine); // decode GFX roms
- adder2_common_init(machine);
+ sc2_common_init(machine(), 1);
+ adder2_decode_char_roms(machine()); // decode GFX roms
+ adder2_common_init(machine());
- state->m_has_hopper = 1;
+ m_has_hopper = 1;
- Scorpion2_SetSwitchState(machine,3,0,1); // tube1 level switch
- Scorpion2_SetSwitchState(machine,3,1,1); // tube2 level switch
- Scorpion2_SetSwitchState(machine,3,2,1); // tube3 level switch
+ Scorpion2_SetSwitchState(machine(),3,0,1); // tube1 level switch
+ Scorpion2_SetSwitchState(machine(),3,1,1); // tube2 level switch
+ Scorpion2_SetSwitchState(machine(),3,2,1); // tube3 level switch
- state->m_sc2_show_door = 1;
- state->m_sc2_door_state = 0x41;
+ m_sc2_show_door = 1;
+ m_sc2_door_state = 0x41;
}
// belgian slots initialisation /////////////////////////////////////////////
-static DRIVER_INIT( sltsbelg )
+DRIVER_INIT_MEMBER(bfm_sc2_state,sltsbelg)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- sc2_common_init(machine, 1);
- adder2_decode_char_roms(machine); // decode GFX roms
- adder2_common_init(machine);
+ sc2_common_init(machine(), 1);
+ adder2_decode_char_roms(machine()); // decode GFX roms
+ adder2_common_init(machine());
- state->m_has_hopper = 1;
+ m_has_hopper = 1;
- state->m_sc2_show_door = 1;
- state->m_sc2_door_state = 0x41;
+ m_sc2_show_door = 1;
+ m_sc2_door_state = 0x41;
}
// other dutch adder games ////////////////////////////////////////////////
-static DRIVER_INIT( adder_dutch )
+DRIVER_INIT_MEMBER(bfm_sc2_state,adder_dutch)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- sc2_common_init(machine, 1);
- adder2_decode_char_roms(machine); // decode GFX roms
- adder2_common_init(machine);
+ sc2_common_init(machine(), 1);
+ adder2_decode_char_roms(machine()); // decode GFX roms
+ adder2_common_init(machine());
- state->m_has_hopper = 0;
+ m_has_hopper = 0;
- Scorpion2_SetSwitchState(machine,3,0,1); // tube1 level switch
- Scorpion2_SetSwitchState(machine,3,1,1); // tube2 level switch
- Scorpion2_SetSwitchState(machine,3,2,1); // tube3 level switch
+ Scorpion2_SetSwitchState(machine(),3,0,1); // tube1 level switch
+ Scorpion2_SetSwitchState(machine(),3,1,1); // tube2 level switch
+ Scorpion2_SetSwitchState(machine(),3,2,1); // tube3 level switch
- state->m_sc2_show_door = 1;
- state->m_sc2_door_state = 0x41;
+ m_sc2_show_door = 1;
+ m_sc2_door_state = 0x41;
}
// golden crown //////////////////////////////////////////////////////////
-static DRIVER_INIT( gldncrwn )
+DRIVER_INIT_MEMBER(bfm_sc2_state,gldncrwn)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- sc2_common_init(machine, 1);
- adder2_decode_char_roms(machine); // decode GFX roms
- adder2_common_init(machine);
+ sc2_common_init(machine(), 1);
+ adder2_decode_char_roms(machine()); // decode GFX roms
+ adder2_common_init(machine());
- state->m_has_hopper = 0;
+ m_has_hopper = 0;
- Scorpion2_SetSwitchState(machine,3,0,1); // tube1 level switch
- Scorpion2_SetSwitchState(machine,3,1,1); // tube2 level switch
- Scorpion2_SetSwitchState(machine,3,2,1); // tube3 level switch
+ Scorpion2_SetSwitchState(machine(),3,0,1); // tube1 level switch
+ Scorpion2_SetSwitchState(machine(),3,1,1); // tube2 level switch
+ Scorpion2_SetSwitchState(machine(),3,2,1); // tube3 level switch
- state->m_sc2_show_door = 0;
- state->m_sc2_door_state = 0x41;
+ m_sc2_show_door = 0;
+ m_sc2_door_state = 0x41;
}
// ROM definition UK Quintoon ////////////////////////////////////////////
@@ -3784,177 +3794,172 @@ static void sc2awpdmd_common_init(running_machine &machine,int reels, int decryp
-static DRIVER_INIT (bbrkfst)
+DRIVER_INIT_MEMBER(bfm_sc2_state,bbrkfst)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- sc2awp_common_init(machine,5, 1);
- MechMtr_config(machine,8);
+ sc2awp_common_init(machine(),5, 1);
+ MechMtr_config(machine(),8);
- state->m_has_hopper = 0;
+ m_has_hopper = 0;
- Scorpion2_SetSwitchState(machine,4,0, 1); /* GBP1 Low Level Switch */
- Scorpion2_SetSwitchState(machine,4,1, 1); /* 20p Low Level Switch */
- Scorpion2_SetSwitchState(machine,4,2, 1); /* Token Front Low Level Switch */
- Scorpion2_SetSwitchState(machine,4,3, 1); /* Token Rear Low Level Switch */
- Scorpion2_SetSwitchState(machine,4,4, 1);
- Scorpion2_SetSwitchState(machine,6,0, 0);
- Scorpion2_SetSwitchState(machine,6,1, 1);
- Scorpion2_SetSwitchState(machine,6,2, 0);
- Scorpion2_SetSwitchState(machine,6,3, 1);
+ Scorpion2_SetSwitchState(machine(),4,0, 1); /* GBP1 Low Level Switch */
+ Scorpion2_SetSwitchState(machine(),4,1, 1); /* 20p Low Level Switch */
+ Scorpion2_SetSwitchState(machine(),4,2, 1); /* Token Front Low Level Switch */
+ Scorpion2_SetSwitchState(machine(),4,3, 1); /* Token Rear Low Level Switch */
+ Scorpion2_SetSwitchState(machine(),4,4, 1);
+ Scorpion2_SetSwitchState(machine(),6,0, 0);
+ Scorpion2_SetSwitchState(machine(),6,1, 1);
+ Scorpion2_SetSwitchState(machine(),6,2, 0);
+ Scorpion2_SetSwitchState(machine(),6,3, 1);
}
-static DRIVER_INIT (drwho_common)
+DRIVER_INIT_MEMBER(bfm_sc2_state,drwho_common)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- MechMtr_config(machine,8);
+ MechMtr_config(machine(),8);
- state->m_has_hopper = 0;
+ m_has_hopper = 0;
- Scorpion2_SetSwitchState(machine,4,0, 0); /* GBP1 Low Level Switch */
- Scorpion2_SetSwitchState(machine,4,1, 0); /* 20p Low Level Switch */
- Scorpion2_SetSwitchState(machine,4,2, 0); /* Token Front Low Level Switch */
- Scorpion2_SetSwitchState(machine,4,3, 0); /* Token Rear Low Level Switch */
- Scorpion2_SetSwitchState(machine,7,0, 0); /* GBP1 High Level Switch */
- Scorpion2_SetSwitchState(machine,7,1, 0); /* 20P High Level Switch */
- Scorpion2_SetSwitchState(machine,7,2, 0); /* Token Front High Level Switch */
- Scorpion2_SetSwitchState(machine,7,3, 0); /* Token Rear High Level Switch */
+ Scorpion2_SetSwitchState(machine(),4,0, 0); /* GBP1 Low Level Switch */
+ Scorpion2_SetSwitchState(machine(),4,1, 0); /* 20p Low Level Switch */
+ Scorpion2_SetSwitchState(machine(),4,2, 0); /* Token Front Low Level Switch */
+ Scorpion2_SetSwitchState(machine(),4,3, 0); /* Token Rear Low Level Switch */
+ Scorpion2_SetSwitchState(machine(),7,0, 0); /* GBP1 High Level Switch */
+ Scorpion2_SetSwitchState(machine(),7,1, 0); /* 20P High Level Switch */
+ Scorpion2_SetSwitchState(machine(),7,2, 0); /* Token Front High Level Switch */
+ Scorpion2_SetSwitchState(machine(),7,3, 0); /* Token Rear High Level Switch */
}
-static DRIVER_INIT (drwho)
+DRIVER_INIT_MEMBER(bfm_sc2_state,drwho)
{
- sc2awp_common_init(machine,6, 1);
+ sc2awp_common_init(machine(),6, 1);
DRIVER_INIT_CALL(drwho_common);
}
-static DRIVER_INIT (drwhon)
+DRIVER_INIT_MEMBER(bfm_sc2_state,drwhon)
{
- sc2awp_common_init(machine,4, 0);
+ sc2awp_common_init(machine(),4, 0);
DRIVER_INIT_CALL(drwho_common);
}
-static DRIVER_INIT (focus)
+DRIVER_INIT_MEMBER(bfm_sc2_state,focus)
{
- sc2awp_common_init(machine,6, 1);
- MechMtr_config(machine,5);
+ sc2awp_common_init(machine(),6, 1);
+ MechMtr_config(machine(),5);
}
-static DRIVER_INIT (cpeno1)
+DRIVER_INIT_MEMBER(bfm_sc2_state,cpeno1)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- sc2awpdmd_common_init(machine,6, 1);
-
- MechMtr_config(machine,5);
-
- Scorpion2_SetSwitchState(machine,3,3,1); /* 5p play */
- Scorpion2_SetSwitchState(machine,3,4,1); /* 20p play */
-
- Scorpion2_SetSwitchState(machine,4,0,1); /* pay tube low (1 pound front) */
- Scorpion2_SetSwitchState(machine,4,1,1); /* pay tube low (20p) */
- Scorpion2_SetSwitchState(machine,4,2,1); /* pay tube low (?1 right) */
- Scorpion2_SetSwitchState(machine,4,3,1); /* pay tube low (?1 left) */
-
- Scorpion2_SetSwitchState(machine,5,0,1); /* pay sensor (GBP1 front) */
- Scorpion2_SetSwitchState(machine,5,1,1); /* pay sensor (20 p) */
- Scorpion2_SetSwitchState(machine,5,2,1); /* pay sensor (1 right) */
- Scorpion2_SetSwitchState(machine,5,3,1); /* pay sensor (?1 left) */
- Scorpion2_SetSwitchState(machine,5,4,1); /* payout unit present */
-
- state->m_slide_pay_sensor[0] = 0x50;
- state->m_slide_pay_sensor[1] = 0x51;
- state->m_slide_pay_sensor[2] = 0x52;
- state->m_slide_pay_sensor[3] = 0x53;
- state->m_slide_pay_sensor[4] = 0;
- state->m_slide_pay_sensor[5] = 0;
-
- Scorpion2_SetSwitchState(machine,6,0,1); /* ? percentage key */
- Scorpion2_SetSwitchState(machine,6,1,1);
- Scorpion2_SetSwitchState(machine,6,2,1);
- Scorpion2_SetSwitchState(machine,6,3,1);
- Scorpion2_SetSwitchState(machine,6,4,1);
-
- Scorpion2_SetSwitchState(machine,7,0,0); /* GBP1 High Level Switch */
- Scorpion2_SetSwitchState(machine,7,1,0); /* 20P High Level Switch */
- Scorpion2_SetSwitchState(machine,7,2,0); /* Token Front High Level Switch */
- Scorpion2_SetSwitchState(machine,7,3,0); /* Token Rear High Level Switch */
-
- state->m_sc2_show_door = 1;
- state->m_sc2_door_state = 0x31;
-
- state->m_has_hopper = 0;
+ sc2awpdmd_common_init(machine(),6, 1);
+
+ MechMtr_config(machine(),5);
+
+ Scorpion2_SetSwitchState(machine(),3,3,1); /* 5p play */
+ Scorpion2_SetSwitchState(machine(),3,4,1); /* 20p play */
+
+ Scorpion2_SetSwitchState(machine(),4,0,1); /* pay tube low (1 pound front) */
+ Scorpion2_SetSwitchState(machine(),4,1,1); /* pay tube low (20p) */
+ Scorpion2_SetSwitchState(machine(),4,2,1); /* pay tube low (?1 right) */
+ Scorpion2_SetSwitchState(machine(),4,3,1); /* pay tube low (?1 left) */
+
+ Scorpion2_SetSwitchState(machine(),5,0,1); /* pay sensor (GBP1 front) */
+ Scorpion2_SetSwitchState(machine(),5,1,1); /* pay sensor (20 p) */
+ Scorpion2_SetSwitchState(machine(),5,2,1); /* pay sensor (1 right) */
+ Scorpion2_SetSwitchState(machine(),5,3,1); /* pay sensor (?1 left) */
+ Scorpion2_SetSwitchState(machine(),5,4,1); /* payout unit present */
+
+ m_slide_pay_sensor[0] = 0x50;
+ m_slide_pay_sensor[1] = 0x51;
+ m_slide_pay_sensor[2] = 0x52;
+ m_slide_pay_sensor[3] = 0x53;
+ m_slide_pay_sensor[4] = 0;
+ m_slide_pay_sensor[5] = 0;
+
+ Scorpion2_SetSwitchState(machine(),6,0,1); /* ? percentage key */
+ Scorpion2_SetSwitchState(machine(),6,1,1);
+ Scorpion2_SetSwitchState(machine(),6,2,1);
+ Scorpion2_SetSwitchState(machine(),6,3,1);
+ Scorpion2_SetSwitchState(machine(),6,4,1);
+
+ Scorpion2_SetSwitchState(machine(),7,0,0); /* GBP1 High Level Switch */
+ Scorpion2_SetSwitchState(machine(),7,1,0); /* 20P High Level Switch */
+ Scorpion2_SetSwitchState(machine(),7,2,0); /* Token Front High Level Switch */
+ Scorpion2_SetSwitchState(machine(),7,3,0); /* Token Rear High Level Switch */
+
+ m_sc2_show_door = 1;
+ m_sc2_door_state = 0x31;
+
+ m_has_hopper = 0;
}
-static DRIVER_INIT (ofah)
+DRIVER_INIT_MEMBER(bfm_sc2_state,ofah)
{
- sc2awpdmd_common_init(machine,4, 1);
+ sc2awpdmd_common_init(machine(),4, 1);
- Scorpion2_SetSwitchState(machine,4,0,1); /* pay tube low (1 pound front) */
- Scorpion2_SetSwitchState(machine,4,1,1); /* pay tube low (20p) */
- Scorpion2_SetSwitchState(machine,4,2,1); /* pay tube low (?1 right) */
- Scorpion2_SetSwitchState(machine,4,3,1); /* pay tube low (?1 left) */
+ Scorpion2_SetSwitchState(machine(),4,0,1); /* pay tube low (1 pound front) */
+ Scorpion2_SetSwitchState(machine(),4,1,1); /* pay tube low (20p) */
+ Scorpion2_SetSwitchState(machine(),4,2,1); /* pay tube low (?1 right) */
+ Scorpion2_SetSwitchState(machine(),4,3,1); /* pay tube low (?1 left) */
- Scorpion2_SetSwitchState(machine,6,0,0); /* ? percentage key */
- Scorpion2_SetSwitchState(machine,6,1,1);
- Scorpion2_SetSwitchState(machine,6,2,0);
- Scorpion2_SetSwitchState(machine,6,3,1);
+ Scorpion2_SetSwitchState(machine(),6,0,0); /* ? percentage key */
+ Scorpion2_SetSwitchState(machine(),6,1,1);
+ Scorpion2_SetSwitchState(machine(),6,2,0);
+ Scorpion2_SetSwitchState(machine(),6,3,1);
- MechMtr_config(machine,3);
+ MechMtr_config(machine(),3);
}
-static DRIVER_INIT (prom)
+DRIVER_INIT_MEMBER(bfm_sc2_state,prom)
{
- sc2awpdmd_common_init(machine,6, 1);
+ sc2awpdmd_common_init(machine(),6, 1);
- Scorpion2_SetSwitchState(machine,4,0,1); /* pay tube low (1 pound front) */
- Scorpion2_SetSwitchState(machine,4,1,1); /* pay tube low (20p) */
- Scorpion2_SetSwitchState(machine,4,2,1); /* pay tube low (?1 right) */
- Scorpion2_SetSwitchState(machine,4,3,1); /* pay tube low (?1 left) */
+ Scorpion2_SetSwitchState(machine(),4,0,1); /* pay tube low (1 pound front) */
+ Scorpion2_SetSwitchState(machine(),4,1,1); /* pay tube low (20p) */
+ Scorpion2_SetSwitchState(machine(),4,2,1); /* pay tube low (?1 right) */
+ Scorpion2_SetSwitchState(machine(),4,3,1); /* pay tube low (?1 left) */
- Scorpion2_SetSwitchState(machine,6,0,0); /* ? percentage key */
- Scorpion2_SetSwitchState(machine,6,1,1);
- Scorpion2_SetSwitchState(machine,6,2,0);
- Scorpion2_SetSwitchState(machine,6,3,1);
+ Scorpion2_SetSwitchState(machine(),6,0,0); /* ? percentage key */
+ Scorpion2_SetSwitchState(machine(),6,1,1);
+ Scorpion2_SetSwitchState(machine(),6,2,0);
+ Scorpion2_SetSwitchState(machine(),6,3,1);
- MechMtr_config(machine,3);
+ MechMtr_config(machine(),3);
}
-static DRIVER_INIT (bfmcgslm)
+DRIVER_INIT_MEMBER(bfm_sc2_state,bfmcgslm)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- sc2awp_common_init(machine,6, 1);
- MechMtr_config(machine,8);
- state->m_has_hopper = 0;
+ sc2awp_common_init(machine(),6, 1);
+ MechMtr_config(machine(),8);
+ m_has_hopper = 0;
}
-static DRIVER_INIT (luvjub)
+DRIVER_INIT_MEMBER(bfm_sc2_state,luvjub)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- sc2awpdmd_common_init(machine,6, 1);
+ sc2awpdmd_common_init(machine(),6, 1);
- MechMtr_config(machine,8);
- state->m_has_hopper = 0;
+ MechMtr_config(machine(),8);
+ m_has_hopper = 0;
- Scorpion2_SetSwitchState(machine,3,0,1);
- Scorpion2_SetSwitchState(machine,3,1,1);
+ Scorpion2_SetSwitchState(machine(),3,0,1);
+ Scorpion2_SetSwitchState(machine(),3,1,1);
- Scorpion2_SetSwitchState(machine,4,0,1);
- Scorpion2_SetSwitchState(machine,4,1,1);
- Scorpion2_SetSwitchState(machine,4,2,1);
- Scorpion2_SetSwitchState(machine,4,3,1);
+ Scorpion2_SetSwitchState(machine(),4,0,1);
+ Scorpion2_SetSwitchState(machine(),4,1,1);
+ Scorpion2_SetSwitchState(machine(),4,2,1);
+ Scorpion2_SetSwitchState(machine(),4,3,1);
- Scorpion2_SetSwitchState(machine,6,0,1);
- Scorpion2_SetSwitchState(machine,6,1,1);
- Scorpion2_SetSwitchState(machine,6,2,1);
- Scorpion2_SetSwitchState(machine,6,3,0);
+ Scorpion2_SetSwitchState(machine(),6,0,1);
+ Scorpion2_SetSwitchState(machine(),6,1,1);
+ Scorpion2_SetSwitchState(machine(),6,2,1);
+ Scorpion2_SetSwitchState(machine(),6,3,0);
- Scorpion2_SetSwitchState(machine,7,0,0);
- Scorpion2_SetSwitchState(machine,7,1,0);
- Scorpion2_SetSwitchState(machine,7,2,0);
- Scorpion2_SetSwitchState(machine,7,3,0);
+ Scorpion2_SetSwitchState(machine(),7,0,0);
+ Scorpion2_SetSwitchState(machine(),7,1,0);
+ Scorpion2_SetSwitchState(machine(),7,2,0);
+ Scorpion2_SetSwitchState(machine(),7,3,0);
}
diff --git a/src/mame/drivers/bfm_sc4.c b/src/mame/drivers/bfm_sc4.c
index 57064982a31..a343ea26f53 100644
--- a/src/mame/drivers/bfm_sc4.c
+++ b/src/mame/drivers/bfm_sc4.c
@@ -207,9 +207,9 @@ INPUT_PORTS_END
-DRIVER_INIT( sc4 )
+DRIVER_INIT_MEMBER(sc4_state,sc4)
{
- UINT8 *src = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *src = machine().root_device().memregion( "maincpu" )->base();
// SC4 identification sequence 0x80 0x00 0xf0 0x7d
if (((src[0] == 0x80) && (src[2] == 0xf0)) || ((src[1] == 0x00) && (src[3] == 0x7d)))
{
@@ -223,33 +223,31 @@ DRIVER_INIT( sc4 )
// there is usually a string in the rom with identification info, often also saying which sound rom should be used!
// find it.
- int found = find_project_string(machine, 1, 0);
+ int found = find_project_string(machine(), 1, 0);
if (!found)
printf("Normal rom pair string not found, checking mismatched / missing rom string\n");
// help identify roms where one of the pair is missing too
if (!found)
{
- found = find_project_string(machine, 1, 1);
- found = find_project_string(machine, 1, 2);
+ found = find_project_string(machine(), 1, 1);
+ found = find_project_string(machine(), 1, 2);
}
if (!found)
printf("No suitable string found\n");
- sc4_state *state = machine.driver_data<sc4_state>();
- state->m_reel_setup = default_reel_configs;
+ m_reel_setup = default_reel_configs;
}
-DRIVER_INIT( sc4mbus )
+DRIVER_INIT_MEMBER(sc4_state,sc4mbus)
{
- DRIVER_INIT_CALL( sc4 );
- sc4_state *state = machine.driver_data<sc4_state>();
- UINT16 *rom = (UINT16 *)state->memregion("maincpu")->base();
- find_mbus(state, rom);
+ DRIVER_INIT_CALL(sc4);
+ UINT16 *rom = (UINT16 *)memregion("maincpu")->base();
+ find_mbus(this, rom);
}
@@ -23339,11 +23337,10 @@ const stepper_interface* sc4cvani_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4cvani )
+DRIVER_INIT_MEMBER(sc4_state,sc4cvani)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4cvani_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4cvani_reel_configs;
}
// PR2052 CASHLVANIA VANIASND CASH'!'VANIA
@@ -23368,11 +23365,10 @@ const stepper_interface* sc4cvclb_reel_configs[6] =
&starpoint_interface_200step_reel,
};
-static DRIVER_INIT( sc4cvclb )
+DRIVER_INIT_MEMBER(sc4_state,sc4cvclb)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4cvclb_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4cvclb_reel_configs;
}
// PRXXXX CLUBCASHLVANIA V1.0 CLUBVANIASND CLUB CASH!VANIA
@@ -23480,18 +23476,16 @@ const stepper_interface* sc4bonbx_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4bonbxm )
+DRIVER_INIT_MEMBER(sc4_state,sc4bonbxm)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4bonbx_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4bonbx_reel_configs;
}
-static DRIVER_INIT( sc4bonbx )
+DRIVER_INIT_MEMBER(sc4_state,sc4bonbx)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4bonbx_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4bonbx_reel_configs;
}
INPUT_PORTS_START( sc4bonbx4 )
@@ -23772,12 +23766,11 @@ const stepper_interface* sc4crcc_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4crcc )
+DRIVER_INIT_MEMBER(sc4_state,sc4crcc)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- BFM_dm01_config(machine, &dm01_interface);
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4crcc_reel_configs;
+ BFM_dm01_config(machine(), &dm01_interface);
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4crcc_reel_configs;
}
@@ -24097,12 +24090,11 @@ const stepper_interface* sc4fcc_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4fcc )
+DRIVER_INIT_MEMBER(sc4_state,sc4fcc)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- BFM_dm01_config(machine, &dm01_interface);
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4fcc_reel_configs;
+ BFM_dm01_config(machine(), &dm01_interface);
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4fcc_reel_configs;
}
// PR6835 FIRE CRACKER PR6835 FIRE SOUNDS11
@@ -24741,11 +24733,10 @@ const stepper_interface* sc4luckb_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4luckb )
+DRIVER_INIT_MEMBER(sc4_state,sc4luckb)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4luckb_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4luckb_reel_configs;
}
@@ -24864,18 +24855,16 @@ const stepper_interface* sc4mgr_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4mgr )
+DRIVER_INIT_MEMBER(sc4_state,sc4mgr)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4mgr_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4mgr_reel_configs;
}
-static DRIVER_INIT( sc4mgrm )
+DRIVER_INIT_MEMBER(sc4_state,sc4mgrm)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4mgr_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4mgr_reel_configs;
}
// PR1132 CASINO MONEY GO ROUND PR1132 MONEY GO ROUND SOUNDS11
@@ -25113,11 +25102,10 @@ const stepper_interface* sc4pgold_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4pgold )
+DRIVER_INIT_MEMBER(sc4_state,sc4pgold)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4pgold_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4pgold_reel_configs;
}
// PR1012 PHARAOH'S GOLD PR1012 PHARAOHS GOLD SOUNDS11
@@ -25424,11 +25412,10 @@ const stepper_interface* sc4royle_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4royle )
+DRIVER_INIT_MEMBER(sc4_state,sc4royle)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4royle_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4royle_reel_configs;
}
// PR1102 ROYLEFAMILY PR1102 ROYLEFAMILY SOUNDS11
@@ -25792,12 +25779,11 @@ const stepper_interface* sc4ticlb_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4ticlb )
+DRIVER_INIT_MEMBER(sc4_state,sc4ticlb)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- BFM_dm01_config(machine, &dm01_interface);
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4ticlb_reel_configs;
+ BFM_dm01_config(machine(), &dm01_interface);
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4ticlb_reel_configs;
}
// PR6832 TREASURE ISLAND FIXED 65% PR6832 TRES SOUNDS11
@@ -26120,12 +26106,11 @@ const stepper_interface* sc4clbtm_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4clbtm )
+DRIVER_INIT_MEMBER(sc4_state,sc4clbtm)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- BFM_dm01_config(machine, &dm01_interface);
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4clbtm_reel_configs;
+ BFM_dm01_config(machine(), &dm01_interface);
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4clbtm_reel_configs;
}
@@ -26290,11 +26275,10 @@ const stepper_interface* sc4bull_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4bull )
+DRIVER_INIT_MEMBER(sc4_state,sc4bull)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4bull_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4bull_reel_configs;
}
// PR1722 AWP BULLSEYE SCORP4 PR1702 BULLSEYE SOUNDS11 BULLSEYE S.SITE
@@ -26475,11 +26459,10 @@ const stepper_interface* sc4dnd_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dnd )
+DRIVER_INIT_MEMBER(sc4_state,sc4dnd)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dnd_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dnd_reel_configs;
}
INPUT_PORTS_START( sc4dnd25 )
@@ -26524,11 +26507,10 @@ const stepper_interface* sc4dndcs_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndcs )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndcs)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndcs_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndcs_reel_configs;
}
INPUT_PORTS_START( sc4dndcs5 )
@@ -26556,11 +26538,10 @@ const stepper_interface* sc4dndbb_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndbb )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndbb)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndbb_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndbb_reel_configs;
}
INPUT_PORTS_START( sc4dndbb35 )
@@ -26600,11 +26581,10 @@ const stepper_interface* sc4dndcl_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndcl )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndcl)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndcl_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndcl_reel_configs;
}
INPUT_PORTS_START( sc4dndcl250 )
@@ -26641,11 +26621,10 @@ const stepper_interface* sc4dnddd_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dnddd )
+DRIVER_INIT_MEMBER(sc4_state,sc4dnddd)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dnddd_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dnddd_reel_configs;
}
INPUT_PORTS_START( sc4dnddd35 )
@@ -26683,11 +26662,10 @@ const stepper_interface* sc4dndhf_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndhf )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndhf)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndhf_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndhf_reel_configs;
}
INPUT_PORTS_START( sc4dndhf35 )
@@ -26729,11 +26707,10 @@ const stepper_interface* sc4dndys_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndys )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndys)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndys_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndys_reel_configs;
}
INPUT_PORTS_START( sc4dndys35 )
@@ -26768,11 +26745,10 @@ const stepper_interface* sc4dndlp_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4dndlp )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndlp)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndlp_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndlp_reel_configs;
}
INPUT_PORTS_START( sc4dndlp70 )
@@ -26802,11 +26778,10 @@ const stepper_interface* sc4dndra_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndra )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndra)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndra_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndra_reel_configs;
}
INPUT_PORTS_START( sc4dndra35 )
@@ -26841,11 +26816,10 @@ const stepper_interface* sc4dndbd_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4dndbd )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndbd)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndbd_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndbd_reel_configs;
}
INPUT_PORTS_START( sc4dndbd35 )
@@ -26881,11 +26855,10 @@ const stepper_interface* sc4dndbr_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndbr )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndbr)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndbr_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndbr_reel_configs;
}
INPUT_PORTS_START( sc4dndbr35 )
@@ -26923,11 +26896,10 @@ const stepper_interface* sc4dndcc_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4dndcc )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndcc)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndcc_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndcc_reel_configs;
}
INPUT_PORTS_START( sc4dndcc35 )
@@ -26964,11 +26936,10 @@ const stepper_interface* sc4dnddw_reel_configs[6] =
&starpoint_interface_200step_reel,
};
-static DRIVER_INIT( sc4dnddw )
+DRIVER_INIT_MEMBER(sc4_state,sc4dnddw)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dnddw_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dnddw_reel_configs;
}
INPUT_PORTS_START( sc4dnddw35 )
@@ -27005,11 +26976,10 @@ const stepper_interface* sc4dnddf_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dnddf )
+DRIVER_INIT_MEMBER(sc4_state,sc4dnddf)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dnddf_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dnddf_reel_configs;
}
INPUT_PORTS_START( sc4dnddf35 )
@@ -27044,11 +27014,10 @@ const stepper_interface* sc4dndpg_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4dndpg )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndpg)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndpg_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndpg_reel_configs;
}
INPUT_PORTS_START( sc4dndpg35 )
@@ -27084,11 +27053,10 @@ const stepper_interface* sc4dndtp_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4dndtp )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndtp)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndtp_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndtp_reel_configs;
}
INPUT_PORTS_START( sc4dndtp35 )
@@ -27125,11 +27093,10 @@ const stepper_interface* sc4dndww_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndww )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndww)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndww_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndww_reel_configs;
}
INPUT_PORTS_START( sc4dndww35 )
@@ -27158,11 +27125,10 @@ const stepper_interface* sc4dndcw_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndcw )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndcw)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndcw_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndcw_reel_configs;
}
INPUT_PORTS_START( sc4dndcw5 )
@@ -27189,11 +27155,10 @@ const stepper_interface* sc4dndtr_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndtr )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndtr)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndtr_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndtr_reel_configs;
}
INPUT_PORTS_START( sc4dndtr70 )
@@ -27218,11 +27183,10 @@ const stepper_interface* sc4dndwb_reel_configs[6] =
&starpoint_interface_200step_reel,
};
-static DRIVER_INIT( sc4dndwb )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndwb)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndwb_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndwb_reel_configs;
}
INPUT_PORTS_START( sc4dndwb35 )
@@ -27252,11 +27216,10 @@ const stepper_interface* sc4dndbe_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4dndbe )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndbe)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndbe_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndbe_reel_configs;
}
INPUT_PORTS_START( sc4dndbe25 )
@@ -27299,11 +27262,10 @@ const stepper_interface* sc4dndbc_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4dndbc )
+DRIVER_INIT_MEMBER(sc4_state,sc4dndbc)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4dndbc_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4dndbc_reel_configs;
}
INPUT_PORTS_START( sc4dndbc70 )
@@ -27393,11 +27355,10 @@ const stepper_interface* sc4fguy_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4fguy )
+DRIVER_INIT_MEMBER(sc4_state,sc4fguy)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4fguy_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4fguy_reel_configs;
}
INPUT_PORTS_START( sc4fguy35 )
@@ -27454,11 +27415,10 @@ const stepper_interface* sc4gd_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4gd )
+DRIVER_INIT_MEMBER(sc4_state,sc4gd)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4gd_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4gd_reel_configs;
}
// PR1016 GOLD DIGGER PR1016 GOLD DIGGER SOUNDS11
@@ -27485,11 +27445,10 @@ const stepper_interface* sc4gdclb_reel_configs[6] =
&starpoint_interface_200step_reel,
};
-static DRIVER_INIT( sc4gdclb )
+DRIVER_INIT_MEMBER(sc4_state,sc4gdclb)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4gdclb_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4gdclb_reel_configs;
}
@@ -27517,11 +27476,10 @@ const stepper_interface* sc4gbcas_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4gbcas )
+DRIVER_INIT_MEMBER(sc4_state,sc4gbcas)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4gbcas_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4gbcas_reel_configs;
}
// this one is a variation of lucky balls
@@ -27542,11 +27500,10 @@ const stepper_interface* sc4gball_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4gball )
+DRIVER_INIT_MEMBER(sc4_state,sc4gball)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4gball_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4gball_reel_configs;
}
// this is a football themed game...
@@ -27566,11 +27523,10 @@ const stepper_interface* sc4gunp_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4gunp )
+DRIVER_INIT_MEMBER(sc4_state,sc4gunp)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4gunp_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4gunp_reel_configs;
}
// PR3046 AWP THE GUNPOWDER SLOT S4 PR3016 GUNPOWDER SLOT SOUNDS11 GUNPOWDER SLOT S.SITE
@@ -27593,11 +27549,10 @@ const stepper_interface* sc4hapnt_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4hapnt )
+DRIVER_INIT_MEMBER(sc4_state,sc4hapnt)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4hapnt_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4hapnt_reel_configs;
}
// PR1306 AWP HAPPY NOTES PR1306 HAPPY NOTES SOUNDS11
@@ -27618,19 +27573,17 @@ const stepper_interface* sc4hntcs_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4hntcsm )
+DRIVER_INIT_MEMBER(sc4_state,sc4hntcsm)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4hntcs_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4hntcs_reel_configs;
}
-static DRIVER_INIT( sc4hntcs )
+DRIVER_INIT_MEMBER(sc4_state,sc4hntcs)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4hntcs_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4hntcs_reel_configs;
}
// PR1327 CASINO HAPPY NOTES HAPPY NOTES S.SITE PR1327 CAS_HAPPY_NOTES SOUNDS11
@@ -27684,11 +27637,10 @@ const stepper_interface* sc4hill_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4hill )
+DRIVER_INIT_MEMBER(sc4_state,sc4hill)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4hill_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4hill_reel_configs;
}
// PR1643 AWP HILLBILLIONAIRE SCORP4 PR1613 HILLBILLIONAIRE SOUNDS11 HILLBILLIONAIRE S.SITE
@@ -28325,11 +28277,10 @@ const stepper_interface* sc4bwow_reel_configs[6] =
&starpoint_interface_200step_reel,
};
-static DRIVER_INIT( sc4bwow )
+DRIVER_INIT_MEMBER(sc4_state,sc4bwow)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4bwow_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4bwow_reel_configs;
}
GAME( 200?, sc4bwow ,0, sc4, sc4, sc4_state, sc4bwow, ROT0, "BFM","Wheel Of Wealth (Bellfruit) (PR1726) (Scorpion 4) (WHEL013, set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR1726 AWP WHEEL OF WEALTH PR1706 WHEEL OF WEALTH SOUNDS11 WHEEL OF WEALTH S.SITE
@@ -28381,18 +28332,16 @@ const stepper_interface* sc4ggame_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4ggamem )
+DRIVER_INIT_MEMBER(sc4_state,sc4ggamem)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4mbus );
- state->m_reel_setup = sc4ggame_reel_configs;
+ DRIVER_INIT_CALL(sc4mbus);
+ m_reel_setup = sc4ggame_reel_configs;
}
-static DRIVER_INIT( sc4ggame )
+DRIVER_INIT_MEMBER(sc4_state,sc4ggame)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4ggame_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4ggame_reel_configs;
}
// 25GBP sets
@@ -28467,11 +28416,10 @@ const stepper_interface* sc4gggtb_reel_configs[6] =
&starpointrm20_interface_48step,
};
-static DRIVER_INIT( sc4gggtb )
+DRIVER_INIT_MEMBER(sc4_state,sc4gggtb)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4gggtb_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4gggtb_reel_configs;
}
// most of these look similar
@@ -28489,11 +28437,10 @@ const stepper_interface* sc4ggg_reel_configs[6] =
0,
};
-static DRIVER_INIT( sc4ggg )
+DRIVER_INIT_MEMBER(sc4_state,sc4ggg)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- DRIVER_INIT_CALL( sc4 );
- state->m_reel_setup = sc4ggg_reel_configs;
+ DRIVER_INIT_CALL(sc4);
+ m_reel_setup = sc4ggg_reel_configs;
}
// do these sets have the wrong project name / ID strings? they boot at GGGB (Grand Golden Game) but their product ID in the header suggests standard Golden Game
@@ -28830,11 +28777,11 @@ GAME( 200?, sc4boomba ,sc4boomb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Mono
/* Scorpion 4 + Adder 4 */
-GAME( 200?, ad4skill ,0, sc4_adder4, sc4, sc4_adder4_state, sc4, ROT0, "BFM","Skill Dice (BFM) (Scorpion 4 + Adder 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad4film ,0, sc4_adder4, sc4, sc4_adder4_state, sc4, ROT0, "BFM","Film Premiere (Video?) (Bellfruit) (Adder 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // the 68k vectors differ from usual, but it contains the expected strings for an Adder 4 title. No main program roms tho? :/
-GAME( 200?, ad4filma ,ad4film, sc4_adder4, sc4, sc4_adder4_state, sc4, ROT0, "BFM","Film Premiere (Video?) (Bellfruit) (Adder 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, ad4ctl ,0, sc4_adder4, sc4, sc4_adder4_state, sc4, ROT0, "BFM","Cop The Lot Club (Video) (Bellfruit) (Adder 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad4ctla ,ad4ctl, sc4_adder4, sc4, sc4_adder4_state, sc4, ROT0, "BFM","Cop The Lot Club (Video) (Bellfruit) (Adder 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad4skill ,0, sc4_adder4, sc4, sc4_state, sc4, ROT0, "BFM","Skill Dice (BFM) (Scorpion 4 + Adder 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad4film ,0, sc4_adder4, sc4, sc4_state, sc4, ROT0, "BFM","Film Premiere (Video?) (Bellfruit) (Adder 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // the 68k vectors differ from usual, but it contains the expected strings for an Adder 4 title. No main program roms tho? :/
+GAME( 200?, ad4filma ,ad4film, sc4_adder4, sc4, sc4_state, sc4, ROT0, "BFM","Film Premiere (Video?) (Bellfruit) (Adder 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, ad4ctl ,0, sc4_adder4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot Club (Video) (Bellfruit) (Adder 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad4ctla ,ad4ctl, sc4_adder4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot Club (Video) (Bellfruit) (Adder 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/bfm_sc5.c b/src/mame/drivers/bfm_sc5.c
index 015afd0fb5f..657204b5dc2 100644
--- a/src/mame/drivers/bfm_sc5.c
+++ b/src/mame/drivers/bfm_sc5.c
@@ -31,6 +31,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(sc5);
};
@@ -11831,10 +11833,10 @@ ROM_END
extern int find_project_string(running_machine &machine, int addrxor, int mode);
-DRIVER_INIT( sc5 )
+DRIVER_INIT_MEMBER(sc5_state,sc5)
{
// sc5 roms always start with SC5
- UINT8 *src = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *src = machine().root_device().memregion( "maincpu" )->base();
// printf("%02x %02x %02x %02x\n", src[0], src[1], src[2], src[3]);
if (((src[0] == 0x20) && (src[2] == 0x43)) || ((src[1] == 0x35) && (src[3] == 0x53)))
{
@@ -11848,15 +11850,15 @@ DRIVER_INIT( sc5 )
// there is usually a string in the rom with identification info, often also saying which sound rom should be used!
// find it.
- int found = find_project_string(machine, 3, 0);
+ int found = find_project_string(machine(), 3, 0);
if (!found)
printf("Normal rom pair string not found, checking mismatched / missing rom string\n");
// help identify roms where one of the pair is missing too
if (!found)
{
- found = find_project_string(machine, 3, 1);
- found = find_project_string(machine, 3, 2);
+ found = find_project_string(machine(), 3, 1);
+ found = find_project_string(machine(), 3, 2);
}
if (!found)
diff --git a/src/mame/drivers/bfm_swp.c b/src/mame/drivers/bfm_swp.c
index ed2e20f8819..a306a1d14e2 100644
--- a/src/mame/drivers/bfm_swp.c
+++ b/src/mame/drivers/bfm_swp.c
@@ -313,7 +313,7 @@ ROM_END
-GAME( 199?, c3_rtime , 0 , bfm_swp, bfm_swp, bfm_swp_state, 0, ROT0, "Maygay", "Radio Times (Bellfruit) (Cobra 3)", GAME_IS_SKELETON )
-GAME( 199?, c3_telly , 0 , bfm_swp, bfm_swp, bfm_swp_state, 0, ROT0, "Maygay", "Telly Addicts (Bellfruit) (Cobra 3)", GAME_IS_SKELETON )
-GAME( 199?, c3_totp , 0 , bfm_swp, bfm_swp, bfm_swp_state, 0, ROT0, "Maygay", "Top of the Pops (Bellfruit) (Cobra 3?)", GAME_IS_SKELETON )
-GAME( 199?, c3_ppays , 0 , bfm_swp, bfm_swp, bfm_swp_state, 0, ROT0, "Maygay", "The Phrase That Pays (Bellfruit) (Cobra 3?)", GAME_IS_SKELETON )
+GAME( 199?, c3_rtime , 0 , bfm_swp, bfm_swp, driver_device, 0, ROT0, "Maygay", "Radio Times (Bellfruit) (Cobra 3)", GAME_IS_SKELETON )
+GAME( 199?, c3_telly , 0 , bfm_swp, bfm_swp, driver_device, 0, ROT0, "Maygay", "Telly Addicts (Bellfruit) (Cobra 3)", GAME_IS_SKELETON )
+GAME( 199?, c3_totp , 0 , bfm_swp, bfm_swp, driver_device, 0, ROT0, "Maygay", "Top of the Pops (Bellfruit) (Cobra 3?)", GAME_IS_SKELETON )
+GAME( 199?, c3_ppays , 0 , bfm_swp, bfm_swp, driver_device, 0, ROT0, "Maygay", "The Phrase That Pays (Bellfruit) (Cobra 3?)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/bfmsys83.c b/src/mame/drivers/bfmsys83.c
index 30d52b940cf..0edbd5d2e4e 100644
--- a/src/mame/drivers/bfmsys83.c
+++ b/src/mame/drivers/bfmsys83.c
@@ -36,10 +36,9 @@ static MACHINE_CONFIG_START( bfmsys83, bfmsys83_state )
MACHINE_CONFIG_END
/*
-static DRIVER_INIT( decode )
+DRIVER_INIT_MEMBER(bfmsys83_state,decode)
{
- bfmsys83_state *state = machine.driver_data<bfmsys83_state>();
- bfm_decode_mainrom(machine,"maincpu", state->m_codec_data);
+ bfm_decode_mainrom(machine(),"maincpu", m_codec_data);
}
*/
@@ -59,5 +58,5 @@ ROM_START( b83cops ) // was marked as sys85, but I think this is the sys83 set?
ROM_LOAD( "cops.p4", 0x8000, 0x2000, CRC(ce573b35) SHA1(f2ba22f0d55f882dd91b37e80e4bb14effd9113a) )
ROM_END
-GAME( 198?, b83catms , 0 , bfmsys83 , bfmsys83 , bfmsys83_state, 0 , 0, "BFM", "Cat & Mouse (Bellfruit) (System 83)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 198?, b83cops , 0 , bfmsys83 , bfmsys83 , bfmsys83_state, 0 , 0, "BFM", "Cops & Robbers (Bellfruit) (System 83)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 198?, b83catms , 0 , bfmsys83 , bfmsys83 , driver_device, 0 , 0, "BFM", "Cat & Mouse (Bellfruit) (System 83)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 198?, b83cops , 0 , bfmsys83 , bfmsys83 , driver_device, 0 , 0, "BFM", "Cops & Robbers (Bellfruit) (System 83)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/bfmsys85.c b/src/mame/drivers/bfmsys85.c
index 0ad5c170a23..8e52f53f5f0 100644
--- a/src/mame/drivers/bfmsys85.c
+++ b/src/mame/drivers/bfmsys85.c
@@ -109,6 +109,7 @@ public:
DECLARE_READ8_MEMBER(triac_r);
DECLARE_READ_LINE_MEMBER(sys85_data_r);
DECLARE_WRITE_LINE_MEMBER(sys85_data_w);
+ DECLARE_DRIVER_INIT(decode);
};
@@ -653,13 +654,12 @@ ROM_START( b85koca )
ROM_END
-DRIVER_INIT( decode )
+DRIVER_INIT_MEMBER(bfmsys85_state,decode)
{
- bfmsys85_state *state = machine.driver_data<bfmsys85_state>();
- bfm_decode_mainrom(machine,"maincpu", state->m_codec_data);
+ bfm_decode_mainrom(machine(),"maincpu", m_codec_data);
}
-GAME( 1989, b85scard , 0 , bfmsys85, bfmsys85, bfmsys85_state, 0 , 0, "BFM/ELAM", "Supercards (Dutch, Game Card 39-340-271?) (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1989, b85scard , 0 , bfmsys85, bfmsys85, driver_device, 0 , 0, "BFM/ELAM", "Supercards (Dutch, Game Card 39-340-271?) (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
GAME( 1989, b85cexpl , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Cash Explosion (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
GAME( 1988, b85royal , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "The Royal (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK ) // 'The Royal' ?? hack of the Ritz or Big Deal Club?
GAME( 1987, b85bdclb , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Big Deal Club (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
@@ -682,10 +682,10 @@ GAME( 1987, b85jpclb , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0,
GAME( 1987, b85jpclba , b85jpclb , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Jackpot Club (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
GAME( 1988, b85jpclbb , b85jpclb , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Jackpot Club (System 85, set 3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
GAME( 1988, b85jpclbc , b85jpclb , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Jackpot Club (System 85, set 4)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1992, b85jkwld , 0 , bfmsys85, bfmsys85, bfmsys85_state, 0 , 0, "BFM/ELAM", "Jokers Wild (Dutch) (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1986, b85lucky , 0 , bfmsys85, bfmsys85, bfmsys85_state, 0 , 0, "BFM/ELAM", "Lucky Cards (Dutch) (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1992, b85jkwld , 0 , bfmsys85, bfmsys85, driver_device, 0 , 0, "BFM/ELAM", "Jokers Wild (Dutch) (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1986, b85lucky , 0 , bfmsys85, bfmsys85, driver_device, 0 , 0, "BFM/ELAM", "Lucky Cards (Dutch) (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
GAME( 1992, b85luckd , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM/ELAM", "Lucky Dice (Dutch) (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
GAME( 1988, b85sngam , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Super Nudge Gambler (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 199?, b85cops , 0 , bfmsys85, bfmsys85, bfmsys85_state, 0 , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (Dutch) (System 85)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 199?, b85cops , 0 , bfmsys85, bfmsys85, driver_device, 0 , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (Dutch) (System 85)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
GAME( 199?, b85koc , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "King of Clubs (Bellfruit) (System 85, set 1)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL) // this has valid strings in it BEFORE the bfm decode, but decodes to valid code, does it use some funky mapping, or did they just fill unused space with valid looking data?
GAME( 199?, b85koca , b85koc , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "King of Clubs (Bellfruit) (System 85, set 2)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL) // this has valid strings in it BEFORE the bfm decode, but decodes to valid code, does it use some funky mapping, or did they just fill unused space with valid looking data?
diff --git a/src/mame/drivers/bgt.c b/src/mame/drivers/bgt.c
index a4793b03949..1408141e590 100644
--- a/src/mame/drivers/bgt.c
+++ b/src/mame/drivers/bgt.c
@@ -88,7 +88,7 @@ ROM_START( bg_maxa )
ROM_END
-GAME( 199?, bg_ddb, 0, bgt, bgt, bgt_state, 0, ROT0, "BGT", "Ding Dong Bells (BGT)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, bg_barmy, 0, bgt, bgt, bgt_state, 0, ROT0, "BGT", "Barmy Army (BGT)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, bg_max, 0, bgt, bgt, bgt_state, 0, ROT0, "BGT", "Max A Million (BGT) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, bg_maxa, bg_max, bgt, bgt, bgt_state, 0, ROT0, "BGT", "Max A Million (BGT) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, bg_ddb, 0, bgt, bgt, driver_device, 0, ROT0, "BGT", "Ding Dong Bells (BGT)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, bg_barmy, 0, bgt, bgt, driver_device, 0, ROT0, "BGT", "Barmy Army (BGT)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, bg_max, 0, bgt, bgt, driver_device, 0, ROT0, "BGT", "Max A Million (BGT) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, bg_maxa, bg_max, bgt, bgt, driver_device, 0, ROT0, "BGT", "Max A Million (BGT) (set 2)", GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/big10.c b/src/mame/drivers/big10.c
index 52dfe194bd3..f11545374e1 100644
--- a/src/mame/drivers/big10.c
+++ b/src/mame/drivers/big10.c
@@ -291,4 +291,4 @@ ROM_END
**************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 198?, big10, 0, big10, big10, big10_state, 0, ROT0, "<unknown>", "Big 10", 0 )
+GAME( 198?, big10, 0, big10, big10, driver_device, 0, ROT0, "<unknown>", "Big 10", 0 )
diff --git a/src/mame/drivers/bigevglf.c b/src/mame/drivers/bigevglf.c
index f3e8275844a..04832f6255c 100644
--- a/src/mame/drivers/bigevglf.c
+++ b/src/mame/drivers/bigevglf.c
@@ -617,10 +617,10 @@ ROM_START( bigevglfj )
ROM_LOAD( "a67-15", 0x18000, 0x8000, CRC(1d261428) SHA1(0f3e6d83a8a462436fa414de4e1e4306db869d3e))
ROM_END
-static DRIVER_INIT( bigevglf )
+DRIVER_INIT_MEMBER(bigevglf_state,bigevglf)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0xff, &ROM[0x10000], 0x800);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 0xff, &ROM[0x10000], 0x800);
}
GAME( 1986, bigevglf, 0, bigevglf, bigevglf, bigevglf_state, bigevglf, ROT270, "Taito America Corporation", "Big Event Golf (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bigstrkb.c b/src/mame/drivers/bigstrkb.c
index f23657892fb..b725aa9c263 100644
--- a/src/mame/drivers/bigstrkb.c
+++ b/src/mame/drivers/bigstrkb.c
@@ -291,5 +291,5 @@ ROM_END
/* GAME drivers */
-GAME( 1992, bigstrkb, bigstrik, bigstrkb, bigstrkb, bigstrkb_state, 0, ROT0, "bootleg", "Big Striker (bootleg)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
-GAME( 1992, bigstrkba,bigstrik, bigstrkb, bigstrkb, bigstrkb_state, 0, ROT0, "bootleg", "Big Striker (bootleg w/Italian teams)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
+GAME( 1992, bigstrkb, bigstrik, bigstrkb, bigstrkb, driver_device, 0, ROT0, "bootleg", "Big Striker (bootleg)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
+GAME( 1992, bigstrkba,bigstrik, bigstrkb, bigstrkb, driver_device, 0, ROT0, "bootleg", "Big Striker (bootleg w/Italian teams)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/bingo.c b/src/mame/drivers/bingo.c
index 55140db25a0..02fe22e8b94 100644
--- a/src/mame/drivers/bingo.c
+++ b/src/mame/drivers/bingo.c
@@ -19,6 +19,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(bingo);
};
@@ -35,7 +37,7 @@ void bingo_state::machine_reset()
{
}
-static DRIVER_INIT( bingo )
+DRIVER_INIT_MEMBER(bingo_state,bingo)
{
}
@@ -60,6 +62,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(seeben);
};
@@ -73,7 +77,7 @@ void seeben_state::machine_reset()
{
}
-static DRIVER_INIT( seeben )
+DRIVER_INIT_MEMBER(seeben_state,seeben)
{
}
@@ -98,6 +102,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(splin);
};
static ADDRESS_MAP_START( splin_map, AS_PROGRAM, 16, splin_state )
@@ -113,7 +119,7 @@ void splin_state::machine_reset()
{
}
-static DRIVER_INIT( splin )
+DRIVER_INIT_MEMBER(splin_state,splin)
{
}
diff --git a/src/mame/drivers/bingoc.c b/src/mame/drivers/bingoc.c
index 4e2a29db27a..c8d48358677 100644
--- a/src/mame/drivers/bingoc.c
+++ b/src/mame/drivers/bingoc.c
@@ -193,4 +193,4 @@ ROM_START( bingoc )
ROM_COPY( "upd", 0x20000, 0x00000, 0x20000 )
ROM_END
-GAME( 1989, bingoc, 0, bingoc, bingoc, bingoc_state, 0, ROT0, "Sega", "Bingo Circus (Rev. A 891001)", GAME_NOT_WORKING )
+GAME( 1989, bingoc, 0, bingoc, bingoc, driver_device, 0, ROT0, "Sega", "Bingo Circus (Rev. A 891001)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/bingor.c b/src/mame/drivers/bingor.c
index 7db1a030fda..e6328cb47e0 100644
--- a/src/mame/drivers/bingor.c
+++ b/src/mame/drivers/bingor.c
@@ -739,8 +739,8 @@ ROM_END
-GAME( 2002, bingor1, 0, bingor, bingor, bingor_state, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, bingor2, 0, bingor, bingor, bingor_state, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, bingor3, 0, bingor, bingor, bingor_state, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 3)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, bingor4, 0, bingor, bingor, bingor_state, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 4)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, bingor5, 0, bingor, bingor, bingor_state, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star V3? (set 5)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2002, bingor1, 0, bingor, bingor, driver_device, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2002, bingor2, 0, bingor, bingor, driver_device, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2002, bingor3, 0, bingor, bingor, driver_device, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 3)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2002, bingor4, 0, bingor, bingor, driver_device, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 4)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2002, bingor5, 0, bingor, bingor, driver_device, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star V3? (set 5)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/bionicc.c b/src/mame/drivers/bionicc.c
index fabe78132fc..52e3aea63b9 100644
--- a/src/mame/drivers/bionicc.c
+++ b/src/mame/drivers/bionicc.c
@@ -583,8 +583,8 @@ ROM_END
*
*************************************/
-GAME( 1987, bionicc, 0, bionicc, bionicc, bionicc_state, 0, ROT0, "Capcom", "Bionic Commando (Euro)", GAME_SUPPORTS_SAVE )
-GAME( 1987, bionicc1, bionicc, bionicc, bionicc, bionicc_state, 0, ROT0, "Capcom", "Bionic Commando (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, bionicc2, bionicc, bionicc, bionicc, bionicc_state, 0, ROT0, "Capcom", "Bionic Commando (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, topsecrt, bionicc, bionicc, bionicc, bionicc_state, 0, ROT0, "Capcom", "Top Secret (Japan, old revision)", GAME_SUPPORTS_SAVE )
+GAME( 1987, bionicc, 0, bionicc, bionicc, driver_device, 0, ROT0, "Capcom", "Bionic Commando (Euro)", GAME_SUPPORTS_SAVE )
+GAME( 1987, bionicc1, bionicc, bionicc, bionicc, driver_device, 0, ROT0, "Capcom", "Bionic Commando (US set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, bionicc2, bionicc, bionicc, bionicc, driver_device, 0, ROT0, "Capcom", "Bionic Commando (US set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, topsecrt, bionicc, bionicc, bionicc, driver_device, 0, ROT0, "Capcom", "Top Secret (Japan, old revision)", GAME_SUPPORTS_SAVE )
// there's also an undumped JP new revision on which there are no extra lives after 1 million points, plus other bug-fixes / changes
diff --git a/src/mame/drivers/bishi.c b/src/mame/drivers/bishi.c
index a8f1d91390b..1f81031757e 100644
--- a/src/mame/drivers/bishi.c
+++ b/src/mame/drivers/bishi.c
@@ -512,6 +512,6 @@ ROM_START( sbishik )
ROM_END
-GAME( 1996, bishi, 0, bishi, bishi, bishi_state, 0, ROT0, "Konami", "Bishi Bashi Championship Mini Game Senshuken (ver JAA, 3 Players)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1998, sbishi, 0, bishi, bishi2p, bishi_state, 0, ROT0, "Konami", "Super Bishi Bashi Championship (ver JAA, 2 Players)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1998, sbishik, sbishi, bishi, bishi, bishi_state, 0, ROT0, "Konami", "Super Bishi Bashi Championship (ver KAA, 3 Players)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1996, bishi, 0, bishi, bishi, driver_device, 0, ROT0, "Konami", "Bishi Bashi Championship Mini Game Senshuken (ver JAA, 3 Players)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1998, sbishi, 0, bishi, bishi2p, driver_device, 0, ROT0, "Konami", "Super Bishi Bashi Championship (ver JAA, 2 Players)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1998, sbishik, sbishi, bishi, bishi, driver_device, 0, ROT0, "Konami", "Super Bishi Bashi Championship (ver KAA, 3 Players)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bking.c b/src/mame/drivers/bking.c
index 4f6592970e9..298a93bba7b 100644
--- a/src/mame/drivers/bking.c
+++ b/src/mame/drivers/bking.c
@@ -818,6 +818,6 @@ ROM_START( bking3 )
ROM_END
-GAME( 1982, bking, 0, bking, bking, bking_state, 0, ROT270, "Taito Corporation", "Birdie King", GAME_SUPPORTS_SAVE )
-GAME( 1983, bking2, 0, bking, bking2, bking_state, 0, ROT90, "Taito Corporation", "Birdie King 2", GAME_SUPPORTS_SAVE )
-GAME( 1984, bking3, 0, bking3, bking2, bking_state, 0, ROT90, "Taito Corporation", "Birdie King 3", GAME_SUPPORTS_SAVE )
+GAME( 1982, bking, 0, bking, bking, driver_device, 0, ROT270, "Taito Corporation", "Birdie King", GAME_SUPPORTS_SAVE )
+GAME( 1983, bking2, 0, bking, bking2, driver_device, 0, ROT90, "Taito Corporation", "Birdie King 2", GAME_SUPPORTS_SAVE )
+GAME( 1984, bking3, 0, bking3, bking2, driver_device, 0, ROT90, "Taito Corporation", "Birdie King 3", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/blackt96.c b/src/mame/drivers/blackt96.c
index d0a10c84bb0..a996c6b9af6 100644
--- a/src/mame/drivers/blackt96.c
+++ b/src/mame/drivers/blackt96.c
@@ -554,4 +554,4 @@ ROM_START( blackt96 )
ROM_LOAD16_BYTE( "10", 0x00001, 0x10000, CRC(b78232a2) SHA1(36a4f01011faf64e46b73f0082ab04843ac8b0e2) )
ROM_END
-GAME( 1996, blackt96, 0, blackt96, blackt96, blackt96_state, 0, ROT0, "D.G.R.M.", "Black Touch '96", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1996, blackt96, 0, blackt96, blackt96, driver_device, 0, ROT0, "D.G.R.M.", "Black Touch '96", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/bladestl.c b/src/mame/drivers/bladestl.c
index c1c186c8a7b..5b166e31a12 100644
--- a/src/mame/drivers/bladestl.c
+++ b/src/mame/drivers/bladestl.c
@@ -448,6 +448,6 @@ ROM_END
*
*************************************/
-GAME( 1987, bladestl, 0, bladestl, bladestl, bladestl_state, 0, ROT90, "Konami", "Blades of Steel (version T)", GAME_SUPPORTS_SAVE )
-GAME( 1987, bladestll, bladestl, bladestl, bladestle, bladestl_state,0, ROT90, "Konami", "Blades of Steel (version L)", GAME_SUPPORTS_SAVE )
-GAME( 1987, bladestle, bladestl, bladestl, bladestle, bladestl_state,0, ROT90, "Konami", "Blades of Steel (version E)", GAME_SUPPORTS_SAVE )
+GAME( 1987, bladestl, 0, bladestl, bladestl, driver_device, 0, ROT90, "Konami", "Blades of Steel (version T)", GAME_SUPPORTS_SAVE )
+GAME( 1987, bladestll, bladestl, bladestl, bladestle, driver_device,0, ROT90, "Konami", "Blades of Steel (version L)", GAME_SUPPORTS_SAVE )
+GAME( 1987, bladestle, bladestl, bladestl, bladestle, driver_device,0, ROT90, "Konami", "Blades of Steel (version E)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/blitz.c b/src/mame/drivers/blitz.c
index f344503c105..4a30ed38488 100644
--- a/src/mame/drivers/blitz.c
+++ b/src/mame/drivers/blitz.c
@@ -917,5 +917,5 @@ ROM_END
*********************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1990, megadpkr, 0, megadpkr, megadpkr, blitz_state, 0, ROT0, "Blitz System Inc.", "Mega Double Poker (conversion kit, set 1)", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 1990, megadpkrb, megadpkr, megadpkr, megadpkr, blitz_state, 0, ROT0, "Blitz System Inc.", "Mega Double Poker (conversion kit, set 2)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1990, megadpkr, 0, megadpkr, megadpkr, driver_device, 0, ROT0, "Blitz System Inc.", "Mega Double Poker (conversion kit, set 1)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1990, megadpkrb, megadpkr, megadpkr, megadpkr, driver_device, 0, ROT0, "Blitz System Inc.", "Mega Double Poker (conversion kit, set 2)", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/blitz68k.c b/src/mame/drivers/blitz68k.c
index 02fccfce65b..6c612891030 100644
--- a/src/mame/drivers/blitz68k.c
+++ b/src/mame/drivers/blitz68k.c
@@ -161,6 +161,16 @@ public:
DECLARE_WRITE_LINE_MEMBER(crtc_vsync_irq1);
DECLARE_WRITE_LINE_MEMBER(crtc_vsync_irq3);
DECLARE_WRITE_LINE_MEMBER(crtc_vsync_irq5);
+ DECLARE_DRIVER_INIT(bankrob);
+ DECLARE_DRIVER_INIT(cjffruit);
+ DECLARE_DRIVER_INIT(deucesw2);
+ DECLARE_DRIVER_INIT(megadble);
+ DECLARE_DRIVER_INIT(bankroba);
+ DECLARE_DRIVER_INIT(maxidbl);
+ DECLARE_DRIVER_INIT(cj3play);
+ DECLARE_DRIVER_INIT(megadblj);
+ DECLARE_DRIVER_INIT(hermit);
+ DECLARE_DRIVER_INIT(dualgame);
};
/*************************************************************************************************************
@@ -2767,9 +2777,9 @@ ROM_END
ROM patches
*************************************************************************************************************/
-static DRIVER_INIT( bankrob )
+DRIVER_INIT_MEMBER(blitz68k_state,bankrob)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// WRONG C8 #1
ROM[0xb5e0/2] = 0x6028;
@@ -2782,9 +2792,9 @@ static DRIVER_INIT( bankrob )
ROM[0x1d4d4/2] = 0x4e71;
}
-static DRIVER_INIT( bankroba )
+DRIVER_INIT_MEMBER(blitz68k_state,bankroba)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// WRONG C8 #1
ROM[0x11e4e/2] = 0x6028;
@@ -2797,9 +2807,9 @@ static DRIVER_INIT( bankroba )
ROM[0x178ec/2] = 0x4e71;
}
-static DRIVER_INIT( cj3play )
+DRIVER_INIT_MEMBER(blitz68k_state,cj3play)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// WRONG C8 #1
ROM[0x7064/2] = 0x6028;
@@ -2813,9 +2823,9 @@ static DRIVER_INIT( cj3play )
ROM[0x20ab0/2] = 0x6050;
}
-static DRIVER_INIT( cjffruit )
+DRIVER_INIT_MEMBER(blitz68k_state,cjffruit)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// WRONG C8 #1
ROM[0xf564/2] = 0x6028;
@@ -2824,9 +2834,9 @@ static DRIVER_INIT( cjffruit )
ROM[0x1e7b8/2] = 0x6050;
}
-static DRIVER_INIT( deucesw2 )
+DRIVER_INIT_MEMBER(blitz68k_state,deucesw2)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// WRONG C8 #1
ROM[0x8fe4/2] = 0x6020;
@@ -2835,9 +2845,9 @@ static DRIVER_INIT( deucesw2 )
ROM[0x12f70/2] = 0x6054;
}
-static DRIVER_INIT( dualgame )
+DRIVER_INIT_MEMBER(blitz68k_state,dualgame)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// WRONG C8 #1
ROM[0xa518/2] = 0x6024;
@@ -2846,9 +2856,9 @@ static DRIVER_INIT( dualgame )
ROM[0x1739c/2] = 0x4e71;
}
-static DRIVER_INIT( hermit )
+DRIVER_INIT_MEMBER(blitz68k_state,hermit)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// WRONG C8 #1
ROM[0xdeba/2] = 0x602e;
@@ -2863,9 +2873,9 @@ static DRIVER_INIT( hermit )
ROM[0x3238/2] = 0x4e75;
}
-static DRIVER_INIT( maxidbl )
+DRIVER_INIT_MEMBER(blitz68k_state,maxidbl)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// WRONG C8 #1
ROM[0xb384/2] = 0x6036;
@@ -2874,9 +2884,9 @@ static DRIVER_INIT( maxidbl )
ROM[0x17ca/2] = 0x4e71;
}
-static DRIVER_INIT( megadblj )
+DRIVER_INIT_MEMBER(blitz68k_state,megadblj)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// WRONG C8 #1
ROM[0xe21c/2] = 0x6040;
@@ -2885,9 +2895,9 @@ static DRIVER_INIT( megadblj )
ROM[0x19d4/2] = 0x4e71;
}
-static DRIVER_INIT( megadble )
+DRIVER_INIT_MEMBER(blitz68k_state,megadble)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// WRONG C8 #1
ROM[0xcfc2/2] = 0x4e71;
@@ -2901,13 +2911,13 @@ static DRIVER_INIT( megadble )
GAME( 1992, maxidbl, 0, maxidbl, maxidbl, blitz68k_state, maxidbl, ROT0, "Blitz Systems Inc.", "Maxi Double Poker (Ver. 1.10)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_WRONG_COLORS )
GAME( 1990, megadblj, 0, maxidbl, maxidbl, blitz68k_state, megadblj, ROT0, "Blitz Systems Inc.", "Mega Double Poker Jackpot (Ver. 1.26)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // JUNE 28TH, 1993
GAME( 1990, megadble, 0, maxidbl, maxidbl, blitz68k_state, megadble, ROT0, "Blitz Systems Inc.", "Mega Double Poker (Ver. 1.63 Espagnol)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_WRONG_COLORS ) // NOVEMBER 1994
-GAME( 1993, steaser, 0, steaser, steaser, blitz68k_state, 0, ROT0, "<unknown>", "Strip Teaser (Italy, Ver. 1.22)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // In-game strings are in Italian but service mode is half English / half French?
+GAME( 1993, steaser, 0, steaser, steaser, driver_device, 0, ROT0, "<unknown>", "Strip Teaser (Italy, Ver. 1.22)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // In-game strings are in Italian but service mode is half English / half French?
GAME( 1993, bankrob, 0, bankrob, bankrob, blitz68k_state, bankrob, ROT0, "Entertainment Technology Corp.", "Bank Robbery (Ver. 3.32)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // BLITZ SYSTEM INC APRIL 1995
GAME( 1993, bankroba, bankrob, bankroba, bankrob, blitz68k_state, bankroba, ROT0, "Entertainment Technology Corp.", "Bank Robbery (Ver. 2.00)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // BLITZ SYSTEM INC MAY 10TH, 1993
-GAME( 1993?, poker52, 0, maxidbl, maxidbl, blitz68k_state, 0, ROT0, "Blitz Systems Inc.", "Poker 52 (Ver. 1.2)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // MARCH 10TH, 1994
+GAME( 1993?, poker52, 0, maxidbl, maxidbl, driver_device, 0, ROT0, "Blitz Systems Inc.", "Poker 52 (Ver. 1.2)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // MARCH 10TH, 1994
GAME( 1995, dualgame, 0, dualgame, dualgame, blitz68k_state, dualgame, ROT0, "Labtronix Technologies", "Dual Games (prototype)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // SEPTEMBER 5TH, 1995
GAME( 1995, hermit, 0, hermit, hermit, blitz68k_state, hermit, ROT0, "Dugamex", "The Hermit (Ver. 1.14)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // APRIL 1995
GAME( 1997, deucesw2, 0, deucesw2, deucesw2, blitz68k_state, deucesw2, ROT0, "<unknown>", "Deuces Wild 2 - American Heritage (Ver. 2.02F)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // APRIL 10TH, 1997
GAME( 1998, cj3play, 0, cjffruit, cjffruit, blitz68k_state, cj3play, ROT0, "Cadillac Jack", "Triple Play (Ver. 1.10)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // FEBRUARY 24TH, 1999
GAME( 1998, cjffruit, 0, cjffruit, cjffruit, blitz68k_state, cjffruit, ROT0, "Cadillac Jack", "Funny Fruit (Ver. 1.13)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // APRIL 21ST, 1999
-GAME( 199?, ilpag, 0, ilpag, ilpag, blitz68k_state, 0, ROT0, "<unknown>", "Il Pagliaccio (Italy, Ver. 2.7C)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND )
+GAME( 199?, ilpag, 0, ilpag, ilpag, driver_device, 0, ROT0, "<unknown>", "Il Pagliaccio (Italy, Ver. 2.7C)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND )
diff --git a/src/mame/drivers/blktiger.c b/src/mame/drivers/blktiger.c
index 5fea2d17bad..73313d12d35 100644
--- a/src/mame/drivers/blktiger.c
+++ b/src/mame/drivers/blktiger.c
@@ -581,9 +581,9 @@ ROM_START( blkdrgonb )
ROM_END
-GAME( 1987, blktiger, 0, blktiger, blktiger, blktiger_state, 0, ROT0, "Capcom", "Black Tiger", GAME_SUPPORTS_SAVE )
-GAME( 1987, blktigera, blktiger, blktiger, blktiger, blktiger_state, 0, ROT0, "Capcom", "Black Tiger (older)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blktigerb1, blktiger, blktigerbl, blktiger, blktiger_state, 0, ROT0, "bootleg", "Black Tiger (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blktigerb2, blktiger, blktigerbl, blktiger, blktiger_state, 0, ROT0, "bootleg", "Black Tiger (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blkdrgon, blktiger, blktiger, blktiger, blktiger_state, 0, ROT0, "Capcom", "Black Dragon (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blkdrgonb, blktiger, blktigerbl, blktiger, blktiger_state, 0, ROT0, "bootleg", "Black Dragon (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1987, blktiger, 0, blktiger, blktiger, driver_device, 0, ROT0, "Capcom", "Black Tiger", GAME_SUPPORTS_SAVE )
+GAME( 1987, blktigera, blktiger, blktiger, blktiger, driver_device, 0, ROT0, "Capcom", "Black Tiger (older)", GAME_SUPPORTS_SAVE )
+GAME( 1987, blktigerb1, blktiger, blktigerbl, blktiger, driver_device, 0, ROT0, "bootleg", "Black Tiger (bootleg set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, blktigerb2, blktiger, blktigerbl, blktiger, driver_device, 0, ROT0, "bootleg", "Black Tiger (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, blkdrgon, blktiger, blktiger, blktiger, driver_device, 0, ROT0, "Capcom", "Black Dragon (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, blkdrgonb, blktiger, blktigerbl, blktiger, driver_device, 0, ROT0, "bootleg", "Black Dragon (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/blmbycar.c b/src/mame/drivers/blmbycar.c
index 9ab7ddc199b..9f5acc4d0a4 100644
--- a/src/mame/drivers/blmbycar.c
+++ b/src/mame/drivers/blmbycar.c
@@ -519,10 +519,10 @@ ROM_START( watrball )
ROM_END
-static DRIVER_INIT( blmbycar )
+DRIVER_INIT_MEMBER(blmbycar_state,blmbycar)
{
- UINT16 *RAM = (UINT16 *) machine.root_device().memregion("maincpu")->base();
- size_t size = machine.root_device().memregion("maincpu")->bytes() / 2;
+ UINT16 *RAM = (UINT16 *) machine().root_device().memregion("maincpu")->base();
+ size_t size = machine().root_device().memregion("maincpu")->bytes() / 2;
int i;
for (i = 0; i < size; i++)
@@ -542,5 +542,5 @@ static DRIVER_INIT( blmbycar )
***************************************************************************/
GAME( 1994, blmbycar, 0, blmbycar, blmbycar, blmbycar_state, blmbycar, ROT0, "ABM & Gecas", "Blomby Car", GAME_SUPPORTS_SAVE )
-GAME( 1994, blmbycaru,blmbycar, blmbycar, blmbycar, blmbycar_state, 0, ROT0, "ABM & Gecas", "Blomby Car (not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1996, watrball, 0, watrball, watrball, blmbycar_state, 0, ROT0, "ABM", "Water Balls", GAME_SUPPORTS_SAVE )
+GAME( 1994, blmbycaru,blmbycar, blmbycar, blmbycar, driver_device, 0, ROT0, "ABM & Gecas", "Blomby Car (not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1996, watrball, 0, watrball, watrball, driver_device, 0, ROT0, "ABM", "Water Balls", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/blockade.c b/src/mame/drivers/blockade.c
index f281dcf48e1..6767315bde6 100644
--- a/src/mame/drivers/blockade.c
+++ b/src/mame/drivers/blockade.c
@@ -586,9 +586,9 @@ ROM_END
*
*************************************/
-GAMEL(1976, blockade, 0, blockade, blockade, blockade_state, 0, ROT0, "Gremlin", "Blockade", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_blockade )
-GAMEL(1976, comotion, 0, blockade, comotion, blockade_state, 0, ROT0, "Gremlin", "Comotion", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_blockade )
-GAME( 1978, blasto, 0, blasto, blasto, blockade_state, 0, ROT0, "Gremlin", "Blasto", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // b/w, no overlay
-GAMEL(1977, hustle, 0, blasto, hustle, blockade_state, 0, ROT0, "Gremlin", "Hustle", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_blockade )
-GAME( 1977, mineswpr, 0, blasto, mineswpr, blockade_state, 0, ROT0, "Amutech", "Minesweeper", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1977, mineswpr4, mineswpr, blasto, mineswpr4, blockade_state,0, ROT0, "Amutech", "Minesweeper (4-Player)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAMEL(1976, blockade, 0, blockade, blockade, driver_device, 0, ROT0, "Gremlin", "Blockade", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_blockade )
+GAMEL(1976, comotion, 0, blockade, comotion, driver_device, 0, ROT0, "Gremlin", "Comotion", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_blockade )
+GAME( 1978, blasto, 0, blasto, blasto, driver_device, 0, ROT0, "Gremlin", "Blasto", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // b/w, no overlay
+GAMEL(1977, hustle, 0, blasto, hustle, driver_device, 0, ROT0, "Gremlin", "Hustle", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_blockade )
+GAME( 1977, mineswpr, 0, blasto, mineswpr, driver_device, 0, ROT0, "Amutech", "Minesweeper", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1977, mineswpr4, mineswpr, blasto, mineswpr4, driver_device,0, ROT0, "Amutech", "Minesweeper (4-Player)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/blockhl.c b/src/mame/drivers/blockhl.c
index 37787eaf5b6..0a2a49834f8 100644
--- a/src/mame/drivers/blockhl.c
+++ b/src/mame/drivers/blockhl.c
@@ -339,5 +339,5 @@ static KONAMI_SETLINES_CALLBACK( blockhl_banking )
}
-GAME( 1989, blockhl, 0, blockhl, blockhl, blockhl_state, 0, ROT0, "Konami", "Block Hole", GAME_SUPPORTS_SAVE )
-GAME( 1989, quarth, blockhl, blockhl, blockhl, blockhl_state, 0, ROT0, "Konami", "Quarth (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, blockhl, 0, blockhl, blockhl, driver_device, 0, ROT0, "Konami", "Block Hole", GAME_SUPPORTS_SAVE )
+GAME( 1989, quarth, blockhl, blockhl, blockhl, driver_device, 0, ROT0, "Konami", "Quarth (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/blockout.c b/src/mame/drivers/blockout.c
index 84bbe644edf..cd74b7a5ff5 100644
--- a/src/mame/drivers/blockout.c
+++ b/src/mame/drivers/blockout.c
@@ -439,8 +439,8 @@ ROM_END
*
*************************************/
-GAME( 1989, blockout, 0, blockout, blockout, blockout_state, 0, ROT0, "Technos Japan / California Dreams", "Block Out (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, blockout2,blockout, blockout, blockout, blockout_state, 0, ROT0, "Technos Japan / California Dreams", "Block Out (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, blockoutj,blockout, blockout, blockoutj, blockout_state,0, ROT0, "Technos Japan / California Dreams", "Block Out (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, agress, 0, agress, agress, blockout_state, 0, ROT0, "Palco", "Agress", GAME_SUPPORTS_SAVE )
-GAME( 2003, agressb, agress, agress, agress, blockout_state, 0, ROT0, "bootleg", "Agress (English bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1989, blockout, 0, blockout, blockout, driver_device, 0, ROT0, "Technos Japan / California Dreams", "Block Out (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, blockout2,blockout, blockout, blockout, driver_device, 0, ROT0, "Technos Japan / California Dreams", "Block Out (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, blockoutj,blockout, blockout, blockoutj, driver_device,0, ROT0, "Technos Japan / California Dreams", "Block Out (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, agress, 0, agress, agress, driver_device, 0, ROT0, "Palco", "Agress", GAME_SUPPORTS_SAVE )
+GAME( 2003, agressb, agress, agress, agress, driver_device, 0, ROT0, "bootleg", "Agress (English bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bloodbro.c b/src/mame/drivers/bloodbro.c
index 34c1c9ab5ac..b39c8a9c7ef 100644
--- a/src/mame/drivers/bloodbro.c
+++ b/src/mame/drivers/bloodbro.c
@@ -638,8 +638,8 @@ ROM_END
/* Game Drivers */
-GAME( 1990, bloodbro, 0, bloodbro, bloodbro, bloodbro_state, 0, ROT0, "TAD Corporation", "Blood Bros. (set 1)", GAME_NO_COCKTAIL )
-GAME( 1990, bloodbroa,bloodbro, bloodbro, bloodbro, bloodbro_state, 0, ROT0, "TAD Corporation", "Blood Bros. (set 2)", GAME_NO_COCKTAIL )
-GAME( 1990, bloodbrob,bloodbro, bloodbro, bloodbro, bloodbro_state, 0, ROT0, "TAD Corporation", "Blood Bros. (set 3)", GAME_NO_COCKTAIL )
-GAME( 1990, weststry, bloodbro, weststry, weststry, bloodbro_state, 0, ROT0, "bootleg (Datsu)", "West Story (bootleg of Blood Bros.)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
-GAME( 1990, skysmash, 0, skysmash, skysmash, bloodbro_state, 0, ROT270, "Nihon System", "Sky Smasher", 0 )
+GAME( 1990, bloodbro, 0, bloodbro, bloodbro, driver_device, 0, ROT0, "TAD Corporation", "Blood Bros. (set 1)", GAME_NO_COCKTAIL )
+GAME( 1990, bloodbroa,bloodbro, bloodbro, bloodbro, driver_device, 0, ROT0, "TAD Corporation", "Blood Bros. (set 2)", GAME_NO_COCKTAIL )
+GAME( 1990, bloodbrob,bloodbro, bloodbro, bloodbro, driver_device, 0, ROT0, "TAD Corporation", "Blood Bros. (set 3)", GAME_NO_COCKTAIL )
+GAME( 1990, weststry, bloodbro, weststry, weststry, driver_device, 0, ROT0, "bootleg (Datsu)", "West Story (bootleg of Blood Bros.)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
+GAME( 1990, skysmash, 0, skysmash, skysmash, driver_device, 0, ROT270, "Nihon System", "Sky Smasher", 0 )
diff --git a/src/mame/drivers/blstroid.c b/src/mame/drivers/blstroid.c
index beb26d3313d..4a7851875b4 100644
--- a/src/mame/drivers/blstroid.c
+++ b/src/mame/drivers/blstroid.c
@@ -428,9 +428,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( blstroid )
+DRIVER_INIT_MEMBER(blstroid_state,blstroid)
{
- atarijsa_init(machine, "IN0", 0x80);
+ atarijsa_init(machine(), "IN0", 0x80);
}
diff --git a/src/mame/drivers/blueprnt.c b/src/mame/drivers/blueprnt.c
index 705e5082047..97c04602a2e 100644
--- a/src/mame/drivers/blueprnt.c
+++ b/src/mame/drivers/blueprnt.c
@@ -415,6 +415,6 @@ ROM_END
*
*************************************/
-GAME( 1982, blueprnt, 0, blueprnt, blueprnt, blueprnt_state, 0, ROT270, "Zilec Electronics / Bally Midway", "Blue Print (Midway)", GAME_SUPPORTS_SAVE )
-GAME( 1982, blueprntj, blueprnt, blueprnt, blueprnt, blueprnt_state, 0, ROT270, "Zilec Electronics / Jaleco", "Blue Print (Jaleco)", GAME_SUPPORTS_SAVE )
-GAME( 1983, saturnzi, 0, blueprnt, saturn, blueprnt_state, 0, ROT270, "Zilec Electronics / Jaleco", "Saturn", GAME_SUPPORTS_SAVE )
+GAME( 1982, blueprnt, 0, blueprnt, blueprnt, driver_device, 0, ROT270, "Zilec Electronics / Bally Midway", "Blue Print (Midway)", GAME_SUPPORTS_SAVE )
+GAME( 1982, blueprntj, blueprnt, blueprnt, blueprnt, driver_device, 0, ROT270, "Zilec Electronics / Jaleco", "Blue Print (Jaleco)", GAME_SUPPORTS_SAVE )
+GAME( 1983, saturnzi, 0, blueprnt, saturn, driver_device, 0, ROT270, "Zilec Electronics / Jaleco", "Saturn", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bmcbowl.c b/src/mame/drivers/bmcbowl.c
index 2c7c8f57e56..40366f40783 100644
--- a/src/mame/drivers/bmcbowl.c
+++ b/src/mame/drivers/bmcbowl.c
@@ -134,6 +134,7 @@ public:
DECLARE_WRITE8_MEMBER(via_irq);
DECLARE_READ8_MEMBER(dips1_r);
DECLARE_WRITE8_MEMBER(input_mux_w);
+ DECLARE_DRIVER_INIT(bmcbowl);
};
@@ -549,10 +550,9 @@ ROM_START( bmcbowl )
ROM_END
-static DRIVER_INIT(bmcbowl)
+DRIVER_INIT_MEMBER(bmcbowl_state,bmcbowl)
{
- bmcbowl_state *state = machine.driver_data<bmcbowl_state>();
- state->m_bmc_colorram = auto_alloc_array(machine, UINT8, 768);
+ m_bmc_colorram = auto_alloc_array(machine(), UINT8, 768);
}
GAME( 1994, bmcbowl, 0, bmcbowl, bmcbowl, bmcbowl_state, bmcbowl, ROT0, "BMC", "Konkyuu no Hoshi", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/bmcpokr.c b/src/mame/drivers/bmcpokr.c
index 36cd7631e44..cdd1385083b 100644
--- a/src/mame/drivers/bmcpokr.c
+++ b/src/mame/drivers/bmcpokr.c
@@ -264,4 +264,4 @@ ROM_END
-GAME( 1999, bmcpokr, 0, bmcpokr, bmcpokr, bmcpokr_state, 0, ROT0, "BMC", "unknown BMC poker game", GAME_NOT_WORKING | GAME_IS_SKELETON )
+GAME( 1999, bmcpokr, 0, bmcpokr, bmcpokr, driver_device, 0, ROT0, "BMC", "unknown BMC poker game", GAME_NOT_WORKING | GAME_IS_SKELETON )
diff --git a/src/mame/drivers/bnstars.c b/src/mame/drivers/bnstars.c
index 1bf0ac6ad84..bd0b5a3db1c 100644
--- a/src/mame/drivers/bnstars.c
+++ b/src/mame/drivers/bnstars.c
@@ -146,6 +146,7 @@ public:
DECLARE_READ32_MEMBER(bnstars2_r);
DECLARE_READ32_MEMBER(bnstars3_r);
DECLARE_WRITE32_MEMBER(bnstars1_mahjong_select_w);
+ DECLARE_DRIVER_INIT(bnstars);
};
@@ -1478,16 +1479,16 @@ ROM_END
/* SS92046_01: bbbxing, f1superb, tetrisp, hayaosi1 */
-static DRIVER_INIT (bnstars)
+DRIVER_INIT_MEMBER(bnstars_state,bnstars)
{
- ms32_rearrange_sprites(machine, "gfx1");
+ ms32_rearrange_sprites(machine(), "gfx1");
- decrypt_ms32_tx(machine, 0x00020,0x7e, "gfx5");
- decrypt_ms32_bg(machine, 0x00001,0x9b, "gfx4");
- decrypt_ms32_tx(machine, 0x00020,0x7e, "gfx7");
- decrypt_ms32_bg(machine, 0x00001,0x9b, "gfx6");
+ decrypt_ms32_tx(machine(), 0x00020,0x7e, "gfx5");
+ decrypt_ms32_bg(machine(), 0x00001,0x9b, "gfx4");
+ decrypt_ms32_tx(machine(), 0x00020,0x7e, "gfx7");
+ decrypt_ms32_bg(machine(), 0x00001,0x9b, "gfx6");
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base());
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base());
}
GAME( 1997, bnstars1, 0, bnstars, bnstars, bnstars_state, bnstars, ROT0, "Jaleco", "Vs. Janshi Brandnew Stars", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
diff --git a/src/mame/drivers/bntyhunt.c b/src/mame/drivers/bntyhunt.c
index 217f0330656..30d07668953 100644
--- a/src/mame/drivers/bntyhunt.c
+++ b/src/mame/drivers/bntyhunt.c
@@ -72,4 +72,4 @@ ROM_START(bntyhunt)
ROM_END
-GAME( 200?, bntyhunt, 0, bntyhunt, bntyhunt, bntyhunt_state, 0, ROT0, "GCTech Co., LTD", "Bounty Hunter (GCTech Co., LTD)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 200?, bntyhunt, 0, bntyhunt, bntyhunt, driver_device, 0, ROT0, "GCTech Co., LTD", "Bounty Hunter (GCTech Co., LTD)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/bogeyman.c b/src/mame/drivers/bogeyman.c
index 192a5c32ecc..e947d5dd261 100644
--- a/src/mame/drivers/bogeyman.c
+++ b/src/mame/drivers/bogeyman.c
@@ -308,4 +308,4 @@ ROM_END
/* Game Driver */
-GAME( 1985, bogeyman, 0, bogeyman, bogeyman, bogeyman_state, 0, ROT0, "Technos Japan", "Bogey Manor", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1985, bogeyman, 0, bogeyman, bogeyman, driver_device, 0, ROT0, "Technos Japan", "Bogey Manor", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bombjack.c b/src/mame/drivers/bombjack.c
index edfdb205ce7..860b71fe645 100644
--- a/src/mame/drivers/bombjack.c
+++ b/src/mame/drivers/bombjack.c
@@ -473,5 +473,5 @@ ROM_END
*
*************************************/
-GAME( 1984, bombjack, 0, bombjack, bombjack, bombjack_state, 0, ROT90, "Tehkan", "Bomb Jack (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, bombjack2, bombjack, bombjack, bombjack, bombjack_state, 0, ROT90, "Tehkan", "Bomb Jack (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1984, bombjack, 0, bombjack, bombjack, driver_device, 0, ROT90, "Tehkan", "Bomb Jack (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, bombjack2, bombjack, bombjack, bombjack, driver_device, 0, ROT90, "Tehkan", "Bomb Jack (set 2)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/boogwing.c b/src/mame/drivers/boogwing.c
index b10578aaadd..0eb23f2fcbe 100644
--- a/src/mame/drivers/boogwing.c
+++ b/src/mame/drivers/boogwing.c
@@ -570,16 +570,16 @@ ROM_START( ragtimea ) /* VER 1.3 JPN 92.11.26 */
ROM_LOAD( "kj-00.15n", 0x000000, 0x00400, CRC(add4d50b) SHA1(080e5a8192a146d5141aef5c8d9996ddf8cd3ab4) )
ROM_END
-static DRIVER_INIT( boogwing )
+DRIVER_INIT_MEMBER(boogwing_state,boogwing)
{
- const UINT8* src = machine.root_device().memregion("gfx6")->base();
- UINT8* dst = machine.root_device().memregion("tiles2")->base() + 0x200000;
-
- deco56_decrypt_gfx(machine, "tiles1");
- deco56_decrypt_gfx(machine, "tiles2");
- deco56_decrypt_gfx(machine, "tiles3");
- deco56_remap_gfx(machine, "gfx6");
- deco102_decrypt_cpu(machine, "maincpu", 0x42ba, 0x00, 0x18);
+ const UINT8* src = machine().root_device().memregion("gfx6")->base();
+ UINT8* dst = machine().root_device().memregion("tiles2")->base() + 0x200000;
+
+ deco56_decrypt_gfx(machine(), "tiles1");
+ deco56_decrypt_gfx(machine(), "tiles2");
+ deco56_decrypt_gfx(machine(), "tiles3");
+ deco56_remap_gfx(machine(), "gfx6");
+ deco102_decrypt_cpu(machine(), "maincpu", 0x42ba, 0x00, 0x18);
memcpy(dst, src, 0x100000);
}
diff --git a/src/mame/drivers/bottom9.c b/src/mame/drivers/bottom9.c
index 97abc7a1241..af8934e9523 100644
--- a/src/mame/drivers/bottom9.c
+++ b/src/mame/drivers/bottom9.c
@@ -576,6 +576,6 @@ ROM_END
-GAME( 1989, bottom9, 0, bottom9, bottom9, bottom9_state, 0, ROT0, "Konami", "Bottom of the Ninth (version T)", GAME_SUPPORTS_SAVE )
-GAME( 1989, bottom9n, bottom9, bottom9, bottom9, bottom9_state, 0, ROT0, "Konami", "Bottom of the Ninth (version N)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mstadium, bottom9, bottom9, mstadium, bottom9_state, 0, ROT0, "Konami", "Main Stadium (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, bottom9, 0, bottom9, bottom9, driver_device, 0, ROT0, "Konami", "Bottom of the Ninth (version T)", GAME_SUPPORTS_SAVE )
+GAME( 1989, bottom9n, bottom9, bottom9, bottom9, driver_device, 0, ROT0, "Konami", "Bottom of the Ninth (version N)", GAME_SUPPORTS_SAVE )
+GAME( 1989, mstadium, bottom9, bottom9, mstadium, driver_device, 0, ROT0, "Konami", "Main Stadium (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/boxer.c b/src/mame/drivers/boxer.c
index 0258a19ed81..09d4897107e 100644
--- a/src/mame/drivers/boxer.c
+++ b/src/mame/drivers/boxer.c
@@ -507,4 +507,4 @@ ROM_END
*
*************************************/
-GAME( 1978, boxer, 0, boxer, boxer, boxer_state, 0, 0, "Atari", "Boxer (prototype)", GAME_NO_SOUND )
+GAME( 1978, boxer, 0, boxer, boxer, driver_device, 0, 0, "Atari", "Boxer (prototype)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/brkthru.c b/src/mame/drivers/brkthru.c
index d084ba7c3c9..d20e9383e58 100644
--- a/src/mame/drivers/brkthru.c
+++ b/src/mame/drivers/brkthru.c
@@ -657,10 +657,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( brkthru )
+DRIVER_INIT_MEMBER(brkthru_state,brkthru)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
}
/*************************************
diff --git a/src/mame/drivers/bsktball.c b/src/mame/drivers/bsktball.c
index c0626e7beeb..a91246c628f 100644
--- a/src/mame/drivers/bsktball.c
+++ b/src/mame/drivers/bsktball.c
@@ -306,4 +306,4 @@ ROM_END
*
*************************************/
-GAME( 1979, bsktball, 0, bsktball, bsktball, bsktball_state, 0, ROT0, "Atari", "Basketball", GAME_SUPPORTS_SAVE )
+GAME( 1979, bsktball, 0, bsktball, bsktball, driver_device, 0, ROT0, "Atari", "Basketball", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/btime.c b/src/mame/drivers/btime.c
index d566f8b6131..db1902cff1f 100644
--- a/src/mame/drivers/btime.c
+++ b/src/mame/drivers/btime.c
@@ -2099,17 +2099,15 @@ static void init_rom1(running_machine &machine)
memcpy(decrypted,rom,0x10000);
}
-static DRIVER_INIT( btime )
+DRIVER_INIT_MEMBER(btime_state,btime)
{
- btime_state *state = machine.driver_data<btime_state>();
- init_rom1(machine);
- state->m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
+ init_rom1(machine());
+ m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
}
-static DRIVER_INIT( zoar )
+DRIVER_INIT_MEMBER(btime_state,zoar)
{
- btime_state *state = machine.driver_data<btime_state>();
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
/* At location 0xD50A is what looks like an undocumented opcode. I tried
implementing it given what opcode 0x23 should do, but it still didn't
@@ -2117,14 +2115,13 @@ static DRIVER_INIT( zoar )
I'm NOPing it out for now. */
memset(&rom[0xd50a],0xea,8);
- init_rom1(machine);
- state->m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
+ init_rom1(machine());
+ m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
}
-static DRIVER_INIT( tisland )
+DRIVER_INIT_MEMBER(btime_state,tisland)
{
- btime_state *state = machine.driver_data<btime_state>();
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
/* At location 0xa2b6 there's a strange RLA followed by a BPL that reads from an
unmapped area that causes the game to fail in several circumstances.On the Cassette
@@ -2132,66 +2129,59 @@ static DRIVER_INIT( tisland )
wrong going on in the encryption scheme.*/
memset(&rom[0xa2b6],0x24,1);
- init_rom1(machine);
- state->m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
+ init_rom1(machine());
+ m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
}
-static DRIVER_INIT( lnc )
+DRIVER_INIT_MEMBER(btime_state,lnc)
{
- btime_state *state = machine.driver_data<btime_state>();
- decrypt_C10707_cpu(machine, "maincpu");
- state->m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
+ decrypt_C10707_cpu(machine(), "maincpu");
+ m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
}
-static DRIVER_INIT( bnj )
+DRIVER_INIT_MEMBER(btime_state,bnj)
{
- btime_state *state = machine.driver_data<btime_state>();
- decrypt_C10707_cpu(machine, "maincpu");
- state->m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
+ decrypt_C10707_cpu(machine(), "maincpu");
+ m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
}
-static DRIVER_INIT( disco )
+DRIVER_INIT_MEMBER(btime_state,disco)
{
- btime_state *state = machine.driver_data<btime_state>();
DRIVER_INIT_CALL(btime);
- state->m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
+ m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
}
-static DRIVER_INIT( cookrace )
+DRIVER_INIT_MEMBER(btime_state,cookrace)
{
- btime_state *state = machine.driver_data<btime_state>();
- decrypt_C10707_cpu(machine, "maincpu");
+ decrypt_C10707_cpu(machine(), "maincpu");
- machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0200, 0x0fff, "bank10");
- state->membank("bank10")->set_base(state->memregion("audiocpu")->base() + 0xe200);
- state->m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
+ machine().device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0200, 0x0fff, "bank10");
+ membank("bank10")->set_base(memregion("audiocpu")->base() + 0xe200);
+ m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
}
-static DRIVER_INIT( protennb )
+DRIVER_INIT_MEMBER(btime_state,protennb)
{
- btime_state *state = machine.driver_data<btime_state>();
DRIVER_INIT_CALL(btime);
- state->m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
+ m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
}
-static DRIVER_INIT( wtennis )
+DRIVER_INIT_MEMBER(btime_state,wtennis)
{
- btime_state *state = machine.driver_data<btime_state>();
- decrypt_C10707_cpu(machine, "maincpu");
+ decrypt_C10707_cpu(machine(), "maincpu");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc15f, 0xc15f, read8_delegate(FUNC(btime_state::wtennis_reset_hack_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc15f, 0xc15f, read8_delegate(FUNC(btime_state::wtennis_reset_hack_r),this));
- machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0200, 0x0fff, "bank10");
- state->membank("bank10")->set_base(state->memregion("audiocpu")->base() + 0xe200);
- state->m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
+ machine().device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0200, 0x0fff, "bank10");
+ membank("bank10")->set_base(memregion("audiocpu")->base() + 0xe200);
+ m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
}
-static DRIVER_INIT( sdtennis )
+DRIVER_INIT_MEMBER(btime_state,sdtennis)
{
- btime_state *state = machine.driver_data<btime_state>();
- decrypt_C10707_cpu(machine, "maincpu");
- decrypt_C10707_cpu(machine, "audiocpu");
- state->m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
+ decrypt_C10707_cpu(machine(), "maincpu");
+ decrypt_C10707_cpu(machine(), "audiocpu");
+ m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
}
diff --git a/src/mame/drivers/btoads.c b/src/mame/drivers/btoads.c
index 86e2533d9cf..ca6d44162fe 100644
--- a/src/mame/drivers/btoads.c
+++ b/src/mame/drivers/btoads.c
@@ -382,4 +382,4 @@ ROM_END
*
*************************************/
-GAME( 1994, btoads, 0, btoads, btoads, btoads_state, 0, ROT0, "Rare", "Battle Toads", GAME_SUPPORTS_SAVE )
+GAME( 1994, btoads, 0, btoads, btoads, driver_device, 0, ROT0, "Rare", "Battle Toads", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bublbobl.c b/src/mame/drivers/bublbobl.c
index f1dd40c0929..384ff069711 100644
--- a/src/mame/drivers/bublbobl.c
+++ b/src/mame/drivers/bublbobl.c
@@ -1556,39 +1556,36 @@ static void configure_banks( running_machine& machine )
machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
}
-static DRIVER_INIT( bublbobl )
+DRIVER_INIT_MEMBER(bublbobl_state,bublbobl)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
- configure_banks(machine);
+ configure_banks(machine());
/* we init this here, so that it does not conflict with tokio init, below */
- state->m_video_enable = 0;
+ m_video_enable = 0;
}
-static DRIVER_INIT( tokio )
+DRIVER_INIT_MEMBER(bublbobl_state,tokio)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
- configure_banks(machine);
+ configure_banks(machine());
/* preemptively enable video, the bit is not mapped for this game and */
/* I don't know if it even has it. */
- state->m_video_enable = 1;
+ m_video_enable = 1;
}
-static DRIVER_INIT( tokiob )
+DRIVER_INIT_MEMBER(bublbobl_state,tokiob)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
DRIVER_INIT_CALL(tokio);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfe00, 0xfe00, read8_delegate(FUNC(bublbobl_state::tokiob_mcu_r),state) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfe00, 0xfe00, read8_delegate(FUNC(bublbobl_state::tokiob_mcu_r),this) );
}
-static DRIVER_INIT( dland )
+DRIVER_INIT_MEMBER(bublbobl_state,dland)
{
// rearrange gfx to original format
int i;
- UINT8* src = machine.root_device().memregion("gfx1")->base();
+ UINT8* src = machine().root_device().memregion("gfx1")->base();
for (i = 0; i < 0x40000; i++)
src[i] = BITSWAP8(src[i],7,6,5,4,0,1,2,3);
diff --git a/src/mame/drivers/buggychl.c b/src/mame/drivers/buggychl.c
index e91cb212f78..11016480a34 100644
--- a/src/mame/drivers/buggychl.c
+++ b/src/mame/drivers/buggychl.c
@@ -516,5 +516,5 @@ ROM_START( buggychlt )
ROM_END
-GAMEL( 1984, buggychl, 0, buggychl, buggychl, buggychl_state, 0, ROT270, "Taito Corporation", "Buggy Challenge", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS, layout_buggychl )
-GAMEL( 1984, buggychlt,buggychl, buggychl, buggychl, buggychl_state, 0, ROT270, "Taito Corporation (Tecfri license)", "Buggy Challenge (Tecfri)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS, layout_buggychl )
+GAMEL( 1984, buggychl, 0, buggychl, buggychl, driver_device, 0, ROT270, "Taito Corporation", "Buggy Challenge", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS, layout_buggychl )
+GAMEL( 1984, buggychlt,buggychl, buggychl, buggychl, driver_device, 0, ROT270, "Taito Corporation (Tecfri license)", "Buggy Challenge (Tecfri)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS, layout_buggychl )
diff --git a/src/mame/drivers/buster.c b/src/mame/drivers/buster.c
index 38a08ba9537..6566d9f473c 100644
--- a/src/mame/drivers/buster.c
+++ b/src/mame/drivers/buster.c
@@ -370,4 +370,4 @@ ROM_START( buster )
ROM_END
-GAME( 1982, buster, 0, buster, buster, buster_state, 0, ROT0, "Marian Electronics Ltd.", "Buster", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1982, buster, 0, buster, buster, driver_device, 0, ROT0, "Marian Electronics Ltd.", "Buster", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/bwidow.c b/src/mame/drivers/bwidow.c
index 02aef5c705c..d8f0977fd9c 100644
--- a/src/mame/drivers/bwidow.c
+++ b/src/mame/drivers/bwidow.c
@@ -914,10 +914,10 @@ ROM_END
*
*************************************/
-GAME( 1980, spacduel, 0, spacduel, spacduel, bwidow_state, 0, ROT0, "Atari", "Space Duel", GAME_SUPPORTS_SAVE )
-GAME( 1982, bwidow, 0, bwidow, bwidow, bwidow_state, 0, ROT0, "Atari", "Black Widow", GAME_SUPPORTS_SAVE )
-GAME( 1982, gravitar, 0, gravitar, gravitar, bwidow_state, 0, ROT0, "Atari", "Gravitar (version 3)", GAME_SUPPORTS_SAVE )
-GAME( 1982, gravitar2,gravitar, gravitar, gravitar, bwidow_state, 0, ROT0, "Atari", "Gravitar (version 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, gravp, gravitar, gravitar, gravitar, bwidow_state, 0, ROT0, "Atari", "Gravitar (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1982, lunarbat, gravitar, gravitar, gravitar, bwidow_state, 0, ROT0, "Atari", "Lunar Battle (prototype, later)", GAME_SUPPORTS_SAVE )
-GAME( 1982, lunarba1, gravitar, lunarbat, lunarbat, bwidow_state, 0, ROT0, "Atari", "Lunar Battle (prototype, earlier)", GAME_SUPPORTS_SAVE )
+GAME( 1980, spacduel, 0, spacduel, spacduel, driver_device, 0, ROT0, "Atari", "Space Duel", GAME_SUPPORTS_SAVE )
+GAME( 1982, bwidow, 0, bwidow, bwidow, driver_device, 0, ROT0, "Atari", "Black Widow", GAME_SUPPORTS_SAVE )
+GAME( 1982, gravitar, 0, gravitar, gravitar, driver_device, 0, ROT0, "Atari", "Gravitar (version 3)", GAME_SUPPORTS_SAVE )
+GAME( 1982, gravitar2,gravitar, gravitar, gravitar, driver_device, 0, ROT0, "Atari", "Gravitar (version 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, gravp, gravitar, gravitar, gravitar, driver_device, 0, ROT0, "Atari", "Gravitar (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1982, lunarbat, gravitar, gravitar, gravitar, driver_device, 0, ROT0, "Atari", "Lunar Battle (prototype, later)", GAME_SUPPORTS_SAVE )
+GAME( 1982, lunarba1, gravitar, lunarbat, lunarbat, driver_device, 0, ROT0, "Atari", "Lunar Battle (prototype, earlier)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bwing.c b/src/mame/drivers/bwing.c
index c0293f985de..318e7343513 100644
--- a/src/mame/drivers/bwing.c
+++ b/src/mame/drivers/bwing.c
@@ -582,15 +582,14 @@ static void fix_bwp3( running_machine &machine )
}
-static DRIVER_INIT( bwing )
+DRIVER_INIT_MEMBER(bwing_state,bwing)
{
- bwing_state *state = machine.driver_data<bwing_state>();
- state->m_bwp123_membase[0] = state->memregion("maincpu")->base();
- state->m_bwp123_membase[1] = state->memregion("sub")->base();
- state->m_bwp123_membase[2] = state->memregion("audiocpu")->base();
+ m_bwp123_membase[0] = memregion("maincpu")->base();
+ m_bwp123_membase[1] = memregion("sub")->base();
+ m_bwp123_membase[2] = memregion("audiocpu")->base();
- fix_bwp3(machine);
+ fix_bwp3(machine());
}
//****************************************************************************
diff --git a/src/mame/drivers/by17.c b/src/mame/drivers/by17.c
index 925072cb632..2da2370ccde 100644
--- a/src/mame/drivers/by17.c
+++ b/src/mame/drivers/by17.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(by17);
};
@@ -39,7 +41,7 @@ void by17_state::machine_reset()
{
}
-static DRIVER_INIT( by17 )
+DRIVER_INIT_MEMBER(by17_state,by17)
{
}
diff --git a/src/mame/drivers/by35.c b/src/mame/drivers/by35.c
index e6d5210c95d..41b7d8cbac6 100644
--- a/src/mame/drivers/by35.c
+++ b/src/mame/drivers/by35.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(by35);
};
@@ -39,7 +41,7 @@ void by35_state::machine_reset()
{
}
-static DRIVER_INIT( by35 )
+DRIVER_INIT_MEMBER(by35_state,by35)
{
}
diff --git a/src/mame/drivers/by6803.c b/src/mame/drivers/by6803.c
index ba9ec13f7df..8cee62cdb95 100644
--- a/src/mame/drivers/by6803.c
+++ b/src/mame/drivers/by6803.c
@@ -22,6 +22,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(by6803);
};
@@ -39,7 +41,7 @@ void by6803_state::machine_reset()
{
}
-static DRIVER_INIT( by6803 )
+DRIVER_INIT_MEMBER(by6803_state,by6803)
{
}
diff --git a/src/mame/drivers/by68701.c b/src/mame/drivers/by68701.c
index ac8fd6b315d..3da6e507c82 100644
--- a/src/mame/drivers/by68701.c
+++ b/src/mame/drivers/by68701.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(by68701);
};
@@ -35,7 +37,7 @@ void by68701_state::machine_reset()
{
}
-static DRIVER_INIT( by68701 )
+DRIVER_INIT_MEMBER(by68701_state,by68701)
{
}
diff --git a/src/mame/drivers/byvid.c b/src/mame/drivers/byvid.c
index 4926feb62c3..aae29fa091f 100644
--- a/src/mame/drivers/byvid.c
+++ b/src/mame/drivers/byvid.c
@@ -252,6 +252,6 @@ ROM_START(granny)
ROM_END
-GAME( 1982, babypac, 0, by133, by133, by133_state, 0, ROT90, "Bally", "Baby Pac-Man (set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1982, babypac2, babypac, by133, by133, by133_state, 0, ROT90, "Bally", "Baby Pac-Man (set 2)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1984, granny, 0, by133, by133, by133_state, 0, ROT0, "Bally", "Granny and the Gators", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1982, babypac, 0, by133, by133, driver_device, 0, ROT90, "Bally", "Baby Pac-Man (set 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1982, babypac2, babypac, by133, by133, driver_device, 0, ROT90, "Bally", "Baby Pac-Man (set 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1984, granny, 0, by133, by133, driver_device, 0, ROT0, "Bally", "Granny and the Gators", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/bzone.c b/src/mame/drivers/bzone.c
index 9bd89913b95..02386a697a7 100644
--- a/src/mame/drivers/bzone.c
+++ b/src/mame/drivers/bzone.c
@@ -878,15 +878,14 @@ WRITE8_MEMBER(bzone_state::analog_select_w)
}
-static DRIVER_INIT( bradley )
+DRIVER_INIT_MEMBER(bzone_state,bradley)
{
- bzone_state *state = machine.driver_data<bzone_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
space->install_ram(0x400, 0x7ff);
space->install_read_port(0x1808, 0x1808, "1808");
space->install_read_port(0x1809, 0x1809, "1809");
- space->install_read_handler(0x180a, 0x180a, read8_delegate(FUNC(bzone_state::analog_data_r),state));
- space->install_write_handler(0x1848, 0x1850, write8_delegate(FUNC(bzone_state::analog_select_w),state));
+ space->install_read_handler(0x180a, 0x180a, read8_delegate(FUNC(bzone_state::analog_data_r),this));
+ space->install_write_handler(0x1848, 0x1850, write8_delegate(FUNC(bzone_state::analog_select_w),this));
}
@@ -897,9 +896,9 @@ static DRIVER_INIT( bradley )
*
*************************************/
-GAMEL(1980, bzone, 0, bzone, bzone, bzone_state, 0, ROT0, "Atari", "Battle Zone (rev 2)", GAME_SUPPORTS_SAVE, layout_bzone )
-GAMEL(1980, bzonea, bzone, bzone, bzone, bzone_state, 0, ROT0, "Atari", "Battle Zone (rev 1)", GAME_SUPPORTS_SAVE, layout_bzone )
-GAMEL(1980, bzonec, bzone, bzone, bzone, bzone_state, 0, ROT0, "Atari", "Battle Zone (cocktail)", GAME_SUPPORTS_SAVE|GAME_NO_COCKTAIL, layout_bzone )
+GAMEL(1980, bzone, 0, bzone, bzone, driver_device, 0, ROT0, "Atari", "Battle Zone (rev 2)", GAME_SUPPORTS_SAVE, layout_bzone )
+GAMEL(1980, bzonea, bzone, bzone, bzone, driver_device, 0, ROT0, "Atari", "Battle Zone (rev 1)", GAME_SUPPORTS_SAVE, layout_bzone )
+GAMEL(1980, bzonec, bzone, bzone, bzone, driver_device, 0, ROT0, "Atari", "Battle Zone (cocktail)", GAME_SUPPORTS_SAVE|GAME_NO_COCKTAIL, layout_bzone )
GAME( 1980, bradley, 0, bzone, bradley, bzone_state, bradley, ROT0, "Atari", "Bradley Trainer", GAME_SUPPORTS_SAVE )
-GAMEL(1980, redbaron, 0, redbaron, redbaron, bzone_state, 0, ROT0, "Atari", "Red Baron (Revised Hardware)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
-GAMEL(1980, redbarona, redbaron, redbaron, redbaron, bzone_state, 0, ROT0, "Atari", "Red Baron", GAME_SUPPORTS_SAVE, layout_ho88ffff )
+GAMEL(1980, redbaron, 0, redbaron, redbaron, driver_device, 0, ROT0, "Atari", "Red Baron (Revised Hardware)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
+GAMEL(1980, redbarona, redbaron, redbaron, redbaron, driver_device, 0, ROT0, "Atari", "Red Baron", GAME_SUPPORTS_SAVE, layout_ho88ffff )
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c
index 1e218db2c9f..9d0a90d5d14 100644
--- a/src/mame/drivers/cabal.c
+++ b/src/mame/drivers/cabal.c
@@ -865,24 +865,24 @@ static void seibu_sound_bootleg(running_machine &machine,const char *cpu,int len
-static DRIVER_INIT( cabal )
+DRIVER_INIT_MEMBER(cabal_state,cabal)
{
- seibu_sound_decrypt(machine,"audiocpu",0x2000);
- seibu_adpcm_decrypt(machine,"adpcm1");
- seibu_adpcm_decrypt(machine,"adpcm2");
+ seibu_sound_decrypt(machine(),"audiocpu",0x2000);
+ seibu_adpcm_decrypt(machine(),"adpcm1");
+ seibu_adpcm_decrypt(machine(),"adpcm2");
}
-static DRIVER_INIT( cabalbl2 )
+DRIVER_INIT_MEMBER(cabal_state,cabalbl2)
{
- seibu_sound_bootleg(machine,"audiocpu",0x2000);
- seibu_adpcm_decrypt(machine,"adpcm1");
- seibu_adpcm_decrypt(machine,"adpcm2");
+ seibu_sound_bootleg(machine(),"audiocpu",0x2000);
+ seibu_adpcm_decrypt(machine(),"adpcm1");
+ seibu_adpcm_decrypt(machine(),"adpcm2");
}
GAME( 1988, cabal, 0, cabal, cabalj, cabal_state, cabal, ROT0, "TAD Corporation", "Cabal (World, Joystick version)", 0 )
GAME( 1989, cabala, cabal, cabal, cabalj, cabal_state, cabal, ROT0, "TAD Corporation (Alpha Trading license)", "Cabal (Alpha Trading)", 0 ) // korea?
-GAME( 1988, cabalbl, cabal, cabalbl, cabalbl, cabal_state, 0, ROT0, "bootleg (Red Corporation)", "Cabal (bootleg of Joystick version, set 1, alternate sound hardware)", GAME_IMPERFECT_SOUND )
+GAME( 1988, cabalbl, cabal, cabalbl, cabalbl, driver_device, 0, ROT0, "bootleg (Red Corporation)", "Cabal (bootleg of Joystick version, set 1, alternate sound hardware)", GAME_IMPERFECT_SOUND )
GAME( 1988, cabalbl2,cabal, cabal, cabalj, cabal_state, cabalbl2,ROT0, "bootleg", "Cabal (bootleg of Joystick version, set 2)", 0 )
GAME( 1988, cabalus, cabal, cabal, cabalt, cabal_state, cabal, ROT0, "TAD Corporation (Fabtek license)", "Cabal (US set 1, Trackball version)", 0 )
diff --git a/src/mame/drivers/cabaret.c b/src/mame/drivers/cabaret.c
index d49496a032d..5f0774ed061 100644
--- a/src/mame/drivers/cabaret.c
+++ b/src/mame/drivers/cabaret.c
@@ -50,6 +50,7 @@ public:
DECLARE_WRITE8_MEMBER(fg_color_w);
DECLARE_WRITE8_MEMBER(cabaret_nmi_and_coins_w);
void show_out();
+ DECLARE_DRIVER_INIT(cabaret);
};
@@ -359,9 +360,9 @@ static MACHINE_CONFIG_START( cabaret, cabaret_state )
MACHINE_CONFIG_END
-static DRIVER_INIT( cabaret )
+DRIVER_INIT_MEMBER(cabaret_state,cabaret)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int i;
/* decrypt the program ROM */
diff --git a/src/mame/drivers/calchase.c b/src/mame/drivers/calchase.c
index 3cb09f2b8ad..26fd77fc065 100644
--- a/src/mame/drivers/calchase.c
+++ b/src/mame/drivers/calchase.c
@@ -172,6 +172,7 @@ public:
DECLARE_WRITE16_MEMBER(calchase_dac_r_w);
DECLARE_WRITE_LINE_MEMBER(calchase_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
+ DECLARE_DRIVER_INIT(calchase);
};
@@ -965,20 +966,19 @@ WRITE32_MEMBER(calchase_state::calchase_idle_skip_w)
COMBINE_DATA(&m_idle_skip_ram);
}
-static DRIVER_INIT( calchase )
+DRIVER_INIT_MEMBER(calchase_state,calchase)
{
- calchase_state *state = machine.driver_data<calchase_state>();
- state->m_bios_ram = auto_alloc_array(machine, UINT32, 0x20000/4);
+ m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4);
- pc_vga_init(machine, vga_setting, NULL);
- pc_svga_trident_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, calchase_set_keyb_int);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_svga_trident_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, calchase_set_keyb_int);
- intel82439tx_init(machine);
+ intel82439tx_init(machine());
- kbdc8042_init(machine, &at8042);
+ kbdc8042_init(machine(), &at8042);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x3f0b160, 0x3f0b163, read32_delegate(FUNC(calchase_state::calchase_idle_skip_r),state), write32_delegate(FUNC(calchase_state::calchase_idle_skip_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x3f0b160, 0x3f0b163, read32_delegate(FUNC(calchase_state::calchase_idle_skip_r),this), write32_delegate(FUNC(calchase_state::calchase_idle_skip_w),this));
}
ROM_START( calchase )
diff --git a/src/mame/drivers/calomega.c b/src/mame/drivers/calomega.c
index 0791b28c59b..218ec2cea7c 100644
--- a/src/mame/drivers/calomega.c
+++ b/src/mame/drivers/calomega.c
@@ -3905,11 +3905,11 @@ ROM_END
* Driver Init *
*************************************************/
-static DRIVER_INIT( standard )
+DRIVER_INIT_MEMBER(calomega_state,standard)
{
/* background color is adjusted through RGB pots */
int x;
- UINT8 *BPR = machine.root_device().memregion( "proms" )->base();
+ UINT8 *BPR = machine().root_device().memregion( "proms" )->base();
for (x = 0x0000; x < 0x0400; x++)
{
@@ -3918,10 +3918,10 @@ static DRIVER_INIT( standard )
}
}
-static DRIVER_INIT( elgrande )
+DRIVER_INIT_MEMBER(calomega_state,elgrande)
{
int x;
- UINT8 *BPR = machine.root_device().memregion( "proms" )->base();
+ UINT8 *BPR = machine().root_device().memregion( "proms" )->base();
/* background color is adjusted through RGB pots */
for (x = 0x0000; x < 0x0400; x++)
@@ -3931,11 +3931,11 @@ static DRIVER_INIT( elgrande )
}
}
-static DRIVER_INIT( jjpoker )
+DRIVER_INIT_MEMBER(calomega_state,jjpoker)
{
/* background color is adjusted through RGB pots */
int x;
- UINT8 *BPR = machine.root_device().memregion( "proms" )->base();
+ UINT8 *BPR = machine().root_device().memregion( "proms" )->base();
for (x = 0x0000; x < 0x0400; x++)
{
@@ -3944,11 +3944,11 @@ static DRIVER_INIT( jjpoker )
}
}
-static DRIVER_INIT( comg080 )
+DRIVER_INIT_MEMBER(calomega_state,comg080)
{
/* background color is adjusted through RGB pots */
int x;
- UINT8 *BPR = machine.root_device().memregion( "proms" )->base();
+ UINT8 *BPR = machine().root_device().memregion( "proms" )->base();
for (x = 0x0000; x < 0x0400; x++)
{
@@ -3960,7 +3960,7 @@ static DRIVER_INIT( comg080 )
Start = $2042; NMI = $26f8;
Also a fake vector at $3ff8-$3ff9. The code checks these values to continue.
*/
- UINT8 *PRGROM = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *PRGROM = machine().root_device().memregion( "maincpu" )->base();
PRGROM[0x3ff8] = 0x8e; /* checked by code */
PRGROM[0x3ff9] = 0x97; /* checked by code */
diff --git a/src/mame/drivers/calorie.c b/src/mame/drivers/calorie.c
index 552a42c6f78..2b1b985f7cc 100644
--- a/src/mame/drivers/calorie.c
+++ b/src/mame/drivers/calorie.c
@@ -105,6 +105,8 @@ public:
DECLARE_WRITE8_MEMBER(calorie_flipscreen_w);
DECLARE_READ8_MEMBER(calorie_soundlatch_r);
DECLARE_WRITE8_MEMBER(bogus_w);
+ DECLARE_DRIVER_INIT(calorie);
+ DECLARE_DRIVER_INIT(calorieb);
};
@@ -548,15 +550,15 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( calorie )
+DRIVER_INIT_MEMBER(calorie_state,calorie)
{
- sega_317_0004_decode(machine, "maincpu");
+ sega_317_0004_decode(machine(), "maincpu");
}
-static DRIVER_INIT( calorieb )
+DRIVER_INIT_MEMBER(calorie_state,calorieb)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->set_decrypted_region(0x0000, 0x7fff, machine.root_device().memregion("maincpu")->base() + 0x10000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->set_decrypted_region(0x0000, 0x7fff, machine().root_device().memregion("maincpu")->base() + 0x10000);
}
diff --git a/src/mame/drivers/canyon.c b/src/mame/drivers/canyon.c
index 6e9a65f6b09..d99fee011be 100644
--- a/src/mame/drivers/canyon.c
+++ b/src/mame/drivers/canyon.c
@@ -317,5 +317,5 @@ ROM_END
*
*************************************/
-GAME( 1977, canyon, 0, canyon, canyon, canyon_state, 0, ROT0, "Atari", "Canyon Bomber", GAME_SUPPORTS_SAVE )
-GAME( 1977, canyonp, canyon, canyon, canyon, canyon_state, 0, ROT0, "Atari", "Canyon Bomber (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1977, canyon, 0, canyon, canyon, driver_device, 0, ROT0, "Atari", "Canyon Bomber", GAME_SUPPORTS_SAVE )
+GAME( 1977, canyonp, canyon, canyon, canyon, driver_device, 0, ROT0, "Atari", "Canyon Bomber (prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/capbowl.c b/src/mame/drivers/capbowl.c
index 977785f4391..8fcd121c0df 100644
--- a/src/mame/drivers/capbowl.c
+++ b/src/mame/drivers/capbowl.c
@@ -497,12 +497,12 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( capbowl )
+DRIVER_INIT_MEMBER(capbowl_state,capbowl)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
/* configure ROM banks in 0x0000-0x3fff */
- machine.root_device().membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
}
@@ -517,4 +517,4 @@ GAME( 1988, capbowl2, capbowl, capbowl, capbowl, capbowl_state, capbowl, ROT27
GAME( 1988, capbowl3, capbowl, capbowl, capbowl, capbowl_state, capbowl, ROT270, "Incredible Technologies / Capcom", "Capcom Bowling (set 3)", 0 )
GAME( 1988, capbowl4, capbowl, capbowl, capbowl, capbowl_state, capbowl, ROT270, "Incredible Technologies / Capcom", "Capcom Bowling (set 4)", 0 )
GAME( 1989, clbowl, capbowl, capbowl, capbowl, capbowl_state, capbowl, ROT270, "Incredible Technologies / Capcom", "Coors Light Bowling", 0 )
-GAME( 1991, bowlrama, 0, bowlrama, capbowl, capbowl_state, 0, ROT270, "P&P Marketing", "Bowl-O-Rama", 0 )
+GAME( 1991, bowlrama, 0, bowlrama, capbowl, driver_device, 0, ROT270, "P&P Marketing", "Bowl-O-Rama", 0 )
diff --git a/src/mame/drivers/capcom.c b/src/mame/drivers/capcom.c
index e701e3c2d81..b19069669e0 100644
--- a/src/mame/drivers/capcom.c
+++ b/src/mame/drivers/capcom.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(capcom);
};
@@ -35,7 +37,7 @@ void capcom_state::machine_reset()
{
}
-static DRIVER_INIT( capcom )
+DRIVER_INIT_MEMBER(capcom_state,capcom)
{
}
diff --git a/src/mame/drivers/cardline.c b/src/mame/drivers/cardline.c
index 2208f2d7b35..f74dfebe529 100644
--- a/src/mame/drivers/cardline.c
+++ b/src/mame/drivers/cardline.c
@@ -264,4 +264,4 @@ ROM_START( cardline )
ROM_END
-GAME( 199?, cardline, 0, cardline, cardline, cardline_state, 0, ROT0, "Veltmeijer", "Card Line" , 0)
+GAME( 199?, cardline, 0, cardline, cardline, driver_device, 0, ROT0, "Veltmeijer", "Card Line" , 0)
diff --git a/src/mame/drivers/carjmbre.c b/src/mame/drivers/carjmbre.c
index e4541397059..3a9cd17872c 100644
--- a/src/mame/drivers/carjmbre.c
+++ b/src/mame/drivers/carjmbre.c
@@ -278,4 +278,4 @@ ROM_END
*
*************************************/
-GAME( 1983, carjmbre, 0, carjmbre, carjmbre, carjmbre_state, 0, ROT90, "Omori Electric Co., Ltd.", "Car Jamboree", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1983, carjmbre, 0, carjmbre, carjmbre, driver_device, 0, ROT90, "Omori Electric Co., Ltd.", "Car Jamboree", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/carpolo.c b/src/mame/drivers/carpolo.c
index e06cac99deb..f840be1a6e4 100644
--- a/src/mame/drivers/carpolo.c
+++ b/src/mame/drivers/carpolo.c
@@ -324,15 +324,15 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( carpolo )
+DRIVER_INIT_MEMBER(carpolo_state,carpolo)
{
size_t i, len;
UINT8 *ROM;
/* invert gfx PROM since the bits are active LO */
- ROM = machine.root_device().memregion("gfx2")->base();
- len = machine.root_device().memregion("gfx2")->bytes();
+ ROM = machine().root_device().memregion("gfx2")->base();
+ len = machine().root_device().memregion("gfx2")->bytes();
for (i = 0;i < len; i++)
ROM[i] ^= 0x0f;
}
diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c
index e6e025cc0d7..b20fe4d6287 100644
--- a/src/mame/drivers/carrera.c
+++ b/src/mame/drivers/carrera.c
@@ -370,5 +370,5 @@ ROM_START( carrera )
ROM_END
-GAME( 19??, carrera, 0, carrera, carrera, carrera_state,0, ROT0, "BS Electronics", "Carrera (Version 6.7)", 0 )
+GAME( 19??, carrera, 0, carrera, carrera, driver_device,0, ROT0, "BS Electronics", "Carrera (Version 6.7)", 0 )
diff --git a/src/mame/drivers/castle.c b/src/mame/drivers/castle.c
index ed8e03c3950..b1772acc0df 100644
--- a/src/mame/drivers/castle.c
+++ b/src/mame/drivers/castle.c
@@ -111,7 +111,7 @@ ROM_END
// 4.00 JACKPOT. VERSION 1 (for revision E CPU) Written by and copyright of David John Powell - 25th February 1987
-GAME( 1987, castrev, 0, castle_V1rvE, castrev, castle_state, 0, ROT0, "Castle","Revolution (Castle) (MACH2000 V1rvE)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1987, castrev, 0, castle_V1rvE, castrev, driver_device, 0, ROT0, "Castle","Revolution (Castle) (MACH2000 V1rvE)",GAME_IS_SKELETON_MECHANICAL )
// I'm *guessing* this is on MACH2000 V2rvA hardware, it contains strings saying 'MACH 2000 test' and is designed for a single CPU.
-GAME( 198?, castfpt, 0, castle_V2rvA, castrev, castle_state, 0, ROT0, "Castle","Fortune Pot (Castle) (MACH2000 V2rvA)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 198?, castfpt, 0, castle_V2rvA, castrev, driver_device, 0, ROT0, "Castle","Fortune Pot (Castle) (MACH2000 V2rvA)",GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/caswin.c b/src/mame/drivers/caswin.c
index 6bad70312ff..11df3824298 100644
--- a/src/mame/drivers/caswin.c
+++ b/src/mame/drivers/caswin.c
@@ -360,5 +360,5 @@ ROM_START( rcasino )
ROM_LOAD( "prom2.8e", 0x0020, 0x0020, CRC(2b5c7826) SHA1(c0de392aebd6982e5846c12aeb2e871358be60d7) )
ROM_END
-GAME( 1984, rcasino, 0, vvillage, vvillage, caswin_state, 0, ROT270, "Dyna Electronics", "Royal Casino", GAME_IMPERFECT_GRAPHICS )
-GAME( 1985, caswin, rcasino, vvillage, vvillage, caswin_state, 0, ROT270, "Aristocrat", "Casino Winner", GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, rcasino, 0, vvillage, vvillage, driver_device, 0, ROT270, "Dyna Electronics", "Royal Casino", GAME_IMPERFECT_GRAPHICS )
+GAME( 1985, caswin, rcasino, vvillage, vvillage, driver_device, 0, ROT270, "Aristocrat", "Casino Winner", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c
index 74996601009..662b6aa3dac 100644
--- a/src/mame/drivers/cave.c
+++ b/src/mame/drivers/cave.c
@@ -4450,199 +4450,188 @@ static void init_cave(running_machine &machine)
}
-static DRIVER_INIT( agallet )
+DRIVER_INIT_MEMBER(cave_state,agallet)
{
- UINT8 *ROM = machine.root_device().memregion("audiocpu")->base();
- init_cave(machine);
+ UINT8 *ROM = machine().root_device().memregion("audiocpu")->base();
+ init_cave(machine());
- machine.root_device().membank("bank1")->configure_entries(0, 0x02, &ROM[0x00000], 0x4000);
- machine.root_device().membank("bank1")->configure_entries(2, 0x1e, &ROM[0x10000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 0x02, &ROM[0x00000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(2, 0x1e, &ROM[0x10000], 0x4000);
- ROM = machine.root_device().memregion("oki1")->base();
- machine.root_device().membank("bank3")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
- machine.root_device().membank("bank4")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ ROM = machine().root_device().memregion("oki1")->base();
+ machine().root_device().membank("bank3")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ machine().root_device().membank("bank4")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
- ROM = machine.root_device().memregion("oki2")->base();
- machine.root_device().membank("bank5")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
- machine.root_device().membank("bank6")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ ROM = machine().root_device().memregion("oki2")->base();
+ machine().root_device().membank("bank5")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ machine().root_device().membank("bank6")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
- sailormn_unpack_tiles(machine, "layer2");
+ sailormn_unpack_tiles(machine(), "layer2");
- unpack_sprites(machine);
+ unpack_sprites(machine());
}
-static DRIVER_INIT( dfeveron )
+DRIVER_INIT_MEMBER(cave_state,dfeveron)
{
- cave_state *state = machine.driver_data<cave_state>();
- init_cave(machine);
+ init_cave(machine());
- unpack_sprites(machine);
- state->m_kludge = 2;
+ unpack_sprites(machine());
+ m_kludge = 2;
}
-static DRIVER_INIT( feversos )
+DRIVER_INIT_MEMBER(cave_state,feversos)
{
- cave_state *state = machine.driver_data<cave_state>();
- init_cave(machine);
+ init_cave(machine());
- unpack_sprites(machine);
- state->m_kludge = 2;
+ unpack_sprites(machine());
+ m_kludge = 2;
}
-static DRIVER_INIT( ddonpach )
+DRIVER_INIT_MEMBER(cave_state,ddonpach)
{
- cave_state *state = machine.driver_data<cave_state>();
- init_cave(machine);
+ init_cave(machine());
- ddonpach_unpack_sprites(machine);
- state->m_spritetype[0] = 1; // "different" sprites (no zooming?)
- state->m_time_vblank_irq = 90;
+ ddonpach_unpack_sprites(machine());
+ m_spritetype[0] = 1; // "different" sprites (no zooming?)
+ m_time_vblank_irq = 90;
}
-static DRIVER_INIT( donpachi )
+DRIVER_INIT_MEMBER(cave_state,donpachi)
{
- cave_state *state = machine.driver_data<cave_state>();
- init_cave(machine);
+ init_cave(machine());
- ddonpach_unpack_sprites(machine);
- state->m_spritetype[0] = 1; // "different" sprites (no zooming?)
- state->m_time_vblank_irq = 90;
+ ddonpach_unpack_sprites(machine());
+ m_spritetype[0] = 1; // "different" sprites (no zooming?)
+ m_time_vblank_irq = 90;
}
-static DRIVER_INIT( esprade )
+DRIVER_INIT_MEMBER(cave_state,esprade)
{
- cave_state *state = machine.driver_data<cave_state>();
- init_cave(machine);
+ init_cave(machine());
- esprade_unpack_sprites(machine);
- state->m_time_vblank_irq = 2000; /**/
+ esprade_unpack_sprites(machine());
+ m_time_vblank_irq = 2000; /**/
#if 0 //ROM PATCH
{
- UINT16 *rom = (UINT16 *)state->memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)memregion("maincpu")->base();
rom[0x118A/2] = 0x4e71; //palette fix 118A: 5548 SUBQ.W #2,A0 --> NOP
}
#endif
}
-static DRIVER_INIT( gaia )
+DRIVER_INIT_MEMBER(cave_state,gaia)
{
- cave_state *state = machine.driver_data<cave_state>();
- init_cave(machine);
+ init_cave(machine());
/* No EEPROM */
- unpack_sprites(machine);
- state->m_spritetype[0] = 2; // Normal sprites with different position handling
- state->m_time_vblank_irq = 2000; /**/
+ unpack_sprites(machine());
+ m_spritetype[0] = 2; // Normal sprites with different position handling
+ m_time_vblank_irq = 2000; /**/
}
-static DRIVER_INIT( guwange )
+DRIVER_INIT_MEMBER(cave_state,guwange)
{
- cave_state *state = machine.driver_data<cave_state>();
- init_cave(machine);
+ init_cave(machine());
- esprade_unpack_sprites(machine);
- state->m_time_vblank_irq = 2000; /**/
+ esprade_unpack_sprites(machine());
+ m_time_vblank_irq = 2000; /**/
}
-static DRIVER_INIT( hotdogst )
+DRIVER_INIT_MEMBER(cave_state,hotdogst)
{
- cave_state *state = machine.driver_data<cave_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
- init_cave(machine);
+ init_cave(machine());
- state->membank("bank2")->configure_entries(0, 0x2, &ROM[0x00000], 0x4000);
- state->membank("bank2")->configure_entries(2, 0xe, &ROM[0x10000], 0x4000);
+ membank("bank2")->configure_entries(0, 0x2, &ROM[0x00000], 0x4000);
+ membank("bank2")->configure_entries(2, 0xe, &ROM[0x10000], 0x4000);
- ROM = state->memregion("oki")->base();
- state->membank("bank3")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
- state->membank("bank4")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
+ ROM = memregion("oki")->base();
+ membank("bank3")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
+ membank("bank4")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
- unpack_sprites(machine);
- state->m_spritetype[0] = 2; // Normal sprites with different position handling
- state->m_time_vblank_irq = 2000; /**/
+ unpack_sprites(machine());
+ m_spritetype[0] = 2; // Normal sprites with different position handling
+ m_time_vblank_irq = 2000; /**/
}
-static DRIVER_INIT( mazinger )
+DRIVER_INIT_MEMBER(cave_state,mazinger)
{
- cave_state *state = machine.driver_data<cave_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
UINT8 *buffer;
- UINT8 *src = state->memregion("sprites")->base();
- int len = state->memregion("sprites")->bytes();
+ UINT8 *src = memregion("sprites")->base();
+ int len = memregion("sprites")->bytes();
- init_cave(machine);
+ init_cave(machine());
- state->membank("bank2")->configure_entries(0, 2, &ROM[0x00000], 0x4000);
- state->membank("bank2")->configure_entries(2, 6, &ROM[0x10000], 0x4000);
+ membank("bank2")->configure_entries(0, 2, &ROM[0x00000], 0x4000);
+ membank("bank2")->configure_entries(2, 6, &ROM[0x10000], 0x4000);
- ROM = state->memregion("oki")->base();
- state->membank("bank3")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
- state->membank("bank4")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
+ ROM = memregion("oki")->base();
+ membank("bank3")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
+ membank("bank4")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
/* decrypt sprites */
- buffer = auto_alloc_array(machine, UINT8, len);
+ buffer = auto_alloc_array(machine(), UINT8, len);
{
int i;
for (i = 0; i < len; i++)
buffer[i ^ 0xdf88] = src[BITSWAP24(i,23,22,21,20,19,9,7,3,15,4,17,14,18,2,16,5,11,8,6,13,1,10,12,0)];
memcpy(src, buffer, len);
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
- unpack_sprites(machine);
- state->m_spritetype[0] = 2; // Normal sprites with different position handling
- state->m_kludge = 3;
- state->m_time_vblank_irq = 2100;
+ unpack_sprites(machine());
+ m_spritetype[0] = 2; // Normal sprites with different position handling
+ m_kludge = 3;
+ m_time_vblank_irq = 2100;
/* setup extra ROM */
- state->membank("bank1")->set_base(machine.root_device().memregion("user1")->base());
+ membank("bank1")->set_base(machine().root_device().memregion("user1")->base());
}
-static DRIVER_INIT( metmqstr )
+DRIVER_INIT_MEMBER(cave_state,metmqstr)
{
- cave_state *state = machine.driver_data<cave_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
- init_cave(machine);
+ init_cave(machine());
- state->membank("bank1")->configure_entries(0, 0x2, &ROM[0x00000], 0x4000);
- state->membank("bank1")->configure_entries(2, 0xe, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 0x2, &ROM[0x00000], 0x4000);
+ membank("bank1")->configure_entries(2, 0xe, &ROM[0x10000], 0x4000);
- ROM = state->memregion("oki1")->base();
- state->membank("bank3")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
- state->membank("bank4")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
+ ROM = memregion("oki1")->base();
+ membank("bank3")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
+ membank("bank4")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
- ROM = state->memregion("oki2")->base();
- state->membank("bank5")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
- state->membank("bank6")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
+ ROM = memregion("oki2")->base();
+ membank("bank5")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
+ membank("bank6")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
- unpack_sprites(machine);
- state->m_spritetype[0] = 2; // Normal sprites with different position handling
- state->m_kludge = 3;
- state->m_time_vblank_irq = 17376;
+ unpack_sprites(machine());
+ m_spritetype[0] = 2; // Normal sprites with different position handling
+ m_kludge = 3;
+ m_time_vblank_irq = 17376;
}
-static DRIVER_INIT( pwrinst2j )
+DRIVER_INIT_MEMBER(cave_state,pwrinst2j)
{
- cave_state *state = machine.driver_data<cave_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
UINT8 *buffer;
- UINT8 *src = state->memregion("sprites")->base();
- int len = state->memregion("sprites")->bytes();
+ UINT8 *src = memregion("sprites")->base();
+ int len = memregion("sprites")->bytes();
int i, j;
- init_cave(machine);
+ init_cave(machine());
- state->membank("bank1")->configure_entries(0, 3, &ROM[0x00000], 0x4000);
- state->membank("bank1")->configure_entries(3, 5, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 3, &ROM[0x00000], 0x4000);
+ membank("bank1")->configure_entries(3, 5, &ROM[0x10000], 0x4000);
- buffer = auto_alloc_array(machine, UINT8, len);
+ buffer = auto_alloc_array(machine(), UINT8, len);
{
for(i = 0; i < len/2; i++)
{
@@ -4653,16 +4642,16 @@ static DRIVER_INIT( pwrinst2j )
}
memcpy(src,buffer,len);
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
- unpack_sprites(machine);
- state->m_spritetype[0] = 3;
- state->m_kludge = 4;
- state->m_time_vblank_irq = 2000; /**/
+ unpack_sprites(machine());
+ m_spritetype[0] = 3;
+ m_kludge = 4;
+ m_time_vblank_irq = 2000; /**/
}
-static DRIVER_INIT( pwrinst2 )
+DRIVER_INIT_MEMBER(cave_state,pwrinst2)
{
/* this patch fixes on of the moves, why is it needed? is the rom bad or is there another
problem? does the Japan set need it or not? */
@@ -4670,94 +4659,90 @@ static DRIVER_INIT( pwrinst2 )
#if 1 //ROM PATCH
{
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
rom[0xd46c / 2] = 0xd482; // kurara dash fix 0xd400 -> 0xd482
}
#endif
}
-static DRIVER_INIT( sailormn )
+DRIVER_INIT_MEMBER(cave_state,sailormn)
{
- cave_state *state = machine.driver_data<cave_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
UINT8 *buffer;
- UINT8 *src = state->memregion("sprites")->base();
- int len = state->memregion("sprites")->bytes();
+ UINT8 *src = memregion("sprites")->base();
+ int len = memregion("sprites")->bytes();
- init_cave(machine);
+ init_cave(machine());
- state->membank("bank1")->configure_entries(0, 0x02, &ROM[0x00000], 0x4000);
- state->membank("bank1")->configure_entries(2, 0x1e, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 0x02, &ROM[0x00000], 0x4000);
+ membank("bank1")->configure_entries(2, 0x1e, &ROM[0x10000], 0x4000);
- ROM = state->memregion("oki1")->base();
- state->membank("bank3")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
- state->membank("bank4")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ ROM = memregion("oki1")->base();
+ membank("bank3")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ membank("bank4")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
- ROM = state->memregion("oki2")->base();
- state->membank("bank5")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
- state->membank("bank6")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ ROM = memregion("oki2")->base();
+ membank("bank5")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ membank("bank6")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
/* decrypt sprites */
- buffer = auto_alloc_array(machine, UINT8, len);
+ buffer = auto_alloc_array(machine(), UINT8, len);
{
int i;
for (i = 0; i < len; i++)
buffer[i ^ 0x950c4] = src[BITSWAP24(i,23,22,21,20,15,10,12,6,11,1,13,3,16,17,2,5,14,7,18,8,4,19,9,0)];
memcpy(src, buffer, len);
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
- sailormn_unpack_tiles( machine, "layer2" );
+ sailormn_unpack_tiles( machine(), "layer2" );
- unpack_sprites(machine);
- state->m_spritetype[0] = 2; // Normal sprites with different position handling
- state->m_kludge = 1;
- state->m_time_vblank_irq = 2000;
+ unpack_sprites(machine());
+ m_spritetype[0] = 2; // Normal sprites with different position handling
+ m_kludge = 1;
+ m_time_vblank_irq = 2000;
- state->m_sailormn_tilebank = 0;
- state->save_item(NAME(state->m_sailormn_tilebank));
+ m_sailormn_tilebank = 0;
+ save_item(NAME(m_sailormn_tilebank));
}
-static DRIVER_INIT( tjumpman )
+DRIVER_INIT_MEMBER(cave_state,tjumpman)
{
- cave_state *state = machine.driver_data<cave_state>();
- init_cave(machine);
+ init_cave(machine());
- unpack_sprites(machine);
- state->m_spritetype[0] = 2; // Normal sprites with different position handling
- state->m_kludge = 3;
- state->m_time_vblank_irq = 17376;
+ unpack_sprites(machine());
+ m_spritetype[0] = 2; // Normal sprites with different position handling
+ m_kludge = 3;
+ m_time_vblank_irq = 17376;
- state->m_hopper = 0;
- state->save_item(NAME(state->m_hopper));
+ m_hopper = 0;
+ save_item(NAME(m_hopper));
}
-static DRIVER_INIT( uopoko )
+DRIVER_INIT_MEMBER(cave_state,uopoko)
{
- cave_state *state = machine.driver_data<cave_state>();
- init_cave(machine);
+ init_cave(machine());
- unpack_sprites(machine);
- state->m_kludge = 2;
- state->m_time_vblank_irq = 2000; /**/
+ unpack_sprites(machine());
+ m_kludge = 2;
+ m_time_vblank_irq = 2000; /**/
}
-static DRIVER_INIT( korokoro )
+DRIVER_INIT_MEMBER(cave_state,korokoro)
{
- cave_state *state = machine.driver_data<cave_state>();
- init_cave(machine);
+ init_cave(machine());
- state->m_irq_level = 2;
+ m_irq_level = 2;
- unpack_sprites(machine);
- state->m_time_vblank_irq = 2000; /**/
+ unpack_sprites(machine());
+ m_time_vblank_irq = 2000; /**/
- state->m_leds[0] = 0;
- state->m_leds[1] = 0;
- state->m_hopper = 0;
- state->save_item(NAME(state->m_leds));
- state->save_item(NAME(state->m_hopper));
+ m_leds[0] = 0;
+ m_leds[1] = 0;
+ m_hopper = 0;
+ save_item(NAME(m_leds));
+ save_item(NAME(m_hopper));
}
/***************************************************************************
diff --git a/src/mame/drivers/cb2001.c b/src/mame/drivers/cb2001.c
index 86c1df63169..56143ea7b5c 100644
--- a/src/mame/drivers/cb2001.c
+++ b/src/mame/drivers/cb2001.c
@@ -887,5 +887,5 @@ ROM_START( scherrym )
ROM_LOAD( "n82s135-2.bin", 0x200, 0x100, CRC(a19821db) SHA1(62dda90dd67dfbc0b96f161f1f2b7a46a5805eae) )
ROM_END
-GAME( 2001, cb2001, 0, cb2001, cb2001, cb2001_state, 0, ROT0, "Dyna", "Cherry Bonus 2001", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 2001, scherrym, 0, cb2001, cb2001, cb2001_state, 0, ROT0, "Dyna", "Super Cherry Master", GAME_NOT_WORKING|GAME_NO_SOUND ) // 2001 version? (we have bootlegs running on z80 hw of a 1996 version)
+GAME( 2001, cb2001, 0, cb2001, cb2001, driver_device, 0, ROT0, "Dyna", "Cherry Bonus 2001", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 2001, scherrym, 0, cb2001, cb2001, driver_device, 0, ROT0, "Dyna", "Super Cherry Master", GAME_NOT_WORKING|GAME_NO_SOUND ) // 2001 version? (we have bootlegs running on z80 hw of a 1996 version)
diff --git a/src/mame/drivers/cball.c b/src/mame/drivers/cball.c
index b5061fe2f16..f4dcb591d5b 100644
--- a/src/mame/drivers/cball.c
+++ b/src/mame/drivers/cball.c
@@ -272,4 +272,4 @@ ROM_START( cball )
ROM_END
-GAME( 1976, cball, 0, cball, cball, cball_state, 0, ROT0, "Atari", "Cannonball (Atari, prototype)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
+GAME( 1976, cball, 0, cball, cball, driver_device, 0, ROT0, "Atari", "Cannonball (Atari, prototype)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/cbasebal.c b/src/mame/drivers/cbasebal.c
index 7ea12c0060d..61acf8455ac 100644
--- a/src/mame/drivers/cbasebal.c
+++ b/src/mame/drivers/cbasebal.c
@@ -353,9 +353,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( cbasebal )
+DRIVER_INIT_MEMBER(cbasebal_state,cbasebal)
{
- pang_decode(machine);
+ pang_decode(machine());
}
diff --git a/src/mame/drivers/cbuster.c b/src/mame/drivers/cbuster.c
index 4c4048597c9..c802b76eb6f 100644
--- a/src/mame/drivers/cbuster.c
+++ b/src/mame/drivers/cbuster.c
@@ -528,9 +528,9 @@ ROM_END
/******************************************************************************/
-static DRIVER_INIT( twocrude )
+DRIVER_INIT_MEMBER(cbuster_state,twocrude)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
UINT8 *PTR;
int i, j;
@@ -547,8 +547,8 @@ static DRIVER_INIT( twocrude )
}
/* Rearrange the 'extra' sprite bank to be in the same format as main sprites */
- RAM = machine.root_device().memregion("gfx3")->base() + 0x080000;
- PTR = machine.root_device().memregion("gfx3")->base() + 0x140000;
+ RAM = machine().root_device().memregion("gfx3")->base() + 0x080000;
+ PTR = machine().root_device().memregion("gfx3")->base() + 0x140000;
for (i = 0; i < 0x20000; i += 64)
{
for (j = 0; j < 16; j += 1)
diff --git a/src/mame/drivers/ccastles.c b/src/mame/drivers/ccastles.c
index 334406d0b38..a0483b08007 100644
--- a/src/mame/drivers/ccastles.c
+++ b/src/mame/drivers/ccastles.c
@@ -682,11 +682,11 @@ ROM_END
*
*************************************/
-GAME( 1983, ccastles, 0, ccastles, ccastles, ccastles_state, 0, ROT0, "Atari", "Crystal Castles (version 4)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastlesg, ccastles, ccastles, ccastles, ccastles_state, 0, ROT0, "Atari", "Crystal Castles (version 3, German)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastlesp, ccastles, ccastles, ccastles, ccastles_state, 0, ROT0, "Atari", "Crystal Castles (version 3, Spanish)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastlesf, ccastles, ccastles, ccastles, ccastles_state, 0, ROT0, "Atari", "Crystal Castles (version 3, French)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastles3, ccastles, ccastles, ccastles, ccastles_state, 0, ROT0, "Atari", "Crystal Castles (version 3)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastles2, ccastles, ccastles, ccastles, ccastles_state, 0, ROT0, "Atari", "Crystal Castles (version 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastles1, ccastles, ccastles, ccastles, ccastles_state, 0, ROT0, "Atari", "Crystal Castles (version 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastlesj, ccastles, ccastles, ccastlesj, ccastles_state,0, ROT0, "Atari", "Crystal Castles (joystick version)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ccastles, 0, ccastles, ccastles, driver_device, 0, ROT0, "Atari", "Crystal Castles (version 4)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ccastlesg, ccastles, ccastles, ccastles, driver_device, 0, ROT0, "Atari", "Crystal Castles (version 3, German)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ccastlesp, ccastles, ccastles, ccastles, driver_device, 0, ROT0, "Atari", "Crystal Castles (version 3, Spanish)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ccastlesf, ccastles, ccastles, ccastles, driver_device, 0, ROT0, "Atari", "Crystal Castles (version 3, French)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ccastles3, ccastles, ccastles, ccastles, driver_device, 0, ROT0, "Atari", "Crystal Castles (version 3)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ccastles2, ccastles, ccastles, ccastles, driver_device, 0, ROT0, "Atari", "Crystal Castles (version 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ccastles1, ccastles, ccastles, ccastles, driver_device, 0, ROT0, "Atari", "Crystal Castles (version 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ccastlesj, ccastles, ccastles, ccastlesj, driver_device,0, ROT0, "Atari", "Crystal Castles (joystick version)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cchance.c b/src/mame/drivers/cchance.c
index 8279b8193c8..e37be0ea516 100644
--- a/src/mame/drivers/cchance.c
+++ b/src/mame/drivers/cchance.c
@@ -264,4 +264,4 @@ ROM_START( cchance )
ROM_LOAD( "prom2", 0x0200, 0x0200, NO_DUMP )
ROM_END
-GAME( 1987?, cchance, 0, cchance, cchance, cchance_state, 0, ROT0, "<unknown>", "Cherry Chance", GAME_NOT_WORKING | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1987?, cchance, 0, cchance, cchance, driver_device, 0, ROT0, "<unknown>", "Cherry Chance", GAME_NOT_WORKING | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cchasm.c b/src/mame/drivers/cchasm.c
index c73ab03d0f4..959870f8f83 100644
--- a/src/mame/drivers/cchasm.c
+++ b/src/mame/drivers/cchasm.c
@@ -263,5 +263,5 @@ ROM_END
*
*************************************/
-GAME( 1983, cchasm, 0, cchasm, cchasm, cchasm_state, 0, ROT270, "Cinematronics / GCE", "Cosmic Chasm (set 1)", 0 )
-GAME( 1983, cchasm1, cchasm, cchasm, cchasm, cchasm_state, 0, ROT270, "Cinematronics / GCE", "Cosmic Chasm (set 2)", 0 )
+GAME( 1983, cchasm, 0, cchasm, cchasm, driver_device, 0, ROT270, "Cinematronics / GCE", "Cosmic Chasm (set 1)", 0 )
+GAME( 1983, cchasm1, cchasm, cchasm, cchasm, driver_device, 0, ROT270, "Cinematronics / GCE", "Cosmic Chasm (set 2)", 0 )
diff --git a/src/mame/drivers/cclimber.c b/src/mame/drivers/cclimber.c
index ab69a6e4d2f..f57ee5ca298 100644
--- a/src/mame/drivers/cclimber.c
+++ b/src/mame/drivers/cclimber.c
@@ -2088,15 +2088,15 @@ ROM_START( toprollr )
ROM_END
-static DRIVER_INIT( yamato )
+DRIVER_INIT_MEMBER(cclimber_state,yamato)
{
- yamato_decode(machine,"maincpu");
+ yamato_decode(machine(),"maincpu");
}
-static DRIVER_INIT( toprollr )
+DRIVER_INIT_MEMBER(cclimber_state,toprollr)
{
- toprollr_decode(machine, "maincpu", "user1");
+ toprollr_decode(machine(), "maincpu", "user1");
}
@@ -2108,42 +2108,42 @@ GAME( 1980, ccboot2, cclimber, cclimber, cclimber, cclimber_state, cclimberj
/* these sets have ugly colours, no extra attract screen, and no graphics for the extra attract screen in the BG roms
- there is a Falcon logo in the text roms which is unused
- does the code to display the extra screen still exist in the roms? */
-GAME( 1981, ckong, 0, cclimber, ckong, cclimber_state, 0, ROT270, "Kyoei / Falcon", "Crazy Kong", 0 ) // on a Falcon FCK-01 PCB, but doesn't display any Falcon copyright
-GAME( 1981, ckongalc, ckong, cclimber, ckong, cclimber_state, 0, ROT270, "bootleg (Alca)", "Crazy Kong (Alca bootleg)", 0 )
-GAME( 1981, monkeyd, ckong, cclimber, ckong, cclimber_state, 0, ROT270, "bootleg", "Monkey Donkey", 0 )
+GAME( 1981, ckong, 0, cclimber, ckong, driver_device, 0, ROT270, "Kyoei / Falcon", "Crazy Kong", 0 ) // on a Falcon FCK-01 PCB, but doesn't display any Falcon copyright
+GAME( 1981, ckongalc, ckong, cclimber, ckong, driver_device, 0, ROT270, "bootleg (Alca)", "Crazy Kong (Alca bootleg)", 0 )
+GAME( 1981, monkeyd, ckong, cclimber, ckong, driver_device, 0, ROT270, "bootleg", "Monkey Donkey", 0 )
/* these sets have correct colours, and also contain the graphics used for the extra attract screen in the BG roms, but it is unused
- the Falcon logo in the text roms is still unused
- does the code to display the extra screen still exist in the roms? */
-GAME( 1981, ckongo, ckong, cclimber, ckong, cclimber_state, 0, ROT270, "bootleg (Orca)", "Crazy Kong (Orca bootleg)", 0 )
-GAME( 1981, bigkong, ckong, cclimber, ckong, cclimber_state, 0, ROT270, "bootleg", "Big Kong", 0 )
+GAME( 1981, ckongo, ckong, cclimber, ckong, driver_device, 0, ROT270, "bootleg (Orca)", "Crazy Kong (Orca bootleg)", 0 )
+GAME( 1981, bigkong, ckong, cclimber, ckong, driver_device, 0, ROT270, "bootleg", "Big Kong", 0 )
/* these sets have correct colours, and the extra attract screen, they also make use of the Falcon logo, some sets hack out the Falcon
text on the extra screen */
-GAME( 1981, ckongpt2, 0, cclimber, ckong, cclimber_state, 0, ROT270, "Falcon", "Crazy Kong Part II (set 1)", 0 )
-GAME( 1981, ckongpt2a, ckongpt2, cclimber, ckong, cclimber_state, 0, ROT270, "Falcon", "Crazy Kong Part II (set 2)", 0 )
-GAME( 1981, ckongpt2j, ckongpt2, cclimber, ckong, cclimber_state, 0, ROT270, "Falcon", "Crazy Kong Part II (Japan)", 0 )
-GAME( 1981, ckongpt2jeu, ckongpt2, cclimber, ckong, cclimber_state, 0, ROT270, "bootleg (Jeutel)", "Crazy Kong Part II (Jeutel bootleg)", 0 )
+GAME( 1981, ckongpt2, 0, cclimber, ckong, driver_device, 0, ROT270, "Falcon", "Crazy Kong Part II (set 1)", 0 )
+GAME( 1981, ckongpt2a, ckongpt2, cclimber, ckong, driver_device, 0, ROT270, "Falcon", "Crazy Kong Part II (set 2)", 0 )
+GAME( 1981, ckongpt2j, ckongpt2, cclimber, ckong, driver_device, 0, ROT270, "Falcon", "Crazy Kong Part II (Japan)", 0 )
+GAME( 1981, ckongpt2jeu, ckongpt2, cclimber, ckong, driver_device, 0, ROT270, "bootleg (Jeutel)", "Crazy Kong Part II (Jeutel bootleg)", 0 )
GAME( 1981, ckongpt2b, ckongpt2, cclimber, ckongb, cclimber_state, ckongb, ROT270, "bootleg", "Crazy Kong Part II (alternative levels)", 0 )
// see bagman.c for parent
-GAME( 1981, bagmanf, bagman, cclimber, ckong, cclimber_state, 0, ROT270, "bootleg", "Bagman (bootleg on Crazy Kong hardware)", GAME_NOT_WORKING )
+GAME( 1981, bagmanf, bagman, cclimber, ckong, driver_device, 0, ROT270, "bootleg", "Bagman (bootleg on Crazy Kong hardware)", GAME_NOT_WORKING )
-GAME( 1981, rpatrol, 0, cclimber, rpatrol, cclimber_state, 0, ROT0, "Orca", "River Patrol (Orca)", 0 )
-GAME( 1981, rpatrolb, rpatrol, cclimber, rpatrol, cclimber_state, 0, ROT0, "bootleg", "River Patrol (bootleg)", 0 )
-GAME( 1981, silvland, rpatrol, cclimber, rpatrol, cclimber_state, 0, ROT0, "Falcon", "Silver Land", 0 )
+GAME( 1981, rpatrol, 0, cclimber, rpatrol, driver_device, 0, ROT0, "Orca", "River Patrol (Orca)", 0 )
+GAME( 1981, rpatrolb, rpatrol, cclimber, rpatrol, driver_device, 0, ROT0, "bootleg", "River Patrol (bootleg)", 0 )
+GAME( 1981, silvland, rpatrol, cclimber, rpatrol, driver_device, 0, ROT0, "Falcon", "Silver Land", 0 )
// see pacman.c for parent
GAME( 1985, cannonb, cannonbp, cannonb, cannonb, cclimber_state, cannonb, ROT90, "bootleg (Soft)", "Cannon Ball (bootleg on Crazy Kong hardware) (set 1, buggy)" , GAME_IMPERFECT_GRAPHICS ) // bootleggers missed protection after bonus game
GAME( 1985, cannonb2, cannonbp, cannonb, cannonb, cclimber_state, cannonb2, ROT90, "bootleg (TV Game Gruenberg)", "Cannon Ball (bootleg on Crazy Kong hardware) (set 2, buggy)", 0 ) // bootleggers missed protection after bonus game
GAME( 1985, cannonb3, cannonbp, cannonb, cannonb, cclimber_state, cannonb2, ROT90, "bootleg (Soft)", "Cannon Ball (bootleg on Crazy Kong hardware) (set 3, no bonus game)", 0 ) // the bonus game is patched out, thus avoiding the protection issue
-GAME( 1982, swimmer, 0, swimmer, swimmer, cclimber_state, 0, ROT0, "Tehkan", "Swimmer (set 1)", 0 )
-GAME( 1982, swimmera, swimmer, swimmer, swimmer, cclimber_state, 0, ROT0, "Tehkan", "Swimmer (set 2)", 0 )
-GAME( 1982, swimmerb, swimmer, swimmer, swimmerb, cclimber_state, 0, ROT0, "Tehkan", "Swimmer (set 3)", 0 )
+GAME( 1982, swimmer, 0, swimmer, swimmer, driver_device, 0, ROT0, "Tehkan", "Swimmer (set 1)", 0 )
+GAME( 1982, swimmera, swimmer, swimmer, swimmer, driver_device, 0, ROT0, "Tehkan", "Swimmer (set 2)", 0 )
+GAME( 1982, swimmerb, swimmer, swimmer, swimmerb, driver_device, 0, ROT0, "Tehkan", "Swimmer (set 3)", 0 )
-GAME( 1983, guzzler, 0, swimmer, guzzler, cclimber_state, 0, ROT90, "Tehkan", "Guzzler", 0 )
-GAME( 1983, guzzlers, guzzler, swimmer, guzzler, cclimber_state, 0, ROT90, "Tehkan", "Guzzler (Swimmer Conversion)", 0 )
+GAME( 1983, guzzler, 0, swimmer, guzzler, driver_device, 0, ROT90, "Tehkan", "Guzzler", 0 )
+GAME( 1983, guzzlers, guzzler, swimmer, guzzler, driver_device, 0, ROT90, "Tehkan", "Guzzler (Swimmer Conversion)", 0 )
GAME( 1983, yamato, 0, yamato, yamato, cclimber_state, yamato, ROT90, "Sega", "Yamato (US)", GAME_IMPERFECT_GRAPHICS )
GAME( 1983, yamato2, yamato, yamato, yamato, cclimber_state, yamato, ROT90, "Sega", "Yamato (World?)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/cd32.c b/src/mame/drivers/cd32.c
index 14db47b43e7..654870bade1 100644
--- a/src/mame/drivers/cd32.c
+++ b/src/mame/drivers/cd32.c
@@ -837,9 +837,8 @@ ROM_END
/***************************************************************************************************/
-static DRIVER_INIT( cd32 )
+DRIVER_INIT_MEMBER(cd32_state,cd32)
{
- cd32_state *state = machine.driver_data<cd32_state>();
static const amiga_machine_interface cd32_intf =
{
AGA_CHIP_RAM_MASK,
@@ -851,14 +850,14 @@ static DRIVER_INIT( cd32 )
};
/* configure our Amiga setup */
- amiga_machine_config(machine, &cd32_intf);
+ amiga_machine_config(machine(), &cd32_intf);
/* set up memory */
- state->membank("bank1")->configure_entry(0, state->m_chip_ram);
- state->membank("bank1")->configure_entry(1, machine.root_device().memregion("user1")->base());
+ membank("bank1")->configure_entry(0, m_chip_ram);
+ membank("bank1")->configure_entry(1, machine().root_device().memregion("user1")->base());
/* input hack */
- state->m_input_hack = NULL;
+ m_input_hack = NULL;
}
/* BIOS */
@@ -1248,11 +1247,10 @@ static void cndypuzl_input_hack(running_machine &machine)
}
}
-static DRIVER_INIT(cndypuzl)
+DRIVER_INIT_MEMBER(cd32_state,cndypuzl)
{
- cd32_state *state = machine.driver_data<cd32_state>();
DRIVER_INIT_CALL(cd32);
- state->m_input_hack = cndypuzl_input_hack;
+ m_input_hack = cndypuzl_input_hack;
}
static void haremchl_input_hack(running_machine &machine)
@@ -1269,11 +1267,10 @@ static void haremchl_input_hack(running_machine &machine)
}
}
-static DRIVER_INIT(haremchl)
+DRIVER_INIT_MEMBER(cd32_state,haremchl)
{
- cd32_state *state = machine.driver_data<cd32_state>();
DRIVER_INIT_CALL(cd32);
- state->m_input_hack = haremchl_input_hack;
+ m_input_hack = haremchl_input_hack;
}
static void lsrquiz_input_hack(running_machine &machine)
@@ -1290,11 +1287,10 @@ static void lsrquiz_input_hack(running_machine &machine)
}
}
-static DRIVER_INIT(lsrquiz)
+DRIVER_INIT_MEMBER(cd32_state,lsrquiz)
{
- cd32_state *state = machine.driver_data<cd32_state>();
DRIVER_INIT_CALL(cd32);
- state->m_input_hack = lsrquiz_input_hack;
+ m_input_hack = lsrquiz_input_hack;
}
/* The hack isn't working if you exit the test mode with P1 button 2 ! */
@@ -1312,11 +1308,10 @@ static void lsrquiz2_input_hack(running_machine &machine)
}
}
-static DRIVER_INIT(lsrquiz2)
+DRIVER_INIT_MEMBER(cd32_state,lsrquiz2)
{
- cd32_state *state = machine.driver_data<cd32_state>();
DRIVER_INIT_CALL(cd32);
- state->m_input_hack = lsrquiz2_input_hack;
+ m_input_hack = lsrquiz2_input_hack;
}
static void lasstixx_input_hack(running_machine &machine)
@@ -1333,11 +1328,10 @@ static void lasstixx_input_hack(running_machine &machine)
}
}
-static DRIVER_INIT(lasstixx)
+DRIVER_INIT_MEMBER(cd32_state,lasstixx)
{
- cd32_state *state = machine.driver_data<cd32_state>();
DRIVER_INIT_CALL(cd32);
- state->m_input_hack = lasstixx_input_hack;
+ m_input_hack = lasstixx_input_hack;
}
static void mgnumber_input_hack(running_machine &machine)
@@ -1353,11 +1347,10 @@ static void mgnumber_input_hack(running_machine &machine)
}
}
-static DRIVER_INIT(mgnumber)
+DRIVER_INIT_MEMBER(cd32_state,mgnumber)
{
- cd32_state *state = machine.driver_data<cd32_state>();
DRIVER_INIT_CALL(cd32);
- state->m_input_hack = mgnumber_input_hack;
+ m_input_hack = mgnumber_input_hack;
}
static void mgprem11_input_hack(running_machine &machine)
@@ -1373,11 +1366,10 @@ static void mgprem11_input_hack(running_machine &machine)
}
}
-static DRIVER_INIT(mgprem11)
+DRIVER_INIT_MEMBER(cd32_state,mgprem11)
{
- cd32_state *state = machine.driver_data<cd32_state>();
DRIVER_INIT_CALL(cd32);
- state->m_input_hack = mgprem11_input_hack;
+ m_input_hack = mgprem11_input_hack;
}
static INPUT_PORTS_START( odeontw2 )
@@ -1456,9 +1448,8 @@ WRITE8_MEMBER (cd32_state::microtouch_tx)
amiga_serial_in_w(machine(), data);
}
-static DRIVER_INIT( odeontw2 )
+DRIVER_INIT_MEMBER(cd32_state,odeontw2)
{
- cd32_state *state = machine.driver_data<cd32_state>();
static const amiga_machine_interface cd32_intf =
{
AGA_CHIP_RAM_MASK,
@@ -1470,14 +1461,14 @@ static DRIVER_INIT( odeontw2 )
};
/* configure our Amiga setup */
- amiga_machine_config(machine, &cd32_intf);
+ amiga_machine_config(machine(), &cd32_intf);
/* set up memory */
- state->membank("bank1")->configure_entry(0, state->m_chip_ram);
- state->membank("bank1")->configure_entry(1, machine.root_device().memregion("user1")->base());
+ membank("bank1")->configure_entry(0, m_chip_ram);
+ membank("bank1")->configure_entry(1, machine().root_device().memregion("user1")->base());
/* input hack */
- state->m_input_hack = NULL;
+ m_input_hack = NULL;
}
/***************************************************************************************************/
diff --git a/src/mame/drivers/cdi.c b/src/mame/drivers/cdi.c
index acc07957c96..2cb301ba69c 100644
--- a/src/mame/drivers/cdi.c
+++ b/src/mame/drivers/cdi.c
@@ -605,22 +605,22 @@ ROM_END
*************************/
// BIOS / System
-CONS( 1991, cdimono1, 0, 0, cdimono1, cdi, cdi_state, 0, "Philips", "CD-i (Mono-I) (PAL)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE | GAME_IS_BIOS_ROOT )
+CONS( 1991, cdimono1, 0, 0, cdimono1, cdi, driver_device, 0, "Philips", "CD-i (Mono-I) (PAL)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE | GAME_IS_BIOS_ROOT )
// The Quizard games are RETAIL CD-i units, with additional JAMMA adapters & dongles for protection, hence being 'clones' of the system.
// Working
-GAME( 1995, quizrd12, cdimono1, quizrd12, quizard, cdi_state, 0, ROT0, "TAB Austria", "Quizard 1.2", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1995, quizrd17, cdimono1, quizrd17, quizard, cdi_state, 0, ROT0, "TAB Austria", "Quizard 1.7", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1995, quizrd22, cdimono1, quizrd22, quizard, cdi_state, 0, ROT0, "TAB Austria", "Quizard 2.2", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1995, quizrd12, cdimono1, quizrd12, quizard, driver_device, 0, ROT0, "TAB Austria", "Quizard 1.2", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1995, quizrd17, cdimono1, quizrd17, quizard, driver_device, 0, ROT0, "TAB Austria", "Quizard 1.7", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1995, quizrd22, cdimono1, quizrd22, quizard, driver_device, 0, ROT0, "TAB Austria", "Quizard 2.2", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1995, quizrd18, cdimono1, quizrd18, quizard, cdi_state, 0, ROT0, "TAB Austria", "Quizard 1.8", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1995, quizrd23, cdimono1, quizrd23, quizard, cdi_state, 0, ROT0, "TAB Austria", "Quizard 2.3", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1995, quizrd34, cdimono1, quizrd34, quizard, cdi_state, 0, ROT0, "TAB Austria", "Quizard 3.4", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1995, quizrd18, cdimono1, quizrd18, quizard, driver_device, 0, ROT0, "TAB Austria", "Quizard 1.8", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1995, quizrd23, cdimono1, quizrd23, quizard, driver_device, 0, ROT0, "TAB Austria", "Quizard 2.3", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1995, quizrd34, cdimono1, quizrd34, quizard, driver_device, 0, ROT0, "TAB Austria", "Quizard 3.4", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
// Partially working
-GAME( 1996, quizard, cdimono1, quizrd32, quizard, cdi_state, 0, ROT0, "TAB Austria", "Quizard 3.2", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1997, quizrr40, cdimono1, quizrr40, quizard, cdi_state, 0, ROT0, "TAB Austria", "Quizard Rainbow 4.0", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1998, quizrr41, cdimono1, quizrr41, quizard, cdi_state, 0, ROT0, "TAB Austria", "Quizard Rainbow 4.1", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1998, quizrr42, cdimono1, quizrr42, quizard, cdi_state, 0, ROT0, "TAB Austria", "Quizard Rainbow 4.2", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1996, quizard, cdimono1, quizrd32, quizard, driver_device, 0, ROT0, "TAB Austria", "Quizard 3.2", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1997, quizrr40, cdimono1, quizrr40, quizard, driver_device, 0, ROT0, "TAB Austria", "Quizard Rainbow 4.0", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1998, quizrr41, cdimono1, quizrr41, quizard, driver_device, 0, ROT0, "TAB Austria", "Quizard Rainbow 4.1", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1998, quizrr42, cdimono1, quizrr42, quizard, driver_device, 0, ROT0, "TAB Austria", "Quizard Rainbow 4.2", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c
index b227d5034a0..87e50d2a420 100644
--- a/src/mame/drivers/centiped.c
+++ b/src/mame/drivers/centiped.c
@@ -2178,18 +2178,17 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( bullsdrt )
+DRIVER_INIT_MEMBER(centiped_state,bullsdrt)
{
- centiped_state *state = machine.driver_data<centiped_state>();
- state->m_dsw_select = 0;
+ m_dsw_select = 0;
}
-static DRIVER_INIT( multiped )
+DRIVER_INIT_MEMBER(centiped_state,multiped)
{
- UINT8 *src = machine.root_device().memregion("user1")->base();
- UINT8 *dest = machine.root_device().memregion("maincpu")->base();
+ UINT8 *src = machine().root_device().memregion("user1")->base();
+ UINT8 *dest = machine().root_device().memregion("maincpu")->base();
// descramble rom and put in maincpu region
for (int i = 0; i < 0x10000; i++)
@@ -2208,19 +2207,19 @@ static DRIVER_INIT( multiped )
*
*************************************/
-GAME( 1980, centiped, 0, centiped, centiped, centiped_state, 0, ROT270, "Atari", "Centipede (revision 3)", GAME_SUPPORTS_SAVE)
-GAME( 1980, centiped2,centiped, centiped, centiped, centiped_state, 0, ROT270, "Atari", "Centipede (revision 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, centtime, centiped, centiped, centtime, centiped_state, 0, ROT270, "Atari", "Centipede (1 player, timed)", GAME_SUPPORTS_SAVE )
-GAME( 1980, centipdb, centiped, centipdb, centiped, centiped_state, 0, ROT270, "bootleg", "Centipede (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1989, centipdd, centiped, centiped, centiped, centiped_state, 0, ROT270, "hack (Two-Bit Score)", "Centipede Dux (hack)", GAME_SUPPORTS_SAVE )
-GAME( 1980, caterplr, centiped, caterplr, caterplr, centiped_state, 0, ROT270, "bootleg", "Caterpillar (bootleg of Centipede)", GAME_SUPPORTS_SAVE )
-GAME( 1980, millpac, centiped, centipdb, centiped, centiped_state, 0, ROT270, "bootleg? (Valadon Automation)", "Millpac (bootleg of Centipede)", GAME_SUPPORTS_SAVE )
-GAME( 1980, magworm, centiped, magworm, magworm, centiped_state, 0, ROT270, "bootleg", "Magic Worm (bootleg of Centipede)", GAME_SUPPORTS_SAVE )
-GAME( 1982, milliped, 0, milliped, milliped, centiped_state, 0, ROT270, "Atari", "Millipede", GAME_SUPPORTS_SAVE )
-GAME( 1989, millipdd, milliped, milliped, milliped, centiped_state, 0, ROT270, "hack (Two-Bit Score)", "Millipede Dux (hack)", GAME_SUPPORTS_SAVE )
+GAME( 1980, centiped, 0, centiped, centiped, driver_device, 0, ROT270, "Atari", "Centipede (revision 3)", GAME_SUPPORTS_SAVE)
+GAME( 1980, centiped2,centiped, centiped, centiped, driver_device, 0, ROT270, "Atari", "Centipede (revision 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, centtime, centiped, centiped, centtime, driver_device, 0, ROT270, "Atari", "Centipede (1 player, timed)", GAME_SUPPORTS_SAVE )
+GAME( 1980, centipdb, centiped, centipdb, centiped, driver_device, 0, ROT270, "bootleg", "Centipede (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1989, centipdd, centiped, centiped, centiped, driver_device, 0, ROT270, "hack (Two-Bit Score)", "Centipede Dux (hack)", GAME_SUPPORTS_SAVE )
+GAME( 1980, caterplr, centiped, caterplr, caterplr, driver_device, 0, ROT270, "bootleg", "Caterpillar (bootleg of Centipede)", GAME_SUPPORTS_SAVE )
+GAME( 1980, millpac, centiped, centipdb, centiped, driver_device, 0, ROT270, "bootleg? (Valadon Automation)", "Millpac (bootleg of Centipede)", GAME_SUPPORTS_SAVE )
+GAME( 1980, magworm, centiped, magworm, magworm, driver_device, 0, ROT270, "bootleg", "Magic Worm (bootleg of Centipede)", GAME_SUPPORTS_SAVE )
+GAME( 1982, milliped, 0, milliped, milliped, driver_device, 0, ROT270, "Atari", "Millipede", GAME_SUPPORTS_SAVE )
+GAME( 1989, millipdd, milliped, milliped, milliped, driver_device, 0, ROT270, "hack (Two-Bit Score)", "Millipede Dux (hack)", GAME_SUPPORTS_SAVE )
GAME( 2002, multiped, 0, multiped, multiped, centiped_state, multiped, ROT270, "hack (Braze Technologies)", "Multipede (Centipede/Millipede multigame kit)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1980, warlords, 0, warlords, warlords, centiped_state, 0, ROT0, "Atari", "Warlords", GAME_SUPPORTS_SAVE )
-GAME( 1981, mazeinv, 0, mazeinv, mazeinv, centiped_state, 0, ROT270, "Atari", "Maze Invaders (prototype)", 0 )
+GAME( 1980, warlords, 0, warlords, warlords, driver_device, 0, ROT0, "Atari", "Warlords", GAME_SUPPORTS_SAVE )
+GAME( 1981, mazeinv, 0, mazeinv, mazeinv, driver_device, 0, ROT270, "Atari", "Maze Invaders (prototype)", 0 )
GAME( 1985, bullsdrt, 0, bullsdrt, bullsdrt, centiped_state, bullsdrt, ROT270, "Shinkai Inc. (Magic Eletronics Inc. license)", "Bulls Eye Darts", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cesclass.c b/src/mame/drivers/cesclass.c
index 12bee9f6bca..a052aa1b77a 100644
--- a/src/mame/drivers/cesclass.c
+++ b/src/mame/drivers/cesclass.c
@@ -294,6 +294,6 @@ ROM_START(tsclass)
ROM_END
-GAME(1997, hrclass, 0, cesclassic, cesclassic, cesclassic_state, 0, ROT0, "Creative Electronics And Software", "Home Run Classic (v1.21 12-feb-1997)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME(1997, ccclass, 0, cesclassic, cesclassic, cesclassic_state, 0, ROT0, "Creative Electronics And Software", "Country Club Classic (v1.10 03-apr-1997)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME(1997, tsclass, 0, cesclassic, cesclassic, cesclassic_state, 0, ROT0, "Creative Electronics And Software", "Trap Shoot Classic (v1.0 21-mar-1997)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME(1997, hrclass, 0, cesclassic, cesclassic, driver_device, 0, ROT0, "Creative Electronics And Software", "Home Run Classic (v1.21 12-feb-1997)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME(1997, ccclass, 0, cesclassic, cesclassic, driver_device, 0, ROT0, "Creative Electronics And Software", "Country Club Classic (v1.10 03-apr-1997)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME(1997, tsclass, 0, cesclassic, cesclassic, driver_device, 0, ROT0, "Creative Electronics And Software", "Trap Shoot Classic (v1.0 21-mar-1997)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/chaknpop.c b/src/mame/drivers/chaknpop.c
index 9dc96a1ab6d..cc41bfd4a05 100644
--- a/src/mame/drivers/chaknpop.c
+++ b/src/mame/drivers/chaknpop.c
@@ -441,4 +441,4 @@ ROM_END
/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME ) */
-GAME( 1983, chaknpop, 0, chaknpop, chaknpop, chaknpop_state, 0, ROT0, "Taito Corporation", "Chack'n Pop", 0 )
+GAME( 1983, chaknpop, 0, chaknpop, chaknpop, driver_device, 0, ROT0, "Taito Corporation", "Chack'n Pop", 0 )
diff --git a/src/mame/drivers/cham24.c b/src/mame/drivers/cham24.c
index 798e94364c2..07fbbab99b0 100644
--- a/src/mame/drivers/cham24.c
+++ b/src/mame/drivers/cham24.c
@@ -83,6 +83,7 @@ public:
DECLARE_READ8_MEMBER(psg_4015_r);
DECLARE_WRITE8_MEMBER(psg_4015_w);
DECLARE_WRITE8_MEMBER(psg_4017_w);
+ DECLARE_DRIVER_INIT(cham24);
};
@@ -331,7 +332,7 @@ static MACHINE_START( cham24 )
machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff,read8_delegate(FUNC(cham24_state::nt_r), state), write8_delegate(FUNC(cham24_state::nt_w), state));
}
-static DRIVER_INIT( cham24 )
+DRIVER_INIT_MEMBER(cham24_state,cham24)
{
}
diff --git a/src/mame/drivers/champbas.c b/src/mame/drivers/champbas.c
index b63b1dcaf52..3d07fde35b5 100644
--- a/src/mame/drivers/champbas.c
+++ b/src/mame/drivers/champbas.c
@@ -1186,12 +1186,12 @@ ROM_END
*
*************************************/
-static DRIVER_INIT(champbas)
+DRIVER_INIT_MEMBER(champbas_state,champbas)
{
// chars and sprites are mixed in the same ROMs, so rearrange them for easier decoding
- UINT8 *rom1 = machine.root_device().memregion("gfx1")->base();
- UINT8 *rom2 = machine.root_device().memregion("gfx2")->base();
- int len = machine.root_device().memregion("gfx1")->bytes();
+ UINT8 *rom1 = machine().root_device().memregion("gfx1")->base();
+ UINT8 *rom2 = machine().root_device().memregion("gfx2")->base();
+ int len = machine().root_device().memregion("gfx1")->bytes();
int i;
for (i = 0; i < len/2; ++i)
@@ -1203,11 +1203,11 @@ static DRIVER_INIT(champbas)
}
-static DRIVER_INIT( exctsccr )
+DRIVER_INIT_MEMBER(champbas_state,exctsccr)
{
// chars and sprites are mixed in the same ROMs, so rearrange them for easier decoding
- UINT8 *rom1 = machine.root_device().memregion("gfx1")->base();
- UINT8 *rom2 = machine.root_device().memregion("gfx2")->base();
+ UINT8 *rom1 = machine().root_device().memregion("gfx1")->base();
+ UINT8 *rom2 = machine().root_device().memregion("gfx2")->base();
int i;
// planes 0,1
@@ -1238,7 +1238,7 @@ static DRIVER_INIT( exctsccr )
*
*************************************/
-GAME( 1982, talbot, 0, talbot, talbot, champbas_state, 0, ROT270, "Alpha Denshi Co. (Volt Electronics license)", "Talbot", GAME_SUPPORTS_SAVE )
+GAME( 1982, talbot, 0, talbot, talbot, driver_device, 0, ROT270, "Alpha Denshi Co. (Volt Electronics license)", "Talbot", GAME_SUPPORTS_SAVE )
GAME( 1983, champbas, 0, champbas, champbas, champbas_state, champbas, ROT0, "Alpha Denshi Co. (Sega license)", "Champion Base Ball", GAME_SUPPORTS_SAVE )
GAME( 1983, champbasj, champbas, champmcu, champbas, champbas_state, champbas, ROT0, "Alpha Denshi Co.", "Champion Base Ball (Japan set 1)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/champbwl.c b/src/mame/drivers/champbwl.c
index 39fbd701cd9..a053ac94e4f 100644
--- a/src/mame/drivers/champbwl.c
+++ b/src/mame/drivers/champbwl.c
@@ -690,5 +690,5 @@ ROM_START( doraemon )
ROM_LOAD( "u27-01.bin", 0x00200, 0x200, CRC(66245fc7) SHA1(c94d9dce7b557c21a3dc1f3f8a1b29594715c994) )
ROM_END
-GAME( ????, doraemon, 0, doraemon, doraemon, champbwl_state, 0, ROT0, "Sunsoft / Epoch", "Doraemon no Eawase Montage (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1989, champbwl, 0, champbwl, champbwl, champbwl_state, 0, ROT270, "Seta / Romstar Inc.", "Championship Bowling", GAME_SUPPORTS_SAVE )
+GAME( ????, doraemon, 0, doraemon, doraemon, driver_device, 0, ROT0, "Sunsoft / Epoch", "Doraemon no Eawase Montage (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1989, champbwl, 0, champbwl, champbwl, driver_device, 0, ROT270, "Seta / Romstar Inc.", "Championship Bowling", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/chanbara.c b/src/mame/drivers/chanbara.c
index 1a47ff201ad..a115069a998 100644
--- a/src/mame/drivers/chanbara.c
+++ b/src/mame/drivers/chanbara.c
@@ -85,6 +85,7 @@ public:
DECLARE_WRITE8_MEMBER(chanbara_colorram2_w);
DECLARE_WRITE8_MEMBER(chanbara_ay_out_0_w);
DECLARE_WRITE8_MEMBER(chanbara_ay_out_1_w);
+ DECLARE_DRIVER_INIT(chanbara);
};
@@ -469,11 +470,11 @@ ROM_START( chanbara )
ROM_END
-static DRIVER_INIT(chanbara )
+DRIVER_INIT_MEMBER(chanbara_state,chanbara)
{
- UINT8 *src = machine.root_device().memregion("gfx4")->base();
- UINT8 *dst = machine.root_device().memregion("gfx3")->base() + 0x4000;
- UINT8 *bg = machine.root_device().memregion("user1")->base();
+ UINT8 *src = machine().root_device().memregion("gfx4")->base();
+ UINT8 *dst = machine().root_device().memregion("gfx3")->base() + 0x4000;
+ UINT8 *bg = machine().root_device().memregion("user1")->base();
int i;
for (i = 0; i < 0x1000; i++)
@@ -484,7 +485,7 @@ static DRIVER_INIT(chanbara )
dst[i + 0x2000] = (src[i + 0x1000] & 0x0f) << 4;
}
- machine.root_device().membank("bank1")->configure_entries(0, 2, &bg[0x0000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, &bg[0x0000], 0x4000);
}
GAME( 1985, chanbara, 0, chanbara, chanbara, chanbara_state, chanbara, ROT270, "Data East", "Chanbara", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/chance32.c b/src/mame/drivers/chance32.c
index 521fcdbb9c2..96640f4a4ad 100644
--- a/src/mame/drivers/chance32.c
+++ b/src/mame/drivers/chance32.c
@@ -538,4 +538,4 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 19??, chance32, 0, chance32, chance32, chance32_state, 0, ROT0, "PAL System Co, Ltd.", "Chance Thirty Two", 0, layout_chance32 )
+GAMEL( 19??, chance32, 0, chance32, chance32, driver_device, 0, ROT0, "PAL System Co, Ltd.", "Chance Thirty Two", 0, layout_chance32 )
diff --git a/src/mame/drivers/changela.c b/src/mame/drivers/changela.c
index 7976993824f..b48172365f7 100644
--- a/src/mame/drivers/changela.c
+++ b/src/mame/drivers/changela.c
@@ -572,4 +572,4 @@ ROM_START( changela )
ROM_LOAD( "cl88", 0x0000, 0x0020, CRC(da4d6625) SHA1(2d9a268973518252eb36f479ab650af8c16c885c) ) /* math train state machine */
ROM_END
-GAMEL( 1983, changela, 0, changela, changela, changela_state, 0, ROT180, "Taito Corporation", "Change Lanes", GAME_SUPPORTS_SAVE, layout_changela )
+GAMEL( 1983, changela, 0, changela, changela, driver_device, 0, ROT180, "Taito Corporation", "Change Lanes", GAME_SUPPORTS_SAVE, layout_changela )
diff --git a/src/mame/drivers/cheekyms.c b/src/mame/drivers/cheekyms.c
index 456f058de27..8a8d801577d 100644
--- a/src/mame/drivers/cheekyms.c
+++ b/src/mame/drivers/cheekyms.c
@@ -188,4 +188,4 @@ ROM_END
-GAME( 1980, cheekyms, 0, cheekyms, cheekyms, cheekyms_state, 0, ROT270, "Universal", "Cheeky Mouse", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, cheekyms, 0, cheekyms, cheekyms, driver_device, 0, ROT270, "Universal", "Cheeky Mouse", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/chihiro.c b/src/mame/drivers/chihiro.c
index 2105ae353c2..6cec7e04cce 100644
--- a/src/mame/drivers/chihiro.c
+++ b/src/mame/drivers/chihiro.c
@@ -2082,18 +2082,18 @@ ROM_END
-GAME( 2002, chihiro, 0, chihiro_base, chihiro, chihiro_state, 0, ROT0, "Sega", "Chihiro Bios", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
-GAME( 2002, hotd3, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Sega", "The House of the Dead III (GDX-0001)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2003, crtaxihr, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Sega", "Crazy Taxi High Roller (Rev B) (GDX-0002B)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2003, vcop3, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Sega", "Virtua Cop 3 (Rev A) (GDX-0003A)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2003, outr2, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Sega", "Out Run 2 (Rev A) (GDX-0004A)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2004, mj2, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Sega", "Sega Network Taisen Mahjong MJ 2 (Rev C) (GDX-0006C)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2004, ollie, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Sega", "Ollie King (GDX-0007)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2004, wangmid, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Namco", "Wangan Midnight Maximum Tune (Export) (Rev B) (GDX-0009B)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2004, ghostsqu, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Sega", "Ghost Squad (Rev A) (GDX-0012A)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2005, gundamos, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Banpresto", "Gundam Battle Operating Simulator (GDX-0013)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2004, outr2st, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Sega", "Out Run 2 Special Tours (Rev A) (GDX-0014A)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2005, wangmid2, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Namco", "Wangan Midnight Maximum Tune 2 (Export) (GDX-0015)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2005, wangmd2b, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Namco", "Wangan Midnight Maximum Tune 2 (Japan) (Rev A) (GDX-0016A)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2005, mj3, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Sega", "Sega Network Taisen Mahjong MJ 3 (Rev D) (GDX-0017D)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2005, scg06nt, chihiro, chihirogd, chihiro, chihiro_state, 0, ROT0, "Sega", "Sega Club Golf 2006 Next Tours (Rev A) (GDX-0018A)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2002, chihiro, 0, chihiro_base, chihiro, driver_device, 0, ROT0, "Sega", "Chihiro Bios", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
+GAME( 2002, hotd3, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Sega", "The House of the Dead III (GDX-0001)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2003, crtaxihr, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Sega", "Crazy Taxi High Roller (Rev B) (GDX-0002B)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2003, vcop3, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Sega", "Virtua Cop 3 (Rev A) (GDX-0003A)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2003, outr2, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Sega", "Out Run 2 (Rev A) (GDX-0004A)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2004, mj2, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Sega", "Sega Network Taisen Mahjong MJ 2 (Rev C) (GDX-0006C)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2004, ollie, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Sega", "Ollie King (GDX-0007)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2004, wangmid, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Namco", "Wangan Midnight Maximum Tune (Export) (Rev B) (GDX-0009B)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2004, ghostsqu, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Sega", "Ghost Squad (Rev A) (GDX-0012A)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2005, gundamos, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Banpresto", "Gundam Battle Operating Simulator (GDX-0013)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2004, outr2st, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Sega", "Out Run 2 Special Tours (Rev A) (GDX-0014A)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2005, wangmid2, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Namco", "Wangan Midnight Maximum Tune 2 (Export) (GDX-0015)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2005, wangmd2b, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Namco", "Wangan Midnight Maximum Tune 2 (Japan) (Rev A) (GDX-0016A)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2005, mj3, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Sega", "Sega Network Taisen Mahjong MJ 3 (Rev D) (GDX-0017D)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2005, scg06nt, chihiro, chihirogd, chihiro, driver_device, 0, ROT0, "Sega", "Sega Club Golf 2006 Next Tours (Rev A) (GDX-0018A)", GAME_NO_SOUND|GAME_NOT_WORKING )
diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c
index 6d294e9f6d6..592b4055ea4 100644
--- a/src/mame/drivers/chinagat.c
+++ b/src/mame/drivers/chinagat.c
@@ -909,18 +909,17 @@ ROM_START( saiyugoub2 )
ROM_END
-static DRIVER_INIT( chinagat )
+DRIVER_INIT_MEMBER(ddragon_state,chinagat)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
- UINT8 *MAIN = state->memregion("maincpu")->base();
- UINT8 *SUB = state->memregion("sub")->base();
+ UINT8 *MAIN = memregion("maincpu")->base();
+ UINT8 *SUB = memregion("sub")->base();
- state->m_technos_video_hw = 1;
- state->m_sprite_irq = M6809_IRQ_LINE;
- state->m_sound_irq = INPUT_LINE_NMI;
+ m_technos_video_hw = 1;
+ m_sprite_irq = M6809_IRQ_LINE;
+ m_sound_irq = INPUT_LINE_NMI;
- state->membank("bank1")->configure_entries(0, 6, &MAIN[0x10000], 0x4000);
- state->membank("bank4")->configure_entries(0, 6, &SUB[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 6, &MAIN[0x10000], 0x4000);
+ membank("bank4")->configure_entries(0, 6, &SUB[0x10000], 0x4000);
}
diff --git a/src/mame/drivers/chinsan.c b/src/mame/drivers/chinsan.c
index 850663263c7..74ad78f2358 100644
--- a/src/mame/drivers/chinsan.c
+++ b/src/mame/drivers/chinsan.c
@@ -70,6 +70,7 @@ public:
DECLARE_WRITE8_MEMBER(ym_port_w1);
DECLARE_WRITE8_MEMBER(ym_port_w2);
DECLARE_WRITE8_MEMBER(chin_adpcm_w);
+ DECLARE_DRIVER_INIT(chinsan);
};
@@ -677,9 +678,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( chinsan )
+DRIVER_INIT_MEMBER(chinsan_state,chinsan)
{
- mc8123_decrypt_rom(machine, "maincpu", "user1", "bank1", 4);
+ mc8123_decrypt_rom(machine(), "maincpu", "user1", "bank1", 4);
}
diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c
index 50b1309461a..aec3d9cd7f0 100644
--- a/src/mame/drivers/chqflag.c
+++ b/src/mame/drivers/chqflag.c
@@ -471,5 +471,5 @@ ROM_END
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
-GAMEL( 1988, chqflag, 0, chqflag, chqflag, chqflag_state, 0, ROT90, "Konami", "Chequered Flag", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_chqflag )
-GAMEL( 1988, chqflagj, chqflag, chqflag, chqflagj, chqflag_state, 0, ROT90, "Konami", "Chequered Flag (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_chqflag )
+GAMEL( 1988, chqflag, 0, chqflag, chqflag, driver_device, 0, ROT90, "Konami", "Chequered Flag", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_chqflag )
+GAMEL( 1988, chqflagj, chqflag, chqflag, chqflagj, driver_device, 0, ROT90, "Konami", "Chequered Flag (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_chqflag )
diff --git a/src/mame/drivers/chsuper.c b/src/mame/drivers/chsuper.c
index 9c0fb5f3692..c7f541316d6 100644
--- a/src/mame/drivers/chsuper.c
+++ b/src/mame/drivers/chsuper.c
@@ -44,6 +44,10 @@ protected:
//virtual void machine_reset();
virtual void video_start();
+public:
+ DECLARE_DRIVER_INIT(chsuper3);
+ DECLARE_DRIVER_INIT(chmpnum);
+ DECLARE_DRIVER_INIT(chsuper2);
};
@@ -263,22 +267,21 @@ ROM_START( chmpnum )
ROM_COPY( "maincpu", 0x10000, 0x00000, 0x70000 )
ROM_END
-static DRIVER_INIT( chsuper2 )
+DRIVER_INIT_MEMBER(chsuper_state,chsuper2)
{
- chsuper_state *state = machine.driver_data<chsuper_state>();
UINT8 *buffer;
- UINT8 *rom = state->memregion("gfx1")->base();
+ UINT8 *rom = memregion("gfx1")->base();
int i;
- state->m_tilexor = 0x7f00;
+ m_tilexor = 0x7f00;
- buffer = auto_alloc_array(machine, UINT8, 0x100000);
+ buffer = auto_alloc_array(machine(), UINT8, 0x100000);
for (i=0;i<0x100000;i++)
{
int j;
- j = i ^ (state->m_tilexor << 5);
+ j = i ^ (m_tilexor << 5);
buffer[j] = rom[i];
}
@@ -286,22 +289,21 @@ static DRIVER_INIT( chsuper2 )
memcpy(rom,buffer,0x100000);
}
-static DRIVER_INIT( chsuper3 )
+DRIVER_INIT_MEMBER(chsuper_state,chsuper3)
{
- chsuper_state *state = machine.driver_data<chsuper_state>();
UINT8 *buffer;
- UINT8 *rom = state->memregion("gfx1")->base();
+ UINT8 *rom = memregion("gfx1")->base();
int i;
- state->m_tilexor = 0x0e00;
+ m_tilexor = 0x0e00;
- buffer = auto_alloc_array(machine, UINT8, 0x100000);
+ buffer = auto_alloc_array(machine(), UINT8, 0x100000);
for (i=0;i<0x100000;i++)
{
int j;
- j = i ^ (state->m_tilexor << 5);
+ j = i ^ (m_tilexor << 5);
buffer[j] = rom[i];
}
@@ -309,22 +311,21 @@ static DRIVER_INIT( chsuper3 )
memcpy(rom,buffer,0x100000);
}
-static DRIVER_INIT( chmpnum )
+DRIVER_INIT_MEMBER(chsuper_state,chmpnum)
{
- chsuper_state *state = machine.driver_data<chsuper_state>();
UINT8 *buffer;
- UINT8 *rom = state->memregion("gfx1")->base();
+ UINT8 *rom = memregion("gfx1")->base();
int i;
- state->m_tilexor = 0x1800;
+ m_tilexor = 0x1800;
- buffer = auto_alloc_array(machine, UINT8, 0x100000);
+ buffer = auto_alloc_array(machine(), UINT8, 0x100000);
for (i=0;i<0x100000;i++)
{
int j;
- j = i ^ (state->m_tilexor << 5);
+ j = i ^ (m_tilexor << 5);
j = BITSWAP24(j,23,22,21,20,19,18,17,13, 15,14,16,12, 11,10,9,8, 7,6,5,4, 3,2,1,0);
j = BITSWAP24(j,23,22,21,20,19,18,17,14, 15,16,13,12, 11,10,9,8, 7,6,5,4, 3,2,1,0);
diff --git a/src/mame/drivers/cidelsa.c b/src/mame/drivers/cidelsa.c
index 8d3897cea9d..e69b11e93ab 100644
--- a/src/mame/drivers/cidelsa.c
+++ b/src/mame/drivers/cidelsa.c
@@ -572,7 +572,7 @@ ROM_END
/* Game Drivers */
-GAME( 1980, destryer, 0, destryer, destryer, cidelsa_state, 0, ROT90, "Cidelsa", "Destroyer (Cidelsa) (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, destryera,destryer, destryera,destryer, cidelsa_state, 0, ROT90, "Cidelsa", "Destroyer (Cidelsa) (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, altair, 0, altair, altair, cidelsa_state, 0, ROT90, "Cidelsa", "Altair", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, draco, 0, draco, draco, draco_state, 0, ROT90, "Cidelsa", "Draco", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1980, destryer, 0, destryer, destryer, driver_device, 0, ROT90, "Cidelsa", "Destroyer (Cidelsa) (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, destryera,destryer, destryera,destryer, driver_device, 0, ROT90, "Cidelsa", "Destroyer (Cidelsa) (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, altair, 0, altair, altair, driver_device, 0, ROT90, "Cidelsa", "Altair", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, draco, 0, draco, draco, driver_device, 0, ROT90, "Cidelsa", "Draco", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cinemat.c b/src/mame/drivers/cinemat.c
index 219975dfaa6..51e2be8547d 100644
--- a/src/mame/drivers/cinemat.c
+++ b/src/mame/drivers/cinemat.c
@@ -1450,44 +1450,39 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( speedfrk )
+DRIVER_INIT_MEMBER(cinemat_state,speedfrk)
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- state->m_gear = 0xe;
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x03, read8_delegate(FUNC(cinemat_state::speedfrk_wheel_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x04, 0x06, read8_delegate(FUNC(cinemat_state::speedfrk_gear_r),state));
+ m_gear = 0xe;
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x03, read8_delegate(FUNC(cinemat_state::speedfrk_wheel_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x04, 0x06, read8_delegate(FUNC(cinemat_state::speedfrk_gear_r),this));
}
-static DRIVER_INIT( sundance )
+DRIVER_INIT_MEMBER(cinemat_state,sundance)
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x0f, read8_delegate(FUNC(cinemat_state::sundance_inputs_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x0f, read8_delegate(FUNC(cinemat_state::sundance_inputs_r),this));
}
-static DRIVER_INIT( tailg )
+DRIVER_INIT_MEMBER(cinemat_state,tailg)
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x07, 0x07, write8_delegate(FUNC(cinemat_state::mux_select_w),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x07, 0x07, write8_delegate(FUNC(cinemat_state::mux_select_w),this));
}
-static DRIVER_INIT( boxingb )
+DRIVER_INIT_MEMBER(cinemat_state,boxingb)
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x0c, 0x0f, read8_delegate(FUNC(cinemat_state::boxingb_dial_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x07, 0x07, write8_delegate(FUNC(cinemat_state::mux_select_w),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x0c, 0x0f, read8_delegate(FUNC(cinemat_state::boxingb_dial_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x07, 0x07, write8_delegate(FUNC(cinemat_state::mux_select_w),this));
}
-static DRIVER_INIT( qb3 )
+DRIVER_INIT_MEMBER(cinemat_state,qb3)
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x0f, 0x0f, read8_delegate(FUNC(cinemat_state::qb3_frame_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x00, 0x00, write8_delegate(FUNC(cinemat_state::qb3_ram_bank_w),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x0f, 0x0f, read8_delegate(FUNC(cinemat_state::qb3_frame_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x00, 0x00, write8_delegate(FUNC(cinemat_state::qb3_ram_bank_w),this));
- state->membank("bank1")->configure_entries(0, 4, state->m_rambase, 0x100*2);
+ membank("bank1")->configure_entries(0, 4, m_rambase, 0x100*2);
}
@@ -1498,27 +1493,27 @@ static DRIVER_INIT( qb3 )
*
*************************************/
-GAME( 1977, spacewar, 0, spacewar, spacewar, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Space Wars", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1978, spaceshp, spacewar,spacewar, spaceshp, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics (Sega license)", "Space Ship", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, barrier, 0, barrier, barrier, cinemat_state, 0, ORIENTATION_FLIP_X ^ ROT270, "Vectorbeam", "Barrier", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1977, spacewar, 0, spacewar, spacewar, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Space Wars", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1978, spaceshp, spacewar,spacewar, spaceshp, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics (Sega license)", "Space Ship", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, barrier, 0, barrier, barrier, driver_device, 0, ORIENTATION_FLIP_X ^ ROT270, "Vectorbeam", "Barrier", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1979, speedfrk, 0, speedfrk, speedfrk, cinemat_state, speedfrk, ORIENTATION_FLIP_Y, "Vectorbeam", "Speed Freak", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, starhawk, 0, starhawk, starhawk, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Hawk", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, starhawk, 0, starhawk, starhawk, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Hawk", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAMEL(1979, sundance, 0, sundance, sundance, cinemat_state, sundance, ORIENTATION_FLIP_X ^ ROT270, "Cinematronics", "Sundance", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_voffff20 )
GAMEL(1979, tailg, 0, tailg, tailg, cinemat_state, tailg, ORIENTATION_FLIP_Y, "Cinematronics", "Tailgunner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_ho20ffff )
-GAME( 1979, warrior, 0, warrior, warrior, cinemat_state, 0, ORIENTATION_FLIP_Y, "Vectorbeam", "Warrior", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAMEL(1980, armora, 0, armora, armora, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Armor Attack", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_armora )
-GAMEL(1980, armorap, armora, armora, armora, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Armor Attack (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_armora )
-GAMEL(1980, armorar, armora, armora, armora, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics (Rock-Ola license)", "Armor Attack (Rock-Ola)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_armora )
-GAME( 1980, ripoff, 0, ripoff, ripoff, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Rip Off", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAMEL(1980, starcas, 0, starcas, starcas, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Castle (version 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1980, starcas1, starcas, starcas, starcas, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Castle (older)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1980, starcasp, starcas, starcas, starcas, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Castle (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1980, starcase, starcas, starcas, starcas, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics (Mottoeis license)", "Star Castle (Mottoeis)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1980, stellcas, starcas, starcas, starcas, cinemat_state, 0, ORIENTATION_FLIP_Y, "bootleg (Elettronolo)", "Stellar Castle (Elettronolo)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1981, spaceftr, starcas, starcas, starcas, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics (Zaccaria license)", "Space Fortress (Zaccaria)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1981, solarq, 0, solarq, solarq, cinemat_state, 0, ORIENTATION_FLIP_Y ^ ORIENTATION_FLIP_X, "Cinematronics", "Solar Quest", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_solarq )
+GAME( 1979, warrior, 0, warrior, warrior, driver_device, 0, ORIENTATION_FLIP_Y, "Vectorbeam", "Warrior", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAMEL(1980, armora, 0, armora, armora, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Armor Attack", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_armora )
+GAMEL(1980, armorap, armora, armora, armora, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Armor Attack (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_armora )
+GAMEL(1980, armorar, armora, armora, armora, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics (Rock-Ola license)", "Armor Attack (Rock-Ola)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_armora )
+GAME( 1980, ripoff, 0, ripoff, ripoff, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Rip Off", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAMEL(1980, starcas, 0, starcas, starcas, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Castle (version 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
+GAMEL(1980, starcas1, starcas, starcas, starcas, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Castle (older)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
+GAMEL(1980, starcasp, starcas, starcas, starcas, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Castle (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
+GAMEL(1980, starcase, starcas, starcas, starcas, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics (Mottoeis license)", "Star Castle (Mottoeis)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
+GAMEL(1980, stellcas, starcas, starcas, starcas, driver_device, 0, ORIENTATION_FLIP_Y, "bootleg (Elettronolo)", "Stellar Castle (Elettronolo)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
+GAMEL(1981, spaceftr, starcas, starcas, starcas, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics (Zaccaria license)", "Space Fortress (Zaccaria)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
+GAMEL(1981, solarq, 0, solarq, solarq, driver_device, 0, ORIENTATION_FLIP_Y ^ ORIENTATION_FLIP_X, "Cinematronics", "Solar Quest", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_solarq )
GAME( 1981, boxingb, 0, boxingb, boxingb, cinemat_state, boxingb, ORIENTATION_FLIP_Y, "Cinematronics", "Boxing Bugs", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, wotw, 0, wotw, wotw, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics", "War of the Worlds", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, wotwc, wotw, wotwc, wotw, cinemat_state, 0, ORIENTATION_FLIP_Y, "Cinematronics", "War of the Worlds (color)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, demon, 0, demon, demon, cinemat_state, 0, ORIENTATION_FLIP_Y, "Rock-Ola", "Demon", GAME_SUPPORTS_SAVE )
+GAME( 1981, wotw, 0, wotw, wotw, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics", "War of the Worlds", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, wotwc, wotw, wotwc, wotw, driver_device, 0, ORIENTATION_FLIP_Y, "Cinematronics", "War of the Worlds (color)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, demon, 0, demon, demon, driver_device, 0, ORIENTATION_FLIP_Y, "Rock-Ola", "Demon", GAME_SUPPORTS_SAVE )
GAME( 1982, qb3, 0, qb3, qb3, cinemat_state, qb3, ORIENTATION_FLIP_Y, "Rock-Ola", "QB-3 (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/circus.c b/src/mame/drivers/circus.c
index 3274ef66574..0e9cd6e29fc 100644
--- a/src/mame/drivers/circus.c
+++ b/src/mame/drivers/circus.c
@@ -567,26 +567,22 @@ ROM_START( ripcord )
ROM_END
-static DRIVER_INIT( circus )
+DRIVER_INIT_MEMBER(circus_state,circus)
{
- circus_state *state = machine.driver_data<circus_state>();
- state->m_game_id = 1;
+ m_game_id = 1;
}
-static DRIVER_INIT( robotbwl )
+DRIVER_INIT_MEMBER(circus_state,robotbwl)
{
- circus_state *state = machine.driver_data<circus_state>();
- state->m_game_id = 2;
+ m_game_id = 2;
}
-static DRIVER_INIT( crash )
+DRIVER_INIT_MEMBER(circus_state,crash)
{
- circus_state *state = machine.driver_data<circus_state>();
- state->m_game_id = 3;
+ m_game_id = 3;
}
-static DRIVER_INIT( ripcord )
+DRIVER_INIT_MEMBER(circus_state,ripcord)
{
- circus_state *state = machine.driver_data<circus_state>();
- state->m_game_id = 4;
+ m_game_id = 4;
}
diff --git a/src/mame/drivers/circusc.c b/src/mame/drivers/circusc.c
index 5d1ccf6ee37..5d34d258967 100644
--- a/src/mame/drivers/circusc.c
+++ b/src/mame/drivers/circusc.c
@@ -546,9 +546,9 @@ ROM_START( circusce ) /* Version P */
ROM_END
-static DRIVER_INIT( circusc )
+DRIVER_INIT_MEMBER(circusc_state,circusc)
{
- konami1_decode(machine, "maincpu");
+ konami1_decode(machine(), "maincpu");
}
diff --git a/src/mame/drivers/cischeat.c b/src/mame/drivers/cischeat.c
index 56fbc2bb32d..20657e6260a 100644
--- a/src/mame/drivers/cischeat.c
+++ b/src/mame/drivers/cischeat.c
@@ -1934,10 +1934,10 @@ ROM_START( bigrun )
ROM_LOAD( "br8951b.23", 0x000000, 0x010000, CRC(b9474fec) SHA1(f1f0eab014e8f52572484b83f56189e0ff6f2b0d) ) // 000xxxxxxxxxxxxx
ROM_END
-static DRIVER_INIT( bigrun )
+DRIVER_INIT_MEMBER(cischeat_state,bigrun)
{
- cischeat_untangle_sprites(machine, "gfx4"); // Untangle sprites
- phantasm_rom_decode(machine, "soundcpu"); // Decrypt sound cpu code
+ cischeat_untangle_sprites(machine(), "gfx4"); // Untangle sprites
+ phantasm_rom_decode(machine(), "soundcpu"); // Decrypt sound cpu code
}
@@ -2053,10 +2053,10 @@ ROM_START( cischeat )
ROM_LOAD( "ch9072.03", 0x000000, 0x040000, CRC(7e79151a) SHA1(5a305cff8600446be426641ce112208b379094b9) )
ROM_END
-static DRIVER_INIT( cischeat )
+DRIVER_INIT_MEMBER(cischeat_state,cischeat)
{
- cischeat_untangle_sprites(machine, "gfx4"); // Untangle sprites
- astyanax_rom_decode(machine, "soundcpu"); // Decrypt sound cpu code
+ cischeat_untangle_sprites(machine(), "gfx4"); // Untangle sprites
+ astyanax_rom_decode(machine(), "soundcpu"); // Decrypt sound cpu code
}
@@ -2267,9 +2267,9 @@ ROM_START( f1gpstar )
ROM_LOAD( "pr90015b", 0x000000, 0x000100, CRC(be240dac) SHA1(6203b73c1a5e09e525380a78b555c3818929d5eb) ) // FIXED BITS (000xxxxx000xxxx1)
ROM_END
-static DRIVER_INIT( f1gpstar )
+DRIVER_INIT_MEMBER(cischeat_state,f1gpstar)
{
- cischeat_untangle_sprites(machine, "gfx4");
+ cischeat_untangle_sprites(machine(), "gfx4");
}
@@ -2479,10 +2479,9 @@ ROM_START( wildplt )
ROM_LOAD( "pr90015b.bin", 0x000000, 0x0100, CRC(be240dac) SHA1(6203b73c1a5e09e525380a78b555c3818929d5eb) )
ROM_END
-static DRIVER_INIT( wildplt )
+DRIVER_INIT_MEMBER(cischeat_state,wildplt)
{
- cischeat_state *state = machine.driver_data<cischeat_state>();
- machine.device("cpu1")->memory().space(AS_PROGRAM)->install_read_handler(0x080000, 0x087fff, read16_delegate(FUNC(cischeat_state::wildplt_vregs_r),state));
+ machine().device("cpu1")->memory().space(AS_PROGRAM)->install_read_handler(0x080000, 0x087fff, read16_delegate(FUNC(cischeat_state::wildplt_vregs_r),this));
DRIVER_INIT_CALL(f1gpstar);
}
@@ -3004,8 +3003,8 @@ ROM_END
GAMEL( 1989, bigrun, 0, bigrun, bigrun, cischeat_state, bigrun, ROT0, "Jaleco", "Big Run (11th Rallye version)", GAME_IMPERFECT_GRAPHICS, layout_cischeat ) // there's a 13th Rallye version (1991)
GAMEL( 1990, cischeat, 0, cischeat, cischeat, cischeat_state, cischeat, ROT0, "Jaleco", "Cisco Heat", GAME_IMPERFECT_GRAPHICS, layout_cischeat )
GAMEL( 1991, f1gpstar, 0, f1gpstar, f1gpstar, cischeat_state, f1gpstar, ROT0, "Jaleco", "Grand Prix Star", GAME_IMPERFECT_GRAPHICS, layout_f1gpstar )
-GAME ( 1992, armchmp2, 0, armchmp2, armchmp2, cischeat_state, 0, ROT270, "Jaleco", "Arm Champs II v2.6", GAME_IMPERFECT_GRAPHICS )
-GAME ( 1992, armchmp2o,armchmp2, armchmp2, armchmp2, cischeat_state, 0, ROT270, "Jaleco", "Arm Champs II v1.7", GAME_IMPERFECT_GRAPHICS )
+GAME ( 1992, armchmp2, 0, armchmp2, armchmp2, driver_device, 0, ROT270, "Jaleco", "Arm Champs II v2.6", GAME_IMPERFECT_GRAPHICS )
+GAME ( 1992, armchmp2o,armchmp2, armchmp2, armchmp2, driver_device, 0, ROT270, "Jaleco", "Arm Champs II v1.7", GAME_IMPERFECT_GRAPHICS )
GAME ( 1992, wildplt, 0, f1gpstr2, wildplt, cischeat_state, wildplt, ROT0, "Jaleco", "Wild Pilot", GAME_IMPERFECT_GRAPHICS )
GAMEL( 1993, f1gpstr2, 0, f1gpstr2, f1gpstar, cischeat_state, f1gpstar, ROT0, "Jaleco", "F-1 Grand Prix Star II", GAME_IMPERFECT_GRAPHICS, layout_f1gpstar )
-GAME ( 1994, scudhamm, 0, scudhamm, scudhamm, cischeat_state, 0, ROT270, "Jaleco", "Scud Hammer", GAME_IMPERFECT_GRAPHICS )
+GAME ( 1994, scudhamm, 0, scudhamm, scudhamm, driver_device, 0, ROT270, "Jaleco", "Scud Hammer", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/citycon.c b/src/mame/drivers/citycon.c
index 0a95e81b03c..9793556643f 100644
--- a/src/mame/drivers/citycon.c
+++ b/src/mame/drivers/citycon.c
@@ -336,9 +336,9 @@ ROM_END
-static DRIVER_INIT( citycon )
+DRIVER_INIT_MEMBER(citycon_state,citycon)
{
- UINT8 *rom = machine.root_device().memregion("gfx1")->base();
+ UINT8 *rom = machine().root_device().memregion("gfx1")->base();
int i;
/*
diff --git a/src/mame/drivers/clayshoo.c b/src/mame/drivers/clayshoo.c
index e86ded12e29..401cb1c7deb 100644
--- a/src/mame/drivers/clayshoo.c
+++ b/src/mame/drivers/clayshoo.c
@@ -373,4 +373,4 @@ ROM_END
*
*************************************/
-GAME( 1979, clayshoo, 0, clayshoo, clayshoo, clayshoo_state, 0, ROT0, "Allied Leisure", "Clay Shoot", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, clayshoo, 0, clayshoo, clayshoo, driver_device, 0, ROT0, "Allied Leisure", "Clay Shoot", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cliffhgr.c b/src/mame/drivers/cliffhgr.c
index 97d2b1ce522..a93dd9ec20e 100644
--- a/src/mame/drivers/cliffhgr.c
+++ b/src/mame/drivers/cliffhgr.c
@@ -109,6 +109,7 @@ public:
DECLARE_WRITE8_MEMBER(cliff_ldwire_w);
DECLARE_WRITE8_MEMBER(cliff_sound_overlay_w);
DECLARE_WRITE_LINE_MEMBER(vdp_interrupt);
+ DECLARE_DRIVER_INIT(cliff);
};
@@ -773,7 +774,7 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( cliff )
+DRIVER_INIT_MEMBER(cliffhgr_state,cliff)
{
}
diff --git a/src/mame/drivers/cloak.c b/src/mame/drivers/cloak.c
index 9a66a3aa9dd..67a1886df6c 100644
--- a/src/mame/drivers/cloak.c
+++ b/src/mame/drivers/cloak.c
@@ -618,11 +618,11 @@ ROM_END
*
*************************************/
-GAME( 1983, cloak, 0, cloak, cloak, cloak_state, 0, ROT0, "Atari", "Cloak & Dagger (rev 5)", GAME_SUPPORTS_SAVE )
-GAME( 1983, cloaksp, cloak, cloak, cloak, cloak_state, 0, ROT0, "Atari", "Cloak & Dagger (Spanish)", GAME_SUPPORTS_SAVE )
-GAME( 1983, cloakfr, cloak, cloak, cloak, cloak_state, 0, ROT0, "Atari", "Cloak & Dagger (French)", GAME_SUPPORTS_SAVE )
-GAME( 1983, cloakgr, cloak, cloak, cloak, cloak_state, 0, ROT0, "Atari", "Cloak & Dagger (German)", GAME_SUPPORTS_SAVE )
-GAME( 1983, agentx4, cloak, cloak, cloak, cloak_state, 0, ROT0, "Atari", "Agent X (prototype, rev 4)", GAME_SUPPORTS_SAVE )
-GAME( 1983, agentx3, cloak, cloak, cloak, cloak_state, 0, ROT0, "Atari", "Agent X (prototype, rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1983, agentx2, cloak, cloak, cloak, cloak_state, 0, ROT0, "Atari", "Agent X (prototype, rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, agentx1, cloak, cloak, cloak, cloak_state, 0, ROT0, "Atari", "Agent X (prototype, rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, cloak, 0, cloak, cloak, driver_device, 0, ROT0, "Atari", "Cloak & Dagger (rev 5)", GAME_SUPPORTS_SAVE )
+GAME( 1983, cloaksp, cloak, cloak, cloak, driver_device, 0, ROT0, "Atari", "Cloak & Dagger (Spanish)", GAME_SUPPORTS_SAVE )
+GAME( 1983, cloakfr, cloak, cloak, cloak, driver_device, 0, ROT0, "Atari", "Cloak & Dagger (French)", GAME_SUPPORTS_SAVE )
+GAME( 1983, cloakgr, cloak, cloak, cloak, driver_device, 0, ROT0, "Atari", "Cloak & Dagger (German)", GAME_SUPPORTS_SAVE )
+GAME( 1983, agentx4, cloak, cloak, cloak, driver_device, 0, ROT0, "Atari", "Agent X (prototype, rev 4)", GAME_SUPPORTS_SAVE )
+GAME( 1983, agentx3, cloak, cloak, cloak, driver_device, 0, ROT0, "Atari", "Agent X (prototype, rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1983, agentx2, cloak, cloak, cloak, driver_device, 0, ROT0, "Atari", "Agent X (prototype, rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, agentx1, cloak, cloak, cloak, driver_device, 0, ROT0, "Atari", "Agent X (prototype, rev 1)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cloud9.c b/src/mame/drivers/cloud9.c
index 69452507148..553be06292d 100644
--- a/src/mame/drivers/cloud9.c
+++ b/src/mame/drivers/cloud9.c
@@ -515,5 +515,5 @@ ROM_END
*
*************************************/
-GAME( 1983, cloud9, 0, cloud9, cloud9, cloud9_state, 0, ROT0, "Atari", "Cloud 9 (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1983, firebeas, 0, cloud9, firebeas, cloud9_state, 0, ROT0, "Atari", "Firebeast (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1983, cloud9, 0, cloud9, cloud9, driver_device, 0, ROT0, "Atari", "Cloud 9 (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1983, firebeas, 0, cloud9, firebeas, driver_device, 0, ROT0, "Atari", "Firebeast (prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/clshroad.c b/src/mame/drivers/clshroad.c
index e76d4176f61..e464ae96084 100644
--- a/src/mame/drivers/clshroad.c
+++ b/src/mame/drivers/clshroad.c
@@ -461,7 +461,7 @@ ROM_START( clshroadd )
ROM_LOAD( "clashrd.g7", 0x0100, 0x0100, CRC(4017a2a6) SHA1(dadef2de7a1119758c8e6d397aa42815b0218889) ) /* high 4 bits */
ROM_END
-static DRIVER_INIT ( firebatl )
+DRIVER_INIT_MEMBER(clshroad_state,firebatl)
{
/*
Pugsy> firebatl:0:05C6:C3:100:Fix the Game:It's a hack but seems to make it work!
@@ -472,7 +472,7 @@ without this the death sequence never ends so the game is unplayable after you
die once, it would be nice to avoid the hack however
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x05C6] = 0xc3;
ROM[0x05C7] = 0x8d;
@@ -480,6 +480,6 @@ die once, it would be nice to avoid the hack however
}
GAME( 1984, firebatl, 0, firebatl, firebatl, clshroad_state, firebatl, ROT90, "Taito", "Fire Battle", GAME_IMPERFECT_GRAPHICS )
-GAME( 1986, clshroad, 0, clshroad, clshroad, clshroad_state, 0, ROT0, "Wood Place Inc.", "Clash-Road", 0 )
-GAME( 1986, clshroads,clshroad, clshroad, clshroad, clshroad_state, 0, ROT0, "Wood Place Inc. (Status Game Corp. license)", "Clash-Road (Status license)", 0 )
-GAME( 1986, clshroadd,clshroad, clshroad, clshroad, clshroad_state, 0, ROT0, "Wood Place Inc. (Data East license)", "Clash-Road (Data East license)", 0 )
+GAME( 1986, clshroad, 0, clshroad, clshroad, driver_device, 0, ROT0, "Wood Place Inc.", "Clash-Road", 0 )
+GAME( 1986, clshroads,clshroad, clshroad, clshroad, driver_device, 0, ROT0, "Wood Place Inc. (Status Game Corp. license)", "Clash-Road (Status license)", 0 )
+GAME( 1986, clshroadd,clshroad, clshroad, clshroad, driver_device, 0, ROT0, "Wood Place Inc. (Data East license)", "Clash-Road (Data East license)", 0 )
diff --git a/src/mame/drivers/cmmb.c b/src/mame/drivers/cmmb.c
index 311439519d9..c75a00cbdc9 100644
--- a/src/mame/drivers/cmmb.c
+++ b/src/mame/drivers/cmmb.c
@@ -352,4 +352,4 @@ ROM_START( cmmb162 )
ROM_REGION( 0x1000, "gfx", ROMREGION_ERASE00 )
ROM_END
-GAME( 2002, cmmb162, 0, cmmb, cmmb, cmmb_state, 0, ROT270, "Cosmodog / Team Play (Licensed from Infogrames via Midway Games West)", "Multipede (rev 1.62)", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2002, cmmb162, 0, cmmb, cmmb, driver_device, 0, ROT270, "Cosmodog / Team Play (Licensed from Infogrames via Midway Games West)", "Multipede (rev 1.62)", GAME_NO_SOUND|GAME_NOT_WORKING )
diff --git a/src/mame/drivers/cninja.c b/src/mame/drivers/cninja.c
index d3052154d60..06a36aeb67c 100644
--- a/src/mame/drivers/cninja.c
+++ b/src/mame/drivers/cninja.c
@@ -2093,50 +2093,48 @@ static void cninja_patch( running_machine &machine )
/**********************************************************************************/
-static DRIVER_INIT( cninja )
+DRIVER_INIT_MEMBER(cninja_state,cninja)
{
- cninja_state *state = machine.driver_data<cninja_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1bc0a8, 0x1bc0a9, write16_delegate(FUNC(cninja_state::cninja_sound_w),state));
- cninja_patch(machine);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1bc0a8, 0x1bc0a9, write16_delegate(FUNC(cninja_state::cninja_sound_w),this));
+ cninja_patch(machine());
}
-static DRIVER_INIT( stoneage )
+DRIVER_INIT_MEMBER(cninja_state,stoneage)
{
- cninja_state *state = machine.driver_data<cninja_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1bc0a8, 0x1bc0a9, write16_delegate(FUNC(cninja_state::stoneage_sound_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1bc0a8, 0x1bc0a9, write16_delegate(FUNC(cninja_state::stoneage_sound_w),this));
}
-static DRIVER_INIT( mutantf )
+DRIVER_INIT_MEMBER(cninja_state,mutantf)
{
- const UINT8 *src = machine.root_device().memregion("gfx2")->base();
- UINT8 *dst = machine.root_device().memregion("gfx1")->base();
+ const UINT8 *src = machine().root_device().memregion("gfx2")->base();
+ UINT8 *dst = machine().root_device().memregion("gfx1")->base();
/* The 16x16 graphic has some 8x8 chars in it - decode them in GFX1 */
memcpy(dst + 0x50000, dst + 0x10000, 0x10000);
memcpy(dst + 0x10000, src, 0x40000);
memcpy(dst + 0x60000, src + 0x40000, 0x40000);
- deco56_decrypt_gfx(machine, "gfx1");
- deco56_decrypt_gfx(machine, "gfx2");
+ deco56_decrypt_gfx(machine(), "gfx1");
+ deco56_decrypt_gfx(machine(), "gfx2");
}
/**********************************************************************************/
-GAME( 1990, edrandy, 0, edrandy, edrandy, cninja_state, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World ver 3)", GAME_SUPPORTS_SAVE )
-GAME( 1990, edrandy2, edrandy, edrandy, edrandc, cninja_state, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World ver 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, edrandy1, edrandy, edrandy, edrandc, cninja_state, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World ver 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, edrandyj, edrandy, edrandy, edrandc, cninja_state, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (Japan ver 3)", GAME_SUPPORTS_SAVE )
+GAME( 1990, edrandy, 0, edrandy, edrandy, driver_device, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World ver 3)", GAME_SUPPORTS_SAVE )
+GAME( 1990, edrandy2, edrandy, edrandy, edrandc, driver_device, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World ver 2)", GAME_SUPPORTS_SAVE )
+GAME( 1990, edrandy1, edrandy, edrandy, edrandc, driver_device, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World ver 1)", GAME_SUPPORTS_SAVE )
+GAME( 1990, edrandyj, edrandy, edrandy, edrandc, driver_device, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (Japan ver 3)", GAME_SUPPORTS_SAVE )
GAME( 1991, cninja, 0, cninja, cninja, cninja_state, cninja, ROT0, "Data East Corporation", "Caveman Ninja (World ver 4)", GAME_SUPPORTS_SAVE )
GAME( 1991, cninja1, cninja, cninja, cninja, cninja_state, cninja, ROT0, "Data East Corporation", "Caveman Ninja (World ver 1)", GAME_SUPPORTS_SAVE )
GAME( 1991, cninjaa, cninja, cninja, cninja, cninja_state, cninja, ROT0, "Data East Corporation", "Caveman Ninja (alternate)", GAME_SUPPORTS_SAVE )
GAME( 1991, cninjau, cninja, cninja, cninjau, cninja_state, cninja, ROT0, "Data East Corporation", "Caveman Ninja (US ver 4)", GAME_SUPPORTS_SAVE )
GAME( 1991, joemac, cninja, cninja, cninja, cninja_state, cninja, ROT0, "Data East Corporation", "Tatakae Genshizin Joe & Mac (Japan ver 1)", GAME_SUPPORTS_SAVE )
GAME( 1991, stoneage, cninja, stoneage, cninja, cninja_state, stoneage, ROT0, "bootleg", "Stoneage (bootleg of Caveman Ninja)", GAME_SUPPORTS_SAVE )
-GAME( 1991, cninjabl, cninja, cninjabl, cninja, cninja_state, 0, ROT0, "bootleg", "Caveman Ninja (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1991, cninjabl2,cninja, cninjabl, cninja, cninja_state, 0, ROT0, "bootleg", "Caveman Ninja (bootleg, alt)", GAME_NOT_WORKING )
-GAME( 1991, robocop2, 0, robocop2, robocop2, cninja_state,0, ROT0, "Data East Corporation", "Robocop 2 (Euro/Asia v0.10)", GAME_SUPPORTS_SAVE )
-GAME( 1991, robocop2u,robocop2,robocop2, robocop2, cninja_state,0, ROT0, "Data East Corporation", "Robocop 2 (US v0.05)", GAME_SUPPORTS_SAVE )
-GAME( 1991, robocop2j,robocop2,robocop2, robocop2, cninja_state,0, ROT0, "Data East Corporation", "Robocop 2 (Japan v0.11)", GAME_SUPPORTS_SAVE )
+GAME( 1991, cninjabl, cninja, cninjabl, cninja, driver_device, 0, ROT0, "bootleg", "Caveman Ninja (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1991, cninjabl2,cninja, cninjabl, cninja, driver_device, 0, ROT0, "bootleg", "Caveman Ninja (bootleg, alt)", GAME_NOT_WORKING )
+GAME( 1991, robocop2, 0, robocop2, robocop2, driver_device,0, ROT0, "Data East Corporation", "Robocop 2 (Euro/Asia v0.10)", GAME_SUPPORTS_SAVE )
+GAME( 1991, robocop2u,robocop2,robocop2, robocop2, driver_device,0, ROT0, "Data East Corporation", "Robocop 2 (US v0.05)", GAME_SUPPORTS_SAVE )
+GAME( 1991, robocop2j,robocop2,robocop2, robocop2, driver_device,0, ROT0, "Data East Corporation", "Robocop 2 (Japan v0.11)", GAME_SUPPORTS_SAVE )
GAME( 1992, mutantf, 0, mutantf, mutantf, cninja_state, mutantf, ROT0, "Data East Corporation", "Mutant Fighter (World ver EM-5)", GAME_SUPPORTS_SAVE )
GAME( 1992, mutantf4, mutantf, mutantf, mutantf, cninja_state, mutantf, ROT0, "Data East Corporation", "Mutant Fighter (World ver EM-4)", GAME_SUPPORTS_SAVE )
GAME( 1992, mutantf3, mutantf, mutantf, mutantf, cninja_state, mutantf, ROT0, "Data East Corporation", "Mutant Fighter (World ver EM-3)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cntsteer.c b/src/mame/drivers/cntsteer.c
index 035daad7e9e..1007a066953 100644
--- a/src/mame/drivers/cntsteer.c
+++ b/src/mame/drivers/cntsteer.c
@@ -80,6 +80,7 @@ public:
DECLARE_READ8_MEMBER(cntsteer_adx_r);
DECLARE_WRITE8_MEMBER(nmimask_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(zerotrgt);
};
@@ -1162,22 +1163,22 @@ static void zerotrgt_rearrange_gfx( running_machine &machine, int romsize, int r
}
#if 0
-static DRIVER_INIT( cntsteer )
+DRIVER_INIT_MEMBER(cntsteer_state,cntsteer)
{
- UINT8 *RAM = machine.root_device().memregion("subcpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("subcpu")->base();
RAM[0xc2cf] = 0x43; /* Patch out Cpu 1 ram test - it never ends..?! */
RAM[0xc2d0] = 0x43;
RAM[0xc2f1] = 0x43;
RAM[0xc2f2] = 0x43;
- zerotrgt_rearrange_gfx(machine, 0x02000, 0x10000);
+ zerotrgt_rearrange_gfx(machine(), 0x02000, 0x10000);
}
#endif
-static DRIVER_INIT( zerotrgt )
+DRIVER_INIT_MEMBER(cntsteer_state,zerotrgt)
{
- zerotrgt_rearrange_gfx(machine, 0x02000, 0x10000);
+ zerotrgt_rearrange_gfx(machine(), 0x02000, 0x10000);
}
diff --git a/src/mame/drivers/cobra.c b/src/mame/drivers/cobra.c
index 3a8edf0a5e5..e1f270cc116 100644
--- a/src/mame/drivers/cobra.c
+++ b/src/mame/drivers/cobra.c
@@ -481,6 +481,9 @@ public:
int m_gfx_fifo_loopback;
int m_gfx_unknown_v1;
int m_gfx_status_byte;
+ DECLARE_DRIVER_INIT(racjamdx);
+ DECLARE_DRIVER_INIT(bujutsu);
+ DECLARE_DRIVER_INIT(cobra);
};
void cobra_renderer::render_color_scan(INT32 scanline, const extent_t &extent, const cobra_polydata &extradata, int threadid)
@@ -2519,42 +2522,41 @@ MACHINE_CONFIG_END
/*****************************************************************************/
-static DRIVER_INIT(cobra)
+DRIVER_INIT_MEMBER(cobra_state,cobra)
{
- cobra_state *cobra = machine.driver_data<cobra_state>();
- cobra->m_gfxfifo_in = auto_alloc(machine, cobra_fifo(machine, 8192, "GFXFIFO_IN", GFXFIFO_IN_VERBOSE != 0));
- cobra->m_gfxfifo_out = auto_alloc(machine, cobra_fifo(machine, 8192, "GFXFIFO_IN", GFXFIFO_OUT_VERBOSE != 0));
- cobra->m_m2sfifo = auto_alloc(machine, cobra_fifo(machine, 2048, "M2SFIFO", M2SFIFO_VERBOSE != 0));
- cobra->m_s2mfifo = auto_alloc(machine, cobra_fifo(machine, 2048, "S2MFIFO", S2MFIFO_VERBOSE != 0));
+ m_gfxfifo_in = auto_alloc(machine(), cobra_fifo(machine(), 8192, "GFXFIFO_IN", GFXFIFO_IN_VERBOSE != 0));
+ m_gfxfifo_out = auto_alloc(machine(), cobra_fifo(machine(), 8192, "GFXFIFO_IN", GFXFIFO_OUT_VERBOSE != 0));
+ m_m2sfifo = auto_alloc(machine(), cobra_fifo(machine(), 2048, "M2SFIFO", M2SFIFO_VERBOSE != 0));
+ m_s2mfifo = auto_alloc(machine(), cobra_fifo(machine(), 2048, "S2MFIFO", S2MFIFO_VERBOSE != 0));
- ppc_set_dcstore_callback(cobra->m_gfxcpu, gfx_cpu_dc_store);
+ ppc_set_dcstore_callback(m_gfxcpu, gfx_cpu_dc_store);
- ppc4xx_set_dma_read_handler(cobra->m_subcpu, 0, sub_unknown_dma_r);
- ppc4xx_set_dma_write_handler(cobra->m_subcpu, 0, sub_unknown_dma_w);
+ ppc4xx_set_dma_read_handler(m_subcpu, 0, sub_unknown_dma_r);
+ ppc4xx_set_dma_write_handler(m_subcpu, 0, sub_unknown_dma_w);
- cobra->m_comram[0] = auto_alloc_array(machine, UINT32, 0x40000/4);
- cobra->m_comram[1] = auto_alloc_array(machine, UINT32, 0x40000/4);
+ m_comram[0] = auto_alloc_array(machine(), UINT32, 0x40000/4);
+ m_comram[1] = auto_alloc_array(machine(), UINT32, 0x40000/4);
- cobra->m_comram_page = 0;
+ m_comram_page = 0;
// setup fake pagetable until we figure out what really maps there...
- //cobra->m_gfx_pagetable[0x80 / 8] = U64(0x800001001e0001a8);
- cobra->m_gfx_pagetable[0x80 / 8] = U64(0x80000100200001a8); // should this map to 0x1e000000?
+ //m_gfx_pagetable[0x80 / 8] = U64(0x800001001e0001a8);
+ m_gfx_pagetable[0x80 / 8] = U64(0x80000100200001a8); // should this map to 0x1e000000?
}
-static DRIVER_INIT(bujutsu)
+DRIVER_INIT_MEMBER(cobra_state,bujutsu)
{
DRIVER_INIT_CALL(cobra);
// rom hacks for sub board...
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user2")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user2")->base();
rom[0x62094 / 4] = 0x60000000; // skip hardcheck()...
}
@@ -2565,7 +2567,7 @@ static DRIVER_INIT(bujutsu)
int i;
UINT32 sum = 0;
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user3")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user3")->base();
rom[(0x022d4^4) / 4] = 0x60000000; // skip init_raster() for now ...
@@ -2586,7 +2588,7 @@ static DRIVER_INIT(bujutsu)
// fill in M48T58 data for now...
{
- UINT8 *rom = (UINT8*)machine.root_device().memregion("m48t58")->base();
+ UINT8 *rom = (UINT8*)machine().root_device().memregion("m48t58")->base();
rom[0x00] = 0x47; // G
rom[0x02] = 0x36; // 6
rom[0x03] = 0x34; // 4
@@ -2608,13 +2610,13 @@ static DRIVER_INIT(bujutsu)
}
}
-static DRIVER_INIT(racjamdx)
+DRIVER_INIT_MEMBER(cobra_state,racjamdx)
{
DRIVER_INIT_CALL(cobra);
// rom hacks for sub board...
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user2")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user2")->base();
rom[0x62094 / 4] = 0x60000000; // skip hardcheck()...
rom[0x62ddc / 4] = 0x60000000; // skip lanc_hardcheck()
@@ -2640,7 +2642,7 @@ static DRIVER_INIT(racjamdx)
int i;
UINT32 sum = 0;
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user3")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user3")->base();
rom[(0x02448^4) / 4] = 0x60000000; // skip init_raster() for now ...
@@ -2662,7 +2664,7 @@ static DRIVER_INIT(racjamdx)
// fill in M48T58 data for now...
{
- UINT8 *rom = (UINT8*)machine.root_device().memregion("m48t58")->base();
+ UINT8 *rom = (UINT8*)machine().root_device().memregion("m48t58")->base();
rom[0x00] = 0x47; // G
rom[0x01] = 0x59; // Y
rom[0x02] = 0x36; // 6
diff --git a/src/mame/drivers/coinmstr.c b/src/mame/drivers/coinmstr.c
index 72eac876d2e..21f89ba71ad 100644
--- a/src/mame/drivers/coinmstr.c
+++ b/src/mame/drivers/coinmstr.c
@@ -52,6 +52,7 @@ public:
DECLARE_READ8_MEMBER(question_r);
DECLARE_WRITE8_MEMBER(question_w);
DECLARE_READ8_MEMBER(ff_r);
+ DECLARE_DRIVER_INIT(coinmstr);
};
@@ -1223,11 +1224,11 @@ ROM_START( jpcoin )
ROM_LOAD( "4.bin", 0x4000, 0x004000, CRC(2bac1c0b) SHA1(3e45fc38ed6d332e1d49b2b66bf8001610f914c5) ) // 1ST AND 2ND HALF IDENTICAL
ROM_END
-static DRIVER_INIT( coinmstr )
+DRIVER_INIT_MEMBER(coinmstr_state,coinmstr)
{
- UINT8 *rom = machine.root_device().memregion("user1")->base();
- int length = machine.root_device().memregion("user1")->bytes();
- UINT8 *buf = auto_alloc_array(machine, UINT8, length);
+ UINT8 *rom = machine().root_device().memregion("user1")->base();
+ int length = machine().root_device().memregion("user1")->bytes();
+ UINT8 *buf = auto_alloc_array(machine(), UINT8, length);
int i;
memcpy(buf,rom,length);
@@ -1238,7 +1239,7 @@ static DRIVER_INIT( coinmstr )
rom[i] = BITSWAP8(buf[adr],3,2,4,1,5,0,6,7);
}
- auto_free(machine, buf);
+ auto_free(machine(), buf);
}
@@ -1247,5 +1248,5 @@ static DRIVER_INIT( coinmstr )
GAME( 1985, quizmstr, 0, quizmstr, quizmstr, coinmstr_state, coinmstr, ROT0, "Loewen Spielautomaten", "Quizmaster (German)", GAME_UNEMULATED_PROTECTION )
GAME( 1987, trailblz, 0, trailblz, trailblz, coinmstr_state, coinmstr, ROT0, "Coinmaster", "Trail Blazer", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING ) // or Trail Blazer 2 ?
GAME( 1989, supnudg2, 0, supnudg2, supnudg2, coinmstr_state, coinmstr, ROT0, "Coinmaster", "Super Nudger II (Version 5.21)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1990, pokeroul, 0, pokeroul, pokeroul, coinmstr_state, 0, ROT0, "Coinmaster", "Poker Roulette (Version 8.22)", GAME_NOT_WORKING )
-GAME( 1990, jpcoin, 0, pokeroul, pokeroul, coinmstr_state, 0, ROT0, "Coinmaster", "Joker Poker (Coinmaster)", GAME_NOT_WORKING ) // io stuff is different at least
+GAME( 1990, pokeroul, 0, pokeroul, pokeroul, driver_device, 0, ROT0, "Coinmaster", "Poker Roulette (Version 8.22)", GAME_NOT_WORKING )
+GAME( 1990, jpcoin, 0, pokeroul, pokeroul, driver_device, 0, ROT0, "Coinmaster", "Joker Poker (Coinmaster)", GAME_NOT_WORKING ) // io stuff is different at least
diff --git a/src/mame/drivers/coinmvga.c b/src/mame/drivers/coinmvga.c
index 1ac877b1540..298cb7f8e37 100644
--- a/src/mame/drivers/coinmvga.c
+++ b/src/mame/drivers/coinmvga.c
@@ -232,6 +232,8 @@ public:
DECLARE_WRITE16_MEMBER(ramdac_bg_w);
DECLARE_WRITE16_MEMBER(ramdac_fg_w);
DECLARE_READ16_MEMBER(test_r);
+ DECLARE_DRIVER_INIT(colorama);
+ DECLARE_DRIVER_INIT(cmrltv75);
};
@@ -869,10 +871,10 @@ ROM_END
* Driver Init *
*************************/
-static DRIVER_INIT( colorama )
+DRIVER_INIT_MEMBER(coinmvga_state,colorama)
{
UINT16 *ROM;
- ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// rte in non-irq routines? wtf? patch them to rts...
ROM[0x02B476/2] = 0x5470;
@@ -886,10 +888,10 @@ static DRIVER_INIT( colorama )
ROM[0x02a94e/2] = 0x5470;
}
-static DRIVER_INIT( cmrltv75 )
+DRIVER_INIT_MEMBER(coinmvga_state,cmrltv75)
{
UINT16 *ROM;
- ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// rte in non-irq routines? wtf? patch them to rts...
ROM[0x056fd6/2] = 0x5470;
@@ -908,5 +910,5 @@ static DRIVER_INIT( cmrltv75 )
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
GAME( 2001, colorama, 0, coinmvga, coinmvga, coinmvga_state, colorama, ROT0, "Coinmaster-Gaming, Ltd.", "Colorama (English)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING )
GAME( 2001, cmrltv75, 0, coinmvga, coinmvga, coinmvga_state, cmrltv75, ROT90, "Coinmaster-Gaming, Ltd.", "Coinmaster Roulette V75 (Y2K, Spanish)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2000, cmkenosp, 0, coinmvga, coinmvga, coinmvga_state, 0, ROT90, "Coinmaster-Gaming, Ltd.", "Coinmaster Keno (Y2K, Spanish, 2000-12-14)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2000, cmkenospa, cmkenosp, coinmvga, coinmvga, coinmvga_state, 0, ROT90, "Coinmaster-Gaming, Ltd.", "Coinmaster Keno (Y2K, Spanish, 2000-12-02)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2000, cmkenosp, 0, coinmvga, coinmvga, driver_device, 0, ROT90, "Coinmaster-Gaming, Ltd.", "Coinmaster Keno (Y2K, Spanish, 2000-12-14)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2000, cmkenospa, cmkenosp, coinmvga, coinmvga, driver_device, 0, ROT90, "Coinmaster-Gaming, Ltd.", "Coinmaster Keno (Y2K, Spanish, 2000-12-02)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/combatsc.c b/src/mame/drivers/combatsc.c
index 48333609c67..ea2f38793ce 100644
--- a/src/mame/drivers/combatsc.c
+++ b/src/mame/drivers/combatsc.c
@@ -993,10 +993,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( combatsc )
+DRIVER_INIT_MEMBER(combatsc_state,combatsc)
{
/* joystick instead of trackball */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x0404, 0x0404, "IN1");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x0404, 0x0404, "IN1");
}
@@ -1007,7 +1007,7 @@ static DRIVER_INIT( combatsc )
*************************************/
GAME( 1988, combatsc, 0, combatsc, combatsc, combatsc_state, combatsc, ROT0, "Konami", "Combat School (joystick)", 0 )
-GAME( 1987, combatsct, combatsc, combatsc, combatsct, combatsc_state, 0, ROT0, "Konami", "Combat School (trackball)", 0 )
-GAME( 1987, combatscj, combatsc, combatsc, combatsct, combatsc_state, 0, ROT0, "Konami", "Combat School (Japan trackball)", 0 )
-GAME( 1987, bootcamp, combatsc, combatsc, combatsct, combatsc_state, 0, ROT0, "Konami", "Boot Camp", 0 )
-GAME( 1988, combatscb, combatsc, combatscb, combatscb, combatsc_state, 0, ROT0, "bootleg", "Combat School (bootleg)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+GAME( 1987, combatsct, combatsc, combatsc, combatsct, driver_device, 0, ROT0, "Konami", "Combat School (trackball)", 0 )
+GAME( 1987, combatscj, combatsc, combatsc, combatsct, driver_device, 0, ROT0, "Konami", "Combat School (Japan trackball)", 0 )
+GAME( 1987, bootcamp, combatsc, combatsc, combatsct, driver_device, 0, ROT0, "Konami", "Boot Camp", 0 )
+GAME( 1988, combatscb, combatsc, combatscb, combatscb, driver_device, 0, ROT0, "bootleg", "Combat School (bootleg)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/comebaby.c b/src/mame/drivers/comebaby.c
index 175dfdd31cd..fdafde94653 100644
--- a/src/mame/drivers/comebaby.c
+++ b/src/mame/drivers/comebaby.c
@@ -127,4 +127,4 @@ ROM_START(comebaby)
ROM_END
-GAME( 2000, comebaby, 0, comebaby, comebaby, comebaby_state, 0, ROT0, "ExPotato", "Come On Baby", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 2000, comebaby, 0, comebaby, comebaby, driver_device, 0, ROT0, "ExPotato", "Come On Baby", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/commando.c b/src/mame/drivers/commando.c
index 5b54add39fb..a87ee545c2a 100644
--- a/src/mame/drivers/commando.c
+++ b/src/mame/drivers/commando.c
@@ -514,11 +514,11 @@ ROM_END
/* Driver Initialization */
-static DRIVER_INIT( commando )
+DRIVER_INIT_MEMBER(commando_state,commando)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, 0xc000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, 0xc000);
int A;
space->set_decrypted_region(0x0000, 0xbfff, decrypt);
@@ -534,11 +534,11 @@ static DRIVER_INIT( commando )
}
}
-static DRIVER_INIT( spaceinv )
+DRIVER_INIT_MEMBER(commando_state,spaceinv)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, 0xc000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, 0xc000);
int A;
space->set_decrypted_region(0x0000, 0xbfff, decrypt);
diff --git a/src/mame/drivers/compgolf.c b/src/mame/drivers/compgolf.c
index 29d18d0c791..b7e0000ab8a 100644
--- a/src/mame/drivers/compgolf.c
+++ b/src/mame/drivers/compgolf.c
@@ -356,10 +356,10 @@ static void compgolf_expand_bg(running_machine &machine)
}
}
-static DRIVER_INIT( compgolf )
+DRIVER_INIT_MEMBER(compgolf_state,compgolf)
{
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("user1")->base(), 0x4000);
- compgolf_expand_bg(machine);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("user1")->base(), 0x4000);
+ compgolf_expand_bg(machine());
}
diff --git a/src/mame/drivers/contra.c b/src/mame/drivers/contra.c
index 1aa0cc7a943..1b85cadeca9 100644
--- a/src/mame/drivers/contra.c
+++ b/src/mame/drivers/contra.c
@@ -442,10 +442,10 @@ ROM_END
-GAME( 1987, contra, 0, contra, contra, contra_state, 0, ROT90, "Konami", "Contra (US, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, contra1, contra, contra, contra, contra_state, 0, ROT90, "Konami", "Contra (US, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, contrab, contra, contra, contra, contra_state, 0, ROT90, "bootleg", "Contra (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1987, contraj, contra, contra, contra, contra_state, 0, ROT90, "Konami", "Contra (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, contrajb, contra, contra, contra, contra_state, 0, ROT90, "bootleg", "Contra (Japan bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1987, gryzor, contra, contra, contra, contra_state, 0, ROT90, "Konami", "Gryzor (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, gryzora, contra, contra, contra, contra_state, 0, ROT90, "Konami", "Gryzor (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, contra, 0, contra, contra, driver_device, 0, ROT90, "Konami", "Contra (US, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, contra1, contra, contra, contra, driver_device, 0, ROT90, "Konami", "Contra (US, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, contrab, contra, contra, contra, driver_device, 0, ROT90, "bootleg", "Contra (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1987, contraj, contra, contra, contra, driver_device, 0, ROT90, "Konami", "Contra (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, contrajb, contra, contra, contra, driver_device, 0, ROT90, "bootleg", "Contra (Japan bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1987, gryzor, contra, contra, contra, driver_device, 0, ROT90, "Konami", "Gryzor (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, gryzora, contra, contra, contra, driver_device, 0, ROT90, "Konami", "Gryzor (set 2)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/coolpool.c b/src/mame/drivers/coolpool.c
index 834538ffb06..ddd0bbf3fed 100644
--- a/src/mame/drivers/coolpool.c
+++ b/src/mame/drivers/coolpool.c
@@ -1175,33 +1175,31 @@ static void register_state_save(running_machine &machine)
-static DRIVER_INIT( amerdart )
+DRIVER_INIT_MEMBER(coolpool_state,amerdart)
{
- coolpool_state *state = machine.driver_data<coolpool_state>();
- state->m_lastresult = 0xffff;
+ m_lastresult = 0xffff;
- register_state_save(machine);
+ register_state_save(machine());
}
-static DRIVER_INIT( coolpool )
+DRIVER_INIT_MEMBER(coolpool_state,coolpool)
{
- coolpool_state *state = machine.driver_data<coolpool_state>();
- machine.device("dsp")->memory().space(AS_IO)->install_read_handler(0x07, 0x07, read16_delegate(FUNC(coolpool_state::coolpool_input_r),state));
+ machine().device("dsp")->memory().space(AS_IO)->install_read_handler(0x07, 0x07, read16_delegate(FUNC(coolpool_state::coolpool_input_r),this));
- register_state_save(machine);
+ register_state_save(machine());
}
-static DRIVER_INIT( 9ballsht )
+DRIVER_INIT_MEMBER(coolpool_state,9ballsht)
{
int a, len;
UINT16 *rom;
/* decrypt the main program ROMs */
- rom = (UINT16 *)machine.root_device().memregion("user1")->base();
- len = machine.root_device().memregion("user1")->bytes();
+ rom = (UINT16 *)machine().root_device().memregion("user1")->base();
+ len = machine().root_device().memregion("user1")->bytes();
for (a = 0;a < len/2;a++)
{
int hi,lo,nhi,nlo;
@@ -1224,8 +1222,8 @@ static DRIVER_INIT( 9ballsht )
}
/* decrypt the sub data ROMs */
- rom = (UINT16 *)machine.root_device().memregion("user2")->base();
- len = machine.root_device().memregion("user2")->bytes();
+ rom = (UINT16 *)machine().root_device().memregion("user2")->base();
+ len = machine().root_device().memregion("user2")->bytes();
for (a = 1;a < len/2;a+=4)
{
/* just swap bits 1 and 2 of the address */
@@ -1234,7 +1232,7 @@ static DRIVER_INIT( 9ballsht )
rom[a+1] = tmp;
}
- register_state_save(machine);
+ register_state_save(machine());
}
diff --git a/src/mame/drivers/coolridr.c b/src/mame/drivers/coolridr.c
index 90928ae35f1..caf02b8fabb 100644
--- a/src/mame/drivers/coolridr.c
+++ b/src/mame/drivers/coolridr.c
@@ -316,6 +316,7 @@ public:
DECLARE_WRITE32_MEMBER(sysh1_char_w);
DECLARE_READ32_MEMBER(coolridr_hack1_r);
DECLARE_READ32_MEMBER(coolridr_hack2_r);
+ DECLARE_DRIVER_INIT(coolridr);
};
@@ -1249,11 +1250,10 @@ READ32_MEMBER(coolridr_state::coolridr_hack2_r)
return m_sysh1_workram_h[0xd8894/4];
}
-static DRIVER_INIT( coolridr )
+DRIVER_INIT_MEMBER(coolridr_state,coolridr)
{
- coolridr_state *state = machine.driver_data<coolridr_state>();
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x60d88a4, 0x060d88a7, FUNC(coolridr_hack1_r) );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60d8894, 0x060d8897, read32_delegate(FUNC(coolridr_state::coolridr_hack2_r), state));
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x60d88a4, 0x060d88a7, FUNC(coolridr_hack1_r) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60d8894, 0x060d8897, read32_delegate(FUNC(coolridr_state::coolridr_hack2_r), this));
}
GAME( 1995, coolridr, 0, coolridr, coolridr, coolridr_state, coolridr, ROT0, "Sega", "Cool Riders (US)",GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/cop01.c b/src/mame/drivers/cop01.c
index 6702725a087..f8bfd75fae7 100644
--- a/src/mame/drivers/cop01.c
+++ b/src/mame/drivers/cop01.c
@@ -649,12 +649,12 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( mightguy )
+DRIVER_INIT_MEMBER(cop01_state,mightguy)
{
#if MIGHTGUY_HACK
/* This is a hack to fix the game code to get a fully working
"Starting Area" fake Dip Switch */
- UINT8 *RAM = (UINT8 *)machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = (UINT8 *)machine().root_device().memregion("maincpu")->base();
RAM[0x00e4] = 0x07; // rlca
RAM[0x00e5] = 0x07; // rlca
RAM[0x00e6] = 0x07; // rlca
@@ -671,6 +671,6 @@ static DRIVER_INIT( mightguy )
*
*************************************/
-GAME( 1985, cop01, 0, cop01, cop01, cop01_state, 0, ROT0, "Nichibutsu", "Cop 01 (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, cop01a, cop01, cop01, cop01, cop01_state, 0, ROT0, "Nichibutsu", "Cop 01 (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, cop01, 0, cop01, cop01, driver_device, 0, ROT0, "Nichibutsu", "Cop 01 (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, cop01a, cop01, cop01, cop01, driver_device, 0, ROT0, "Nichibutsu", "Cop 01 (set 2)", GAME_SUPPORTS_SAVE )
GAME( 1986, mightguy, 0, mightguy, mightguy, cop01_state, mightguy, ROT270, "Nichibutsu", "Mighty Guy", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/copsnrob.c b/src/mame/drivers/copsnrob.c
index 1841acfcb99..1b3533db3f0 100644
--- a/src/mame/drivers/copsnrob.c
+++ b/src/mame/drivers/copsnrob.c
@@ -342,4 +342,4 @@ ROM_END
*
*************************************/
-GAMEL( 1976, copsnrob, 0, copsnrob, copsnrob, copsnrob_state, 0, ROT0, "Atari", "Cops'n Robbers", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_copsnrob )
+GAMEL( 1976, copsnrob, 0, copsnrob, copsnrob, driver_device, 0, ROT0, "Atari", "Cops'n Robbers", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_copsnrob )
diff --git a/src/mame/drivers/corona.c b/src/mame/drivers/corona.c
index f43b6341fd0..1640c0cb89f 100644
--- a/src/mame/drivers/corona.c
+++ b/src/mame/drivers/corona.c
@@ -1691,11 +1691,11 @@ ROM_END
******************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAME( 1981, winner81, winner82, winner81, winner81, corona_state, 0, ROT0, "Corona Co, LTD.", "Winners Circle (81, 28*28 PCB)", GAME_IMPERFECT_SOUND )
-GAME( 1981, winner81b, winner82, winner82, winner82, corona_state, 0, ROT0, "Corona Co, LTD.", "Winners Circle (81, 18*22 PCB)", 0 )
-GAME( 1982, winner82, 0, winner82, winner82, corona_state, 0, ROT0, "Corona Co, LTD.", "Winners Circle (82)", 0 )
-GAMEL( 1991, re800ea, re800v1, re800, re800, corona_state, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-800 (earlier, no attract)", 0, layout_re800 )
-GAMEL( 1991, re800v1, 0, re800, re800, corona_state, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-800 (v1.0)", 0, layout_re800 )
-GAMEL( 1991, re800v3, 0, re800, re800v3, corona_state, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-800 (v3.0)", GAME_IMPERFECT_COLORS, layout_re800 )
-GAMEL( 199?, rcirulet, 0, rcirulet, re800, corona_state, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RCI (6-players, Spanish)", 0, layout_re800 )
-GAMEL( 1990, luckyrlt, 0, luckyrlt, luckyrlt, corona_state, 0, ROT90, "<unknown>", "Lucky Roulette Plus (6-players, Spanish)", 0, layout_luckyrlt )
+GAME( 1981, winner81, winner82, winner81, winner81, driver_device, 0, ROT0, "Corona Co, LTD.", "Winners Circle (81, 28*28 PCB)", GAME_IMPERFECT_SOUND )
+GAME( 1981, winner81b, winner82, winner82, winner82, driver_device, 0, ROT0, "Corona Co, LTD.", "Winners Circle (81, 18*22 PCB)", 0 )
+GAME( 1982, winner82, 0, winner82, winner82, driver_device, 0, ROT0, "Corona Co, LTD.", "Winners Circle (82)", 0 )
+GAMEL( 1991, re800ea, re800v1, re800, re800, driver_device, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-800 (earlier, no attract)", 0, layout_re800 )
+GAMEL( 1991, re800v1, 0, re800, re800, driver_device, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-800 (v1.0)", 0, layout_re800 )
+GAMEL( 1991, re800v3, 0, re800, re800v3, driver_device, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-800 (v3.0)", GAME_IMPERFECT_COLORS, layout_re800 )
+GAMEL( 199?, rcirulet, 0, rcirulet, re800, driver_device, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RCI (6-players, Spanish)", 0, layout_re800 )
+GAMEL( 1990, luckyrlt, 0, luckyrlt, luckyrlt, driver_device, 0, ROT90, "<unknown>", "Lucky Roulette Plus (6-players, Spanish)", 0, layout_luckyrlt )
diff --git a/src/mame/drivers/cosmic.c b/src/mame/drivers/cosmic.c
index f704f181658..0d5b0394208 100644
--- a/src/mame/drivers/cosmic.c
+++ b/src/mame/drivers/cosmic.c
@@ -1506,14 +1506,13 @@ ROM_START( nomnlndg )
ROM_END
-static DRIVER_INIT( cosmicg )
+DRIVER_INIT_MEMBER(cosmic_state,cosmicg)
{
/* Program ROMs have data pins connected different from normal */
- cosmic_state *state = machine.driver_data<cosmic_state>();
offs_t offs, len;
UINT8 *rom;
- len = state->memregion("maincpu")->bytes();
- rom = state->memregion("maincpu")->base();
+ len = memregion("maincpu")->bytes();
+ rom = memregion("maincpu")->base();
for (offs = 0; offs < len; offs++)
{
UINT8 scrambled = rom[offs];
@@ -1526,41 +1525,37 @@ static DRIVER_INIT( cosmicg )
rom[offs] = normal;
}
- state->m_sound_enabled = 0;
- state->m_march_select = 0;
- state->m_gun_die_select = 0;
+ m_sound_enabled = 0;
+ m_march_select = 0;
+ m_gun_die_select = 0;
}
-static DRIVER_INIT( cosmica )
+DRIVER_INIT_MEMBER(cosmic_state,cosmica)
{
- cosmic_state *state = machine.driver_data<cosmic_state>();
- state->m_sound_enabled = 1;
- state->m_dive_bomb_b_select = 0;
+ m_sound_enabled = 1;
+ m_dive_bomb_b_select = 0;
}
-static DRIVER_INIT( devzone )
+DRIVER_INIT_MEMBER(cosmic_state,devzone)
{
- cosmic_state *state = machine.driver_data<cosmic_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4807, 0x4807,write8_delegate(FUNC(cosmic_state::cosmic_background_enable_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4807, 0x4807,write8_delegate(FUNC(cosmic_state::cosmic_background_enable_w),this));
}
-static DRIVER_INIT( nomnlnd )
+DRIVER_INIT_MEMBER(cosmic_state,nomnlnd)
{
- cosmic_state *state = machine.driver_data<cosmic_state>();
- dac_device *dac = machine.device<dac_device>("dac");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x5000, 0x5001, read8_delegate(FUNC(cosmic_state::nomnlnd_port_0_1_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x4800, 0x4800);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4807, 0x4807, write8_delegate(FUNC(cosmic_state::cosmic_background_enable_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x480a, 0x480a, write8_delegate(FUNC(dac_device::write_unsigned8),dac));
+ dac_device *dac = machine().device<dac_device>("dac");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x5000, 0x5001, read8_delegate(FUNC(cosmic_state::nomnlnd_port_0_1_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x4800, 0x4800);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4807, 0x4807, write8_delegate(FUNC(cosmic_state::cosmic_background_enable_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x480a, 0x480a, write8_delegate(FUNC(dac_device::write_unsigned8),dac));
}
-static DRIVER_INIT( panic )
+DRIVER_INIT_MEMBER(cosmic_state,panic)
{
- cosmic_state *state = machine.driver_data<cosmic_state>();
- state->m_sound_enabled = 1;
+ m_sound_enabled = 1;
}
@@ -1570,8 +1565,8 @@ GAME( 1979, cosmica1, cosmica, cosmica, cosmica, cosmic_state, cosmica, ROT270
GAME( 1979, cosmica2, cosmica, cosmica, cosmica, cosmic_state, cosmica, ROT270, "Universal", "Cosmic Alien (early version II?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1980, nomnlnd, 0, nomnlnd, nomnlnd, cosmic_state, nomnlnd, ROT270, "Universal", "No Man's Land", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1980, nomnlndg, nomnlnd, nomnlnd, nomnlndg, cosmic_state, nomnlnd, ROT270, "Universal (Gottlieb license)", "No Man's Land (Gottlieb)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, magspot, 0, magspot, magspot, cosmic_state, 0, ROT270, "Universal", "Magical Spot", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, magspot2, 0, magspot, magspot, cosmic_state, 0, ROT270, "Universal", "Magical Spot II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, magspot, 0, magspot, magspot, driver_device, 0, ROT270, "Universal", "Magical Spot", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, magspot2, 0, magspot, magspot, driver_device, 0, ROT270, "Universal", "Magical Spot II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1980, panic, 0, panic, panic, cosmic_state, panic, ROT270, "Universal", "Space Panic (version E)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1980, panic2, panic, panic, panic, cosmic_state, panic, ROT270, "Universal", "Space Panic (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1980, panic3, panic, panic, panic, cosmic_state, panic, ROT270, "Universal", "Space Panic (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c
index 4fe4627f72a..1b53d4e9384 100644
--- a/src/mame/drivers/cps1.c
+++ b/src/mame/drivers/cps1.c
@@ -10694,90 +10694,86 @@ ROM_START( sfzbch )
ROM_END
-static DRIVER_INIT( forgottn )
+DRIVER_INIT_MEMBER(cps_state,forgottn)
{
- cps_state *state = machine.driver_data<cps_state>();
/* Forgotten Worlds has a NEC uPD4701AC on the B-board handling dial inputs from the CN-MOWS connector. */
/* The memory mapping is handled by PAL LWIO */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x800040, 0x800041, write16_delegate(FUNC(cps_state::forgottn_dial_0_reset_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x800048, 0x800049, write16_delegate(FUNC(cps_state::forgottn_dial_1_reset_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x800052, 0x800055, read16_delegate(FUNC(cps_state::forgottn_dial_0_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80005a, 0x80005d, read16_delegate(FUNC(cps_state::forgottn_dial_1_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x800040, 0x800041, write16_delegate(FUNC(cps_state::forgottn_dial_0_reset_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x800048, 0x800049, write16_delegate(FUNC(cps_state::forgottn_dial_1_reset_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x800052, 0x800055, read16_delegate(FUNC(cps_state::forgottn_dial_0_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80005a, 0x80005d, read16_delegate(FUNC(cps_state::forgottn_dial_1_r),this));
- state->save_item(NAME(state->m_dial));
+ save_item(NAME(m_dial));
- state->m_dial[0] = 0;
- state->m_dial[1] = 0;
+ m_dial[0] = 0;
+ m_dial[1] = 0;
DRIVER_INIT_CALL(cps1);
}
-static DRIVER_INIT( sf2ee )
+DRIVER_INIT_MEMBER(cps_state,sf2ee)
{
- cps_state *state = machine.driver_data<cps_state>();
/* This specific revision of SF2 has the CPS-B custom mapped at a different address. */
/* The mapping is handled by the PAL IOB2 on the B-board */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_readwrite(0x800140, 0x80017f);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x8001c0, 0x8001ff, read16_delegate(FUNC(cps_state::cps1_cps_b_r),state), write16_delegate(FUNC(cps_state::cps1_cps_b_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->unmap_readwrite(0x800140, 0x80017f);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x8001c0, 0x8001ff, read16_delegate(FUNC(cps_state::cps1_cps_b_r),this), write16_delegate(FUNC(cps_state::cps1_cps_b_w),this));
DRIVER_INIT_CALL(cps1);
}
-static DRIVER_INIT( sf2thndr )
+DRIVER_INIT_MEMBER(cps_state,sf2thndr)
{
- cps_state *state = machine.driver_data<cps_state>();
/* This particular hack uses a modified B-board PAL which mirrors the CPS-B registers at an alternate address */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x8001c0, 0x8001ff, read16_delegate(FUNC(cps_state::cps1_cps_b_r),state), write16_delegate(FUNC(cps_state::cps1_cps_b_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x8001c0, 0x8001ff, read16_delegate(FUNC(cps_state::cps1_cps_b_r),this), write16_delegate(FUNC(cps_state::cps1_cps_b_w),this));
DRIVER_INIT_CALL(cps1);
}
-static DRIVER_INIT( sf2hack )
+DRIVER_INIT_MEMBER(cps_state,sf2hack)
{
/* some SF2 hacks have some inputs wired to the LSB instead of MSB */
- cps_state *state = machine.driver_data<cps_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x800018, 0x80001f, read16_delegate(FUNC(cps_state::cps1_hack_dsw_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x800018, 0x80001f, read16_delegate(FUNC(cps_state::cps1_hack_dsw_r),this));
DRIVER_INIT_CALL(cps1);
}
-static DRIVER_INIT( wof )
+DRIVER_INIT_MEMBER(cps_state,wof)
{
- wof_decode(machine);
+ wof_decode(machine());
DRIVER_INIT_CALL(cps1);
}
-static DRIVER_INIT( dino )
+DRIVER_INIT_MEMBER(cps_state,dino)
{
- dino_decode(machine);
+ dino_decode(machine());
DRIVER_INIT_CALL(cps1);
}
-static DRIVER_INIT( punisher )
+DRIVER_INIT_MEMBER(cps_state,punisher)
{
- punisher_decode(machine);
+ punisher_decode(machine());
DRIVER_INIT_CALL(cps1);
}
-static DRIVER_INIT( slammast )
+DRIVER_INIT_MEMBER(cps_state,slammast)
{
- slammast_decode(machine);
+ slammast_decode(machine());
DRIVER_INIT_CALL(cps1);
}
-static DRIVER_INIT( pang3b )
+DRIVER_INIT_MEMBER(cps_state,pang3b)
{
/* Pang 3 is the only non-QSound game to have an EEPROM. */
/* It is mapped in the CPS-B address range so probably is on the C-board. */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_port(0x80017a, 0x80017b, "EEPROMIN", "EEPROMOUT");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_port(0x80017a, 0x80017b, "EEPROMIN", "EEPROMOUT");
DRIVER_INIT_CALL(cps1);
}
-static DRIVER_INIT( pang3 )
+DRIVER_INIT_MEMBER(cps_state,pang3)
{
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
int A, src, dst;
for (A = 0x80000; A < 0x100000; A += 2)
@@ -10804,11 +10800,11 @@ READ16_MEMBER(cps_state::sf2mdt_r)
return 0xffff;
}
-static DRIVER_INIT( sf2mdt )
+DRIVER_INIT_MEMBER(cps_state,sf2mdt)
{
int i;
- UINT32 gfx_size = machine.root_device().memregion( "gfx" )->bytes();
- UINT8 *rom = machine.root_device().memregion( "gfx" )->base();
+ UINT32 gfx_size = machine().root_device().memregion( "gfx" )->bytes();
+ UINT8 *rom = machine().root_device().memregion( "gfx" )->base();
UINT8 tmp;
for( i = 0; i < gfx_size; i += 8 )
@@ -10820,20 +10816,19 @@ static DRIVER_INIT( sf2mdt )
rom[i + 3] = rom[i + 6];
rom[i + 6] = tmp;
}
- cps_state *state = machine.driver_data<cps_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x70c01a, 0x70c01b, read16_delegate(FUNC(cps_state::sf2mdt_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x70c01c, 0x70c01d, read16_delegate(FUNC(cps_state::sf2mdt_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x70c01e, 0x70c01f, read16_delegate(FUNC(cps_state::sf2mdt_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x70c010, 0x70c011, read16_delegate(FUNC(cps_state::sf2mdt_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x70c018, 0x70c019, read16_delegate(FUNC(cps_state::sf2mdt_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x70c01a, 0x70c01b, read16_delegate(FUNC(cps_state::sf2mdt_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x70c01c, 0x70c01d, read16_delegate(FUNC(cps_state::sf2mdt_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x70c01e, 0x70c01f, read16_delegate(FUNC(cps_state::sf2mdt_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x70c010, 0x70c011, read16_delegate(FUNC(cps_state::sf2mdt_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x70c018, 0x70c019, read16_delegate(FUNC(cps_state::sf2mdt_r),this));
DRIVER_INIT_CALL(cps1);
}
-static DRIVER_INIT( dinohunt )
+DRIVER_INIT_MEMBER(cps_state,dinohunt)
{
// is this shared with the new sound hw?
- UINT8* ram = (UINT8*)machine.device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0xf18000, 0xf19fff);
+ UINT8* ram = (UINT8*)machine().device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0xf18000, 0xf19fff);
memset(ram,0xff,0x2000);
DRIVER_INIT_CALL(cps1);
}
diff --git a/src/mame/drivers/cps2.c b/src/mame/drivers/cps2.c
index 53b2c4e7f59..3ec334b132e 100644
--- a/src/mame/drivers/cps2.c
+++ b/src/mame/drivers/cps2.c
@@ -8107,9 +8107,8 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( cps2 )
+DRIVER_INIT_MEMBER(cps_state,cps2)
{
- cps_state *state = machine.driver_data<cps_state>();
/* Decrypt the game - see machine/cps2crpt.c */
DRIVER_INIT_CALL(cps2crpt);
@@ -8117,36 +8116,34 @@ static DRIVER_INIT( cps2 )
/* Initialize some video elements */
DRIVER_INIT_CALL(cps2_video);
- state->m_cps2networkpresent = 0;
+ m_cps2networkpresent = 0;
- machine.device("maincpu")->set_clock_scale(0.7375f); /* RAM access waitstates etc. aren't emulated - slow the CPU to compensate */
+ machine().device("maincpu")->set_clock_scale(0.7375f); /* RAM access waitstates etc. aren't emulated - slow the CPU to compensate */
}
-static DRIVER_INIT( ssf2tb )
+DRIVER_INIT_MEMBER(cps_state,ssf2tb)
{
- cps_state *state = machine.driver_data<cps_state>();
DRIVER_INIT_CALL(cps2);
- state->m_cps2networkpresent = 0;
+ m_cps2networkpresent = 0;
/* we don't emulate the network board, so don't say it's present for now, otherwise the game will
attempt to boot in tournament mode and fail */
- //state->m_cps2networkpresent = 1;
+ //m_cps2networkpresent = 1;
}
-static DRIVER_INIT ( pzloop2 )
+DRIVER_INIT_MEMBER(cps_state,pzloop2)
{
- cps_state *state = machine.driver_data<cps_state>();
DRIVER_INIT_CALL(cps2);
- state->m_readpaddle = 0;
+ m_readpaddle = 0;
- state->save_item(NAME(state->m_readpaddle));
+ save_item(NAME(m_readpaddle));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x804000, 0x804001, FUNC(joy_or_paddle_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x804000, 0x804001, FUNC(joy_or_paddle_r));
}
static READ16_HANDLER( gigaman2_dummyqsound_r )
@@ -8178,23 +8175,22 @@ static void gigaman2_gfx_reorder(running_machine &machine)
auto_free( machine, buf );
}
-static DRIVER_INIT( gigaman2 )
+DRIVER_INIT_MEMBER(cps_state,gigaman2)
{
- cps_state *state = machine.driver_data<cps_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT16 *rom = (UINT16 *)state->memregion("maincpu")->base();
- int length = state->memregion("maincpu")->bytes();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT16 *rom = (UINT16 *)memregion("maincpu")->base();
+ int length = memregion("maincpu")->bytes();
- gigaman2_gfx_reorder(machine);
+ gigaman2_gfx_reorder(machine());
DRIVER_INIT_CALL(cps2);
- state->m_gigaman2_dummyqsound_ram = auto_alloc_array(machine, UINT16, 0x20000 / 2);
- state->save_pointer(NAME(state->m_gigaman2_dummyqsound_ram), 0x20000 / 2);
+ m_gigaman2_dummyqsound_ram = auto_alloc_array(machine(), UINT16, 0x20000 / 2);
+ save_pointer(NAME(m_gigaman2_dummyqsound_ram), 0x20000 / 2);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x618000, 0x619fff, FUNC(gigaman2_dummyqsound_r), FUNC(gigaman2_dummyqsound_w)); // no qsound..
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x618000, 0x619fff, FUNC(gigaman2_dummyqsound_r), FUNC(gigaman2_dummyqsound_w)); // no qsound..
space->set_decrypted_region(0x000000, (length) - 1, &rom[length/4]);
- m68k_set_encrypted_opcode_range(machine.device("maincpu"), 0, length);
+ m68k_set_encrypted_opcode_range(machine().device("maincpu"), 0, length);
}
diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c
index 0384cf537b6..6e550341599 100644
--- a/src/mame/drivers/cps3.c
+++ b/src/mame/drivers/cps3.c
@@ -735,12 +735,13 @@ static void init_common(running_machine &machine, UINT32 key1, UINT32 key2, int
machine.device<nvram_device>("eeprom")->set_base(state->m_eeprom, 0x400);
}
-static DRIVER_INIT( redearth ){ init_common(machine, 0x9e300ab1, 0xa175b82c, 0); }
-static DRIVER_INIT( sfiii ) { init_common(machine, 0xb5fe053e, 0xfc03925a, 0); }
-static DRIVER_INIT( sfiii2 ) { init_common(machine, 0x00000000, 0x00000000, 1); }
-static DRIVER_INIT( jojo ) { init_common(machine, 0x02203ee3, 0x01301972, 0); }
-static DRIVER_INIT( sfiii3 ) { init_common(machine, 0xa55432b4, 0x0c129981, 0); }
-static DRIVER_INIT( jojoba ) { init_common(machine, 0x23323ee3, 0x03021972, 0); }
+DRIVER_INIT_MEMBER(cps3_state,redearth) { init_common(machine(), 0x9e300ab1, 0xa175b82c, 0); }
+DRIVER_INIT_MEMBER(cps3_state,sfiii) { init_common(machine(), 0xb5fe053e, 0xfc03925a, 0); }
+DRIVER_INIT_MEMBER(cps3_state,sfiii2) { init_common(machine(), 0x00000000, 0x00000000, 1); }
+DRIVER_INIT_MEMBER(cps3_state,jojo) { init_common(machine(), 0x02203ee3, 0x01301972, 0); }
+DRIVER_INIT_MEMBER(cps3_state,sfiii3) { init_common(machine(), 0xa55432b4, 0x0c129981, 0); }
+DRIVER_INIT_MEMBER(cps3_state,jojoba) { init_common(machine(), 0x23323ee3, 0x03021972, 0); }
+
/* GFX decodes */
diff --git a/src/mame/drivers/crbaloon.c b/src/mame/drivers/crbaloon.c
index 1378e55f19a..30b0f6de0e0 100644
--- a/src/mame/drivers/crbaloon.c
+++ b/src/mame/drivers/crbaloon.c
@@ -444,5 +444,5 @@ ROM_END
*
*************************************/
-GAME( 1980, crbaloon, 0, crbaloon, crbaloon, crbaloon_state, 0, ROT90, "Taito Corporation", "Crazy Balloon (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, crbaloon2,crbaloon, crbaloon, crbaloon, crbaloon_state, 0, ROT90, "Taito Corporation", "Crazy Balloon (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, crbaloon, 0, crbaloon, crbaloon, driver_device, 0, ROT90, "Taito Corporation", "Crazy Balloon (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, crbaloon2,crbaloon, crbaloon, crbaloon, driver_device, 0, ROT90, "Taito Corporation", "Crazy Balloon (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/crgolf.c b/src/mame/drivers/crgolf.c
index 660539623ae..86ccf0e815f 100644
--- a/src/mame/drivers/crgolf.c
+++ b/src/mame/drivers/crgolf.c
@@ -616,10 +616,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( crgolfhi )
+DRIVER_INIT_MEMBER(crgolf_state,crgolfhi)
{
- crgolf_state *state = machine.driver_data<crgolf_state>();
- machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa000, 0xa003, write8_delegate(FUNC(crgolf_state::crgolfhi_sample_w),state));
+ machine().device("audiocpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa000, 0xa003, write8_delegate(FUNC(crgolf_state::crgolfhi_sample_w),this));
}
@@ -630,9 +629,9 @@ static DRIVER_INIT( crgolfhi )
*
*************************************/
-GAME( 1984, crgolf, 0, crgolf, crgolf, crgolf_state, 0, ROT0, "Nasco Japan", "Crowns Golf (834-5419-04)", GAME_SUPPORTS_SAVE )
-GAME( 1984, crgolfa, crgolf, crgolf, crgolf, crgolf_state, 0, ROT0, "Nasco Japan", "Crowns Golf (834-5419-03)", GAME_SUPPORTS_SAVE )
-GAME( 1984, crgolfb, crgolf, crgolf, crgolf, crgolf_state, 0, ROT0, "Nasco Japan", "Crowns Golf (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1984, crgolfc, crgolf, crgolf, crgolf, crgolf_state, 0, ROT0, "Nasco Japan", "Champion Golf", GAME_SUPPORTS_SAVE )
-GAME( 1984, crgolfbt, crgolf, crgolf, crgolf, crgolf_state, 0, ROT0, "bootleg", "Champion Golf (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1984, crgolf, 0, crgolf, crgolf, driver_device, 0, ROT0, "Nasco Japan", "Crowns Golf (834-5419-04)", GAME_SUPPORTS_SAVE )
+GAME( 1984, crgolfa, crgolf, crgolf, crgolf, driver_device, 0, ROT0, "Nasco Japan", "Crowns Golf (834-5419-03)", GAME_SUPPORTS_SAVE )
+GAME( 1984, crgolfb, crgolf, crgolf, crgolf, driver_device, 0, ROT0, "Nasco Japan", "Crowns Golf (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1984, crgolfc, crgolf, crgolf, crgolf, driver_device, 0, ROT0, "Nasco Japan", "Champion Golf", GAME_SUPPORTS_SAVE )
+GAME( 1984, crgolfbt, crgolf, crgolf, crgolf, driver_device, 0, ROT0, "bootleg", "Champion Golf (bootleg)", GAME_SUPPORTS_SAVE )
GAME( 1985, crgolfhi, 0, crgolfhi, crgolf, crgolf_state, crgolfhi, ROT0, "Nasco Japan", "Crowns Golf in Hawaii" , GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/crimfght.c b/src/mame/drivers/crimfght.c
index 81467045c96..8746e976cfb 100644
--- a/src/mame/drivers/crimfght.c
+++ b/src/mame/drivers/crimfght.c
@@ -425,6 +425,6 @@ static KONAMI_SETLINES_CALLBACK( crimfght_banking )
state->membank("bank2")->set_entry(lines & 0x0f);
}
-GAME( 1989, crimfght, 0, crimfght, crimfght, crimfght_state, 0, ROT0, "Konami", "Crime Fighters (US 4 players)", GAME_SUPPORTS_SAVE )
-GAME( 1989, crimfght2, crimfght, crimfght, crimfghtj, crimfght_state,0, ROT0, "Konami", "Crime Fighters (World 2 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1989, crimfghtj, crimfght, crimfght, crimfghtj, crimfght_state,0, ROT0, "Konami", "Crime Fighters (Japan 2 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1989, crimfght, 0, crimfght, crimfght, driver_device, 0, ROT0, "Konami", "Crime Fighters (US 4 players)", GAME_SUPPORTS_SAVE )
+GAME( 1989, crimfght2, crimfght, crimfght, crimfghtj, driver_device,0, ROT0, "Konami", "Crime Fighters (World 2 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1989, crimfghtj, crimfght, crimfght, crimfghtj, driver_device,0, ROT0, "Konami", "Crime Fighters (Japan 2 Players)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/crospang.c b/src/mame/drivers/crospang.c
index d211582981c..ba3af36746e 100644
--- a/src/mame/drivers/crospang.c
+++ b/src/mame/drivers/crospang.c
@@ -581,9 +581,9 @@ static void tumblepb_gfx1_rearrange(running_machine &machine)
}
}
-static DRIVER_INIT( crospang )
+DRIVER_INIT_MEMBER(crospang_state,crospang)
{
- tumblepb_gfx1_rearrange(machine);
+ tumblepb_gfx1_rearrange(machine());
}
GAME( 1998, crospang, 0, crospang, crospang, crospang_state, crospang, ROT0, "F2 System", "Cross Pang", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/crshrace.c b/src/mame/drivers/crshrace.c
index 543d8c24f72..33f1974123e 100644
--- a/src/mame/drivers/crshrace.c
+++ b/src/mame/drivers/crshrace.c
@@ -585,14 +585,14 @@ void crshrace_patch_code( UINT16 offset )
#endif
-static DRIVER_INIT( crshrace )
+DRIVER_INIT_MEMBER(crshrace_state,crshrace)
{
#if CRSHRACE_3P_HACK
crshrace_patch_code(0x003778);
#endif
}
-static DRIVER_INIT( crshrace2 )
+DRIVER_INIT_MEMBER(crshrace_state,crshrace2)
{
#if CRSHRACE_3P_HACK
crshrace_patch_code(0x003796);
diff --git a/src/mame/drivers/crystal.c b/src/mame/drivers/crystal.c
index c38541526e7..77de120b7c7 100644
--- a/src/mame/drivers/crystal.c
+++ b/src/mame/drivers/crystal.c
@@ -184,6 +184,10 @@ public:
DECLARE_WRITE32_MEMBER(DMA0_w);
DECLARE_READ32_MEMBER(DMA1_r);
DECLARE_WRITE32_MEMBER(DMA1_w);
+ DECLARE_DRIVER_INIT(topbladv);
+ DECLARE_DRIVER_INIT(officeye);
+ DECLARE_DRIVER_INIT(crysking);
+ DECLARE_DRIVER_INIT(evosocc);
};
static void IntReq( running_machine &machine, int num )
@@ -956,9 +960,9 @@ ROM_START( donghaer )
ROM_REGION( 0x10000, "user2", ROMREGION_ERASEFF ) //Unmapped flash
ROM_END
-static DRIVER_INIT(crysking)
+DRIVER_INIT_MEMBER(crystal_state,crysking)
{
- UINT16 *Rom = (UINT16*) machine.root_device().memregion("user1")->base();
+ UINT16 *Rom = (UINT16*) machine().root_device().memregion("user1")->base();
//patch the data feed by the protection
@@ -975,9 +979,9 @@ static DRIVER_INIT(crysking)
Rom[WORD_XOR_LE(0x8a54/2)] = 0x403c; //NOP
}
-static DRIVER_INIT(evosocc)
+DRIVER_INIT_MEMBER(crystal_state,evosocc)
{
- UINT16 *Rom = (UINT16*) machine.root_device().memregion("user1")->base();
+ UINT16 *Rom = (UINT16*) machine().root_device().memregion("user1")->base();
Rom += 0x1000000 * 2 / 2;
Rom[WORD_XOR_LE(0x97388E/2)] = 0x90FC; //PUSH R2..R7
@@ -993,9 +997,9 @@ static DRIVER_INIT(evosocc)
Rom[WORD_XOR_LE(0x974ED2/2)] = 0x9001; //PUSH R0
}
-static DRIVER_INIT(topbladv)
+DRIVER_INIT_MEMBER(crystal_state,topbladv)
{
- UINT16 *Rom = (UINT16*) machine.root_device().memregion("user1")->base();
+ UINT16 *Rom = (UINT16*) machine().root_device().memregion("user1")->base();
Rom[WORD_XOR_LE(0x12d7a/2)] = 0x90FC; //PUSH R7-R6-R5-R4-R3-R2
Rom[WORD_XOR_LE(0x12d7c/2)] = 0x9001; //PUSH R0
@@ -1011,9 +1015,9 @@ static DRIVER_INIT(topbladv)
}
-static DRIVER_INIT(officeye)
+DRIVER_INIT_MEMBER(crystal_state,officeye)
{
- UINT16 *Rom = (UINT16*) machine.root_device().memregion("user1")->base();
+ UINT16 *Rom = (UINT16*) machine().root_device().memregion("user1")->base();
Rom[WORD_XOR_LE(0x9c9e/2)] = 0x901C; //PUSH R4-R3-R2
Rom[WORD_XOR_LE(0x9ca0/2)] = 0x9001; //PUSH R0
@@ -1032,7 +1036,7 @@ static DRIVER_INIT(officeye)
-GAME( 2001, crysbios, 0, crystal, crystal, crystal_state, 0, ROT0, "BrezzaSoft", "Crystal System BIOS", GAME_IS_BIOS_ROOT )
+GAME( 2001, crysbios, 0, crystal, crystal, driver_device, 0, ROT0, "BrezzaSoft", "Crystal System BIOS", GAME_IS_BIOS_ROOT )
GAME( 2001, crysking, crysbios, crystal, crystal, crystal_state, crysking, ROT0, "BrezzaSoft", "The Crystal of Kings", 0 )
GAME( 2001, evosocc, crysbios, crystal, crystal, crystal_state, evosocc, ROT0, "Evoga", "Evolution Soccer", 0 )
GAME( 2003, topbladv, crysbios, topbladv, crystal, crystal_state, topbladv, ROT0, "SonoKong / Expotato", "Top Blade V", GAME_NOT_WORKING ) // protection
diff --git a/src/mame/drivers/cshooter.c b/src/mame/drivers/cshooter.c
index 4d012ac960c..a725ac9f2ba 100644
--- a/src/mame/drivers/cshooter.c
+++ b/src/mame/drivers/cshooter.c
@@ -113,6 +113,8 @@ public:
DECLARE_READ8_MEMBER(pal_r);
DECLARE_READ8_MEMBER(seibu_sound_comms_r);
DECLARE_WRITE8_MEMBER(seibu_sound_comms_w);
+ DECLARE_DRIVER_INIT(cshootere);
+ DECLARE_DRIVER_INIT(cshooter);
};
@@ -662,23 +664,23 @@ ROM_START( airraid )
ROM_END
-static DRIVER_INIT( cshooter )
+DRIVER_INIT_MEMBER(cshooter_state,cshooter)
{
/* temp so it boots */
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
rom[0xa2] = 0x00;
rom[0xa3] = 0x00;
rom[0xa4] = 0x00;
- machine.root_device().membank("bank1")->set_base(&machine.root_device().memregion("user1")->base()[0]);
+ machine().root_device().membank("bank1")->set_base(&machine().root_device().memregion("user1")->base()[0]);
}
-static DRIVER_INIT( cshootere )
+DRIVER_INIT_MEMBER(cshooter_state,cshootere)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, 0x8000);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, 0x8000);
space->set_decrypted_region(0x0000, 0x7fff, decrypt);
@@ -707,8 +709,8 @@ static DRIVER_INIT( cshootere )
rom[A] = BITSWAP8(rom[A],7,6,1,4,3,2,5,0);
}
- machine.root_device().membank("bank1")->set_base(&machine.root_device().memregion("user1")->base()[0]);
- seibu_sound_decrypt(machine,"audiocpu",0x2000);
+ machine().root_device().membank("bank1")->set_base(&machine().root_device().memregion("user1")->base()[0]);
+ seibu_sound_decrypt(machine(),"audiocpu",0x2000);
}
diff --git a/src/mame/drivers/csplayh5.c b/src/mame/drivers/csplayh5.c
index c98fe78bd50..8d550a45b69 100644
--- a/src/mame/drivers/csplayh5.c
+++ b/src/mame/drivers/csplayh5.c
@@ -69,6 +69,16 @@ public:
DECLARE_WRITE8_MEMBER(tmpz84c011_0_dir_pc_w);
DECLARE_WRITE8_MEMBER(tmpz84c011_0_dir_pd_w);
DECLARE_WRITE8_MEMBER(tmpz84c011_0_dir_pe_w);
+ DECLARE_DRIVER_INIT(mjmania);
+ DECLARE_DRIVER_INIT(csplayh5);
+ DECLARE_DRIVER_INIT(fuudol);
+ DECLARE_DRIVER_INIT(bikiniko);
+ DECLARE_DRIVER_INIT(thenanpa);
+ DECLARE_DRIVER_INIT(junai);
+ DECLARE_DRIVER_INIT(csplayh1);
+ DECLARE_DRIVER_INIT(renaimj);
+ DECLARE_DRIVER_INIT(csplayh7);
+ DECLARE_DRIVER_INIT(junai2);
};
@@ -684,16 +694,16 @@ void general_init(running_machine &machine, int patchaddress, int patchvalue)
}
-static DRIVER_INIT( csplayh1 ) { general_init(machine, 0x6880/2,0x6020); }
+DRIVER_INIT_MEMBER(csplayh5_state,csplayh1) { general_init(machine(), 0x6880/2,0x6020); }
-static DRIVER_INIT( junai ) { general_init(machine, 0x679c/2,0x6018); }
-static DRIVER_INIT( mjmania ) { general_init(machine, 0x6b96/2,0x6018); }
-static DRIVER_INIT( junai2 ) { general_init(machine, 0x6588/2,0x6018); }
-static DRIVER_INIT( csplayh5 ) { general_init(machine, 0x4cb4/2,0x6018); }
-static DRIVER_INIT( bikiniko ) { general_init(machine, 0x585c/2,0x6018); }
-static DRIVER_INIT( thenanpa ) { general_init(machine, 0x69ec/2,0x6018); }
-static DRIVER_INIT( csplayh7 ) { general_init(machine, 0x7a20/2,0x6018); }
-static DRIVER_INIT( fuudol ) { general_init(machine, 0x9166/2,0x6018); }
+DRIVER_INIT_MEMBER(csplayh5_state,junai) { general_init(machine(), 0x679c/2,0x6018); }
+DRIVER_INIT_MEMBER(csplayh5_state,mjmania) { general_init(machine(), 0x6b96/2,0x6018); }
+DRIVER_INIT_MEMBER(csplayh5_state,junai2) { general_init(machine(), 0x6588/2,0x6018); }
+DRIVER_INIT_MEMBER(csplayh5_state,csplayh5) { general_init(machine(), 0x4cb4/2,0x6018); }
+DRIVER_INIT_MEMBER(csplayh5_state,bikiniko) { general_init(machine(), 0x585c/2,0x6018); }
+DRIVER_INIT_MEMBER(csplayh5_state,thenanpa) { general_init(machine(), 0x69ec/2,0x6018); }
+DRIVER_INIT_MEMBER(csplayh5_state,csplayh7) { general_init(machine(), 0x7a20/2,0x6018); }
+DRIVER_INIT_MEMBER(csplayh5_state,fuudol) { general_init(machine(), 0x9166/2,0x6018); }
/* TODO: correct rom labels*/
ROM_START( csplayh1 )
@@ -908,7 +918,7 @@ GAME( 1995, csplayh1, 0, csplayh5, csplayh5, csplayh5_state, csplayh1,
/* 09 */ GAME( 1999, bikiniko, 0, csplayh5, csplayh5, csplayh5_state, bikiniko, ROT0, "Nichibutsu/eic", "BiKiNikko - Okinawa de Ippai Shichaimashita (Japan)", GAME_NOT_WORKING )
// 10 : Mahjong Hanafuda Cosplay Tengoku 6 - Junai hen : Nichibutsu/eic
/* 11 */ GAME( 1999, thenanpa, 0, csplayh5, csplayh5, csplayh5_state, thenanpa, ROT0, "Nichibutsu/Love Factory/eic", "The Nanpa (Japan)", GAME_NOT_WORKING )
-// 12 GAME( 1999, pokoachu, 0, csplayh5, csplayh5, csplayh5_state, 0, ROT0, "Nichibutsu/eic", "PokoaPoka Onsen de CHU - Bijin 3 Shimai ni Kiotsukete! (Japan)", GAME_NOT_WORKING )
+// 12 GAME( 1999, pokoachu, 0, csplayh5, csplayh5, driver_device, 0, ROT0, "Nichibutsu/eic", "PokoaPoka Onsen de CHU - Bijin 3 Shimai ni Kiotsukete! (Japan)", GAME_NOT_WORKING )
/* 13 */ GAME( 1999, csplayh7, 0, csplayh5, csplayh5, csplayh5_state, csplayh7, ROT0, "Nichibutsu/eic", "Cosplay Tengoku 7 - Super Kogal Grandprix (Japan)", GAME_NOT_WORKING )
// 14 : Ai-mode - Pet Shiiku : Nichibutsu/eic
diff --git a/src/mame/drivers/cubeqst.c b/src/mame/drivers/cubeqst.c
index 948ebbba3e8..f1c7e18f37b 100644
--- a/src/mame/drivers/cubeqst.c
+++ b/src/mame/drivers/cubeqst.c
@@ -769,5 +769,5 @@ ROM_END
*
*************************************/
-GAME( 1983, cubeqst, 0, cubeqst, cubeqst, cubeqst_state, 0, ROT0, "Simutrek", "Cube Quest (01/04/84)", 0 )
-GAME( 1983, cubeqsta, cubeqst, cubeqst, cubeqst, cubeqst_state, 0, ROT0, "Simutrek", "Cube Quest (12/30/83)", 0 )
+GAME( 1983, cubeqst, 0, cubeqst, cubeqst, driver_device, 0, ROT0, "Simutrek", "Cube Quest (01/04/84)", 0 )
+GAME( 1983, cubeqsta, cubeqst, cubeqst, cubeqst, driver_device, 0, ROT0, "Simutrek", "Cube Quest (12/30/83)", 0 )
diff --git a/src/mame/drivers/cultures.c b/src/mame/drivers/cultures.c
index 317d67c76bf..2df27b7cc5e 100644
--- a/src/mame/drivers/cultures.c
+++ b/src/mame/drivers/cultures.c
@@ -487,4 +487,4 @@ ROM_START( cultures )
ROM_END
-GAME( 1994, cultures, 0, cultures, cultures, cultures_state, 0, ROT0, "Face", "Jibun wo Migaku Culture School Mahjong Hen", GAME_SUPPORTS_SAVE )
+GAME( 1994, cultures, 0, cultures, cultures, driver_device, 0, ROT0, "Face", "Jibun wo Migaku Culture School Mahjong Hen", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cupidon.c b/src/mame/drivers/cupidon.c
index 668f944972d..fc762784de3 100644
--- a/src/mame/drivers/cupidon.c
+++ b/src/mame/drivers/cupidon.c
@@ -21,6 +21,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(cupidon);
};
@@ -86,7 +88,7 @@ ROM_END
-DRIVER_INIT( cupidon )
+DRIVER_INIT_MEMBER(cupidon_state,cupidon)
{
}
diff --git a/src/mame/drivers/cvs.c b/src/mame/drivers/cvs.c
index fccd0f5e4e8..60d99a31e43 100644
--- a/src/mame/drivers/cvs.c
+++ b/src/mame/drivers/cvs.c
@@ -1592,9 +1592,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( huncholy )
+DRIVER_INIT_MEMBER(cvs_state,huncholy)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
/* patch out protection */
ROM[0x0082] = 0xc0;
@@ -1612,9 +1612,9 @@ static DRIVER_INIT( huncholy )
}
-static DRIVER_INIT( hunchbaka )
+DRIVER_INIT_MEMBER(cvs_state,hunchbaka)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
offs_t offs;
@@ -1624,9 +1624,9 @@ static DRIVER_INIT( hunchbaka )
}
-static DRIVER_INIT( superbik )
+DRIVER_INIT_MEMBER(cvs_state,superbik)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
/* patch out protection */
ROM[0x0079] = 0xc0;
@@ -1652,9 +1652,9 @@ static DRIVER_INIT( superbik )
}
-static DRIVER_INIT( hero )
+DRIVER_INIT_MEMBER(cvs_state,hero)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
/* patch out protection */
ROM[0x0087] = 0xc0;
@@ -1674,9 +1674,9 @@ static DRIVER_INIT( hero )
}
-static DRIVER_INIT( raiders )
+DRIVER_INIT_MEMBER(cvs_state,raiders)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
offs_t offs;
@@ -1698,22 +1698,22 @@ static DRIVER_INIT( raiders )
*
*************************************/
-GAME( 1981, cosmos, 0, cvs, cosmos, cvs_state, 0, ROT90, "Century Electronics", "Cosmos", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, darkwar, 0, cvs, darkwar, cvs_state, 0, ROT90, "Century Electronics", "Dark Warrior", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, spacefrt, 0, cvs, spacefrt, cvs_state, 0, ROT90, "Century Electronics", "Space Fortress (CVS)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, 8ball, 0, cvs, 8ball, cvs_state, 0, ROT90, "Century Electronics", "Video Eight Ball", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, 8ball1, 8ball, cvs, 8ball, cvs_state, 0, ROT90, "Century Electronics", "Video Eight Ball (Rev.1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, logger, 0, cvs, logger, cvs_state, 0, ROT90, "Century Electronics", "Logger", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, dazzler, 0, cvs, dazzler, cvs_state, 0, ROT90, "Century Electronics", "Dazzler", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, wallst, 0, cvs, wallst, cvs_state, 0, ROT90, "Century Electronics", "Wall Street", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, radarzon, 0, cvs, radarzon, cvs_state, 0, ROT90, "Century Electronics", "Radar Zone", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, radarzon1, radarzon, cvs, radarzon, cvs_state, 0, ROT90, "Century Electronics", "Radar Zone (Rev.1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, radarzont, radarzon, cvs, radarzon, cvs_state, 0, ROT90, "Century Electronics (Tuni Electro Service Inc)", "Radar Zone (Tuni)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, outline, radarzon, cvs, radarzon, cvs_state, 0, ROT90, "Century Electronics", "Outline", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, goldbug, 0, cvs, goldbug, cvs_state, 0, ROT90, "Century Electronics", "Gold Bug", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, diggerc, 0, cvs, diggerc, cvs_state, 0, ROT90, "Century Electronics", "Digger (CVS)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, heartatk, 0, cvs, heartatk, cvs_state, 0, ROT90, "Century Electronics", "Heart Attack", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, hunchbak, 0, cvs, hunchbak, cvs_state, 0, ROT90, "Century Electronics", "Hunchback (set 1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, cosmos, 0, cvs, cosmos, driver_device, 0, ROT90, "Century Electronics", "Cosmos", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, darkwar, 0, cvs, darkwar, driver_device, 0, ROT90, "Century Electronics", "Dark Warrior", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, spacefrt, 0, cvs, spacefrt, driver_device, 0, ROT90, "Century Electronics", "Space Fortress (CVS)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, 8ball, 0, cvs, 8ball, driver_device, 0, ROT90, "Century Electronics", "Video Eight Ball", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, 8ball1, 8ball, cvs, 8ball, driver_device, 0, ROT90, "Century Electronics", "Video Eight Ball (Rev.1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, logger, 0, cvs, logger, driver_device, 0, ROT90, "Century Electronics", "Logger", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, dazzler, 0, cvs, dazzler, driver_device, 0, ROT90, "Century Electronics", "Dazzler", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, wallst, 0, cvs, wallst, driver_device, 0, ROT90, "Century Electronics", "Wall Street", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, radarzon, 0, cvs, radarzon, driver_device, 0, ROT90, "Century Electronics", "Radar Zone", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, radarzon1, radarzon, cvs, radarzon, driver_device, 0, ROT90, "Century Electronics", "Radar Zone (Rev.1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, radarzont, radarzon, cvs, radarzon, driver_device, 0, ROT90, "Century Electronics (Tuni Electro Service Inc)", "Radar Zone (Tuni)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, outline, radarzon, cvs, radarzon, driver_device, 0, ROT90, "Century Electronics", "Outline", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, goldbug, 0, cvs, goldbug, driver_device, 0, ROT90, "Century Electronics", "Gold Bug", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, diggerc, 0, cvs, diggerc, driver_device, 0, ROT90, "Century Electronics", "Digger (CVS)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, heartatk, 0, cvs, heartatk, driver_device, 0, ROT90, "Century Electronics", "Heart Attack", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, hunchbak, 0, cvs, hunchbak, driver_device, 0, ROT90, "Century Electronics", "Hunchback (set 1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1983, hunchbaka, hunchbak, cvs, hunchbak, cvs_state, hunchbaka,ROT90, "Century Electronics", "Hunchback (set 2)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1983, superbik, 0, cvs, superbik, cvs_state, superbik, ROT90, "Century Electronics", "Superbike", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1983, raiders, 0, cvs, raiders, cvs_state, raiders, ROT90, "Century Electronics", "Raiders", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c
index 4d1d2a3bb44..5933bf10ff0 100644
--- a/src/mame/drivers/cyberbal.c
+++ b/src/mame/drivers/cyberbal.c
@@ -1002,21 +1002,21 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( cyberbal )
+DRIVER_INIT_MEMBER(cyberbal_state,cyberbal)
{
- atarigen_slapstic_init(machine.device("maincpu"), 0x018000, 0, 0);
+ atarigen_slapstic_init(machine().device("maincpu"), 0x018000, 0, 0);
}
-static DRIVER_INIT( cyberbalt )
+DRIVER_INIT_MEMBER(cyberbal_state,cyberbalt)
{
- atarigen_slapstic_init(machine.device("maincpu"), 0x018000, 0, 116);
+ atarigen_slapstic_init(machine().device("maincpu"), 0x018000, 0, 116);
}
-static DRIVER_INIT( cyberbal2p )
+DRIVER_INIT_MEMBER(cyberbal_state,cyberbal2p)
{
- atarijsa_init(machine, "IN2", 0x8000);
+ atarijsa_init(machine(), "IN2", 0x8000);
}
diff --git a/src/mame/drivers/cybertnk.c b/src/mame/drivers/cybertnk.c
index fac992f522e..f62c4cd0c02 100644
--- a/src/mame/drivers/cybertnk.c
+++ b/src/mame/drivers/cybertnk.c
@@ -213,6 +213,7 @@ public:
DECLARE_READ8_MEMBER(cybertnk_mux_r);
DECLARE_WRITE8_MEMBER(cybertnk_irq_ack_w);
DECLARE_WRITE8_MEMBER(cybertnk_cnt_w);
+ DECLARE_DRIVER_INIT(cybertnk);
};
/* tile format
@@ -971,9 +972,9 @@ ROM_START( cybertnk )
ROM_LOAD( "ic30", 0x0260, 0x0020, CRC(2bb6033f) SHA1(eb994108734d7d04f8e293eca21bb3051a63cfe9) )
ROM_END
-DRIVER_INIT( cybertnk )
+DRIVER_INIT_MEMBER(cybertnk_state,cybertnk)
{
- UINT32 *spr = (UINT32*)machine.root_device().memregion("spr_gfx")->base();
+ UINT32 *spr = (UINT32*)machine().root_device().memregion("spr_gfx")->base();
for (int x = 0; x< 0x200000/4;x++)
{
diff --git a/src/mame/drivers/cyclemb.c b/src/mame/drivers/cyclemb.c
index 63b761c5938..0e853568fd3 100644
--- a/src/mame/drivers/cyclemb.c
+++ b/src/mame/drivers/cyclemb.c
@@ -109,6 +109,8 @@ public:
DECLARE_WRITE8_MEMBER(cyclemb_flip_w);
DECLARE_READ8_MEMBER(skydest_i8741_0_r);
DECLARE_WRITE8_MEMBER(skydest_i8741_0_w);
+ DECLARE_DRIVER_INIT(skydest);
+ DECLARE_DRIVER_INIT(cyclemb);
};
@@ -1004,18 +1006,16 @@ ROM_START( skydest )
ROM_LOAD( "blue.4j", 0x000, 0x100, CRC(34579681) SHA1(10e5e137837bdd71959f0c4bf52e0f333630a22f) )
ROM_END
-static DRIVER_INIT( cyclemb )
+DRIVER_INIT_MEMBER(cyclemb_state,cyclemb)
{
- cyclemb_state *state = machine.driver_data<cyclemb_state>();
- machine.root_device().membank("bank1")->configure_entries(0, 4, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x1000);
- state->m_dsw_pc_hack = 0x760;
+ machine().root_device().membank("bank1")->configure_entries(0, 4, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x1000);
+ m_dsw_pc_hack = 0x760;
}
-static DRIVER_INIT( skydest )
+DRIVER_INIT_MEMBER(cyclemb_state,skydest)
{
- cyclemb_state *state = machine.driver_data<cyclemb_state>();
- machine.root_device().membank("bank1")->configure_entries(0, 4, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x1000);
- state->m_dsw_pc_hack = 0x554;
+ machine().root_device().membank("bank1")->configure_entries(0, 4, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x1000);
+ m_dsw_pc_hack = 0x554;
}
GAME( 1984, cyclemb, 0, cyclemb, cyclemb, cyclemb_state, cyclemb, ROT0, "Taito Corporation", "Cycle Maabou (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
diff --git a/src/mame/drivers/d9final.c b/src/mame/drivers/d9final.c
index 6bdbe56831a..73b6d1a5763 100644
--- a/src/mame/drivers/d9final.c
+++ b/src/mame/drivers/d9final.c
@@ -322,4 +322,4 @@ ROM_END
-GAME( 1992, d9final, 0, d9final, d9final, d9final_state, 0, ROT0, "Excellent System", "Dream 9 Final (v2.24)", 0 )
+GAME( 1992, d9final, 0, d9final, d9final, driver_device, 0, ROT0, "Excellent System", "Dream 9 Final (v2.24)", 0 )
diff --git a/src/mame/drivers/dacholer.c b/src/mame/drivers/dacholer.c
index d8cedfbad84..c3464746aa2 100644
--- a/src/mame/drivers/dacholer.c
+++ b/src/mame/drivers/dacholer.c
@@ -843,6 +843,6 @@ ROM_START( itaten )
ROM_END
-GAME( 1983, dacholer, 0, dacholer, dacholer, dacholer_state, 0, ROT0, "Nichibutsu", "Dacholer", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1983, kickboy, 0, dacholer, kickboy, dacholer_state, 0, ROT0, "Nichibutsu", "Kick Boy", GAME_SUPPORTS_SAVE )
-GAME( 1984, itaten, 0, itaten, itaten, dacholer_state, 0, ROT0, "Nichibutsu / Alice", "Itazura Tenshi (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1983, dacholer, 0, dacholer, dacholer, driver_device, 0, ROT0, "Nichibutsu", "Dacholer", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1983, kickboy, 0, dacholer, kickboy, driver_device, 0, ROT0, "Nichibutsu", "Kick Boy", GAME_SUPPORTS_SAVE )
+GAME( 1984, itaten, 0, itaten, itaten, driver_device, 0, ROT0, "Nichibutsu / Alice", "Itazura Tenshi (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dai3wksi.c b/src/mame/drivers/dai3wksi.c
index b3217f218b0..928f180729a 100644
--- a/src/mame/drivers/dai3wksi.c
+++ b/src/mame/drivers/dai3wksi.c
@@ -657,4 +657,4 @@ ROM_END
*
*************************************/
-GAME( 1979, dai3wksi, 0, dai3wksi, dai3wksi, dai3wksi_state, 0, ROT270, "Sun Electronics", "Dai San Wakusei Meteor (Japan)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, dai3wksi, 0, dai3wksi, dai3wksi, driver_device, 0, ROT270, "Sun Electronics", "Dai San Wakusei Meteor (Japan)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dambustr.c b/src/mame/drivers/dambustr.c
index 263e7e64ffa..54bcc1b875a 100644
--- a/src/mame/drivers/dambustr.c
+++ b/src/mame/drivers/dambustr.c
@@ -62,6 +62,7 @@ public:
int m_noise_data;
DECLARE_WRITE8_MEMBER(dambustr_noise_enable_w);
+ DECLARE_DRIVER_INIT(dambustr);
};
@@ -202,13 +203,13 @@ static GFXDECODE_START( dambustr )
GFXDECODE_END
-static DRIVER_INIT(dambustr)
+DRIVER_INIT_MEMBER(dambustr_state,dambustr)
{
int i, j, tmp;
int tmpram[16];
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8 *usr = machine.root_device().memregion("user1")->base();
- UINT8 *gfx = machine.root_device().memregion("gfx1")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8 *usr = machine().root_device().memregion("user1")->base();
+ UINT8 *gfx = machine().root_device().memregion("gfx1")->base();
// Bit swap addresses
for(i=0; i<4096*4; i++) {
diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c
index 20a217cd377..a47fc722431 100644
--- a/src/mame/drivers/darius.c
+++ b/src/mame/drivers/darius.c
@@ -1270,10 +1270,10 @@ ROM_START( dariuse )
ROM_END
-static DRIVER_INIT( darius )
+DRIVER_INIT_MEMBER(darius_state,darius)
{
/**** setup sound bank image ****/
- UINT8 *RAM = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("audiocpu")->base();
int i;
for (i = 3; i >= 0; i--)
diff --git a/src/mame/drivers/darkmist.c b/src/mame/drivers/darkmist.c
index 1db43326b75..eab243bd95c 100644
--- a/src/mame/drivers/darkmist.c
+++ b/src/mame/drivers/darkmist.c
@@ -400,17 +400,17 @@ static void decrypt_snd(running_machine &machine)
ROM[i] = BITSWAP8(ROM[i], 7,1,2,3,4,5,6,0);
}
-static DRIVER_INIT(darkmist)
+DRIVER_INIT_MEMBER(darkmist_state,darkmist)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int i, len;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- UINT8 *buffer = auto_alloc_array(machine, UINT8, 0x10000);
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, 0x8000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ UINT8 *buffer = auto_alloc_array(machine(), UINT8, 0x10000);
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, 0x8000);
- decrypt_gfx(machine);
+ decrypt_gfx(machine());
- decrypt_snd(machine);
+ decrypt_snd(machine());
for(i=0;i<0x8000;i++)
{
@@ -440,8 +440,8 @@ static DRIVER_INIT(darkmist)
space->machine().root_device().membank("bank1")->set_base(&ROM[0x010000]);
/* adr line swaps */
- ROM = machine.root_device().memregion("user1")->base();
- len = machine.root_device().memregion("user1")->bytes();
+ ROM = machine().root_device().memregion("user1")->base();
+ len = machine().root_device().memregion("user1")->bytes();
memcpy( buffer, ROM, len );
for(i=0;i<len;i++)
@@ -449,31 +449,31 @@ static DRIVER_INIT(darkmist)
ROM[i]=buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,15,6,5,4,3,2,14,13,12,11,8,7,1,0,10,9)];
}
- ROM = machine.root_device().memregion("user2")->base();
- len = machine.root_device().memregion("user2")->bytes();
+ ROM = machine().root_device().memregion("user2")->base();
+ len = machine().root_device().memregion("user2")->bytes();
memcpy( buffer, ROM, len );
for(i=0;i<len;i++)
{
ROM[i]=buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,15,6,5,4,3,2,14,13,12,11,8,7,1,0,10,9)];
}
- ROM = machine.root_device().memregion("user3")->base();
- len = machine.root_device().memregion("user3")->bytes();
+ ROM = machine().root_device().memregion("user3")->base();
+ len = machine().root_device().memregion("user3")->bytes();
memcpy( buffer, ROM, len );
for(i=0;i<len;i++)
{
ROM[i]=buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14 ,5,4,3,2,11,10,9,8,13,12,1,0,7,6)];
}
- ROM = machine.root_device().memregion("user4")->base();
- len = machine.root_device().memregion("user4")->bytes();
+ ROM = machine().root_device().memregion("user4")->base();
+ len = machine().root_device().memregion("user4")->bytes();
memcpy( buffer, ROM, len );
for(i=0;i<len;i++)
{
ROM[i]=buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14 ,5,4,3,2,11,10,9,8,13,12,1,0,7,6)];
}
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
GAME( 1986, darkmist, 0, darkmist, darkmist, darkmist_state, darkmist, ROT270, "Taito Corporation", "The Lost Castle In Darkmist", GAME_IMPERFECT_GRAPHICS|GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/darkseal.c b/src/mame/drivers/darkseal.c
index ea00525dff7..c43e5f8f027 100644
--- a/src/mame/drivers/darkseal.c
+++ b/src/mame/drivers/darkseal.c
@@ -469,9 +469,9 @@ ROM_END
/******************************************************************************/
-static DRIVER_INIT( darkseal )
+DRIVER_INIT_MEMBER(darkseal_state,darkseal)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
int i;
for (i=0x00000; i<0x80000; i++)
diff --git a/src/mame/drivers/dassault.c b/src/mame/drivers/dassault.c
index c732ebd08ad..b1c6968cffd 100644
--- a/src/mame/drivers/dassault.c
+++ b/src/mame/drivers/dassault.c
@@ -827,11 +827,11 @@ ROM_END
/**********************************************************************************/
-static DRIVER_INIT( dassault )
+DRIVER_INIT_MEMBER(dassault_state,dassault)
{
- const UINT8 *src = machine.root_device().memregion("gfx1")->base();
- UINT8 *dst = machine.root_device().memregion("gfx2")->base();
- UINT8 *tmp = auto_alloc_array(machine, UINT8, 0x80000);
+ const UINT8 *src = machine().root_device().memregion("gfx1")->base();
+ UINT8 *dst = machine().root_device().memregion("gfx2")->base();
+ UINT8 *tmp = auto_alloc_array(machine(), UINT8, 0x80000);
/* Playfield 4 also has access to the char graphics, make things easier
by just copying the chars to both banks (if I just used a different gfx
@@ -841,14 +841,14 @@ static DRIVER_INIT( dassault )
memcpy(dst + 0x080000, src + 0x00000, 0x10000);
memcpy(dst + 0x110000, src + 0x10000, 0x10000);
- auto_free(machine, tmp);
+ auto_free(machine(), tmp);
}
-static DRIVER_INIT( thndzone )
+DRIVER_INIT_MEMBER(dassault_state,thndzone)
{
- const UINT8 *src = machine.root_device().memregion("gfx1")->base();
- UINT8 *dst = machine.root_device().memregion("gfx2")->base();
- UINT8 *tmp = auto_alloc_array(machine, UINT8, 0x80000);
+ const UINT8 *src = machine().root_device().memregion("gfx1")->base();
+ UINT8 *dst = machine().root_device().memregion("gfx2")->base();
+ UINT8 *tmp = auto_alloc_array(machine(), UINT8, 0x80000);
/* Playfield 4 also has access to the char graphics, make things easier
by just copying the chars to both banks (if I just used a different gfx
@@ -858,7 +858,7 @@ static DRIVER_INIT( thndzone )
memcpy(dst + 0x080000, src + 0x00000, 0x10000);
memcpy(dst + 0x110000, src + 0x10000, 0x10000);
- auto_free(machine, tmp);
+ auto_free(machine(), tmp);
}
/**********************************************************************************/
diff --git a/src/mame/drivers/dblewing.c b/src/mame/drivers/dblewing.c
index 8ebba183b52..a0b9ac5be53 100644
--- a/src/mame/drivers/dblewing.c
+++ b/src/mame/drivers/dblewing.c
@@ -80,6 +80,7 @@ public:
DECLARE_READ16_MEMBER(dblewing_prot_r);
DECLARE_WRITE16_MEMBER(dblewing_prot_w);
DECLARE_READ8_MEMBER(irq_latch_r);
+ DECLARE_DRIVER_INIT(dblewing);
};
UINT16 dblwings_pri_callback(UINT16 x)
@@ -748,10 +749,10 @@ ROM_START( dblewing )
ROM_END
-static DRIVER_INIT( dblewing )
+DRIVER_INIT_MEMBER(dblewing_state,dblewing)
{
- deco56_decrypt_gfx(machine, "gfx1");
- deco102_decrypt_cpu(machine, "maincpu", 0x399d, 0x25, 0x3d);
+ deco56_decrypt_gfx(machine(), "gfx1");
+ deco102_decrypt_cpu(machine(), "maincpu", 0x399d, 0x25, 0x3d);
}
diff --git a/src/mame/drivers/dbz.c b/src/mame/drivers/dbz.c
index a5e41bd23ec..7df281992b7 100644
--- a/src/mame/drivers/dbz.c
+++ b/src/mame/drivers/dbz.c
@@ -538,11 +538,11 @@ ROM_START( dbz2 )
ROM_LOAD( "pcm.7c", 0x000000, 0x40000, CRC(b58c884a) SHA1(0e2a7267e9dff29c9af25558081ec9d56629bc43) )
ROM_END
-static DRIVER_INIT( dbz )
+DRIVER_INIT_MEMBER(dbz_state,dbz)
{
UINT16 *ROM;
- ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// to avoid crash during loop at 0x00076e after D4 > 0x80 (reading tiles region out of bounds)
ROM[0x76c/2] = 0x007f; /* 0x00ff */
@@ -571,11 +571,11 @@ static DRIVER_INIT( dbz )
ROM[0x810/2] = 0x4e71; /* 0x005e */
}
-static DRIVER_INIT( dbza )
+DRIVER_INIT_MEMBER(dbz_state,dbza)
{
UINT16 *ROM;
- ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// nop out dbz1's mask rom test
// tile ROM test
@@ -594,11 +594,11 @@ static DRIVER_INIT( dbza )
ROM[0x990/2] = 0x4e71; /* 0x0010 */
}
-static DRIVER_INIT( dbz2 )
+DRIVER_INIT_MEMBER(dbz_state,dbz2)
{
UINT16 *ROM;
- ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// to avoid crash during loop at 0x000a4a after D4 > 0x80 (reading tiles region out of bounds)
ROM[0xa48/2] = 0x007f; /* 0x00ff */
diff --git a/src/mame/drivers/dcheese.c b/src/mame/drivers/dcheese.c
index 442c1a6f135..1619c3d523b 100644
--- a/src/mame/drivers/dcheese.c
+++ b/src/mame/drivers/dcheese.c
@@ -801,12 +801,12 @@ ROM_END
*
*************************************/
-GAME( 1993, dcheese, 0, dcheese, dcheese, dcheese_state, 0, ROT90, "HAR", "Double Cheese", GAME_SUPPORTS_SAVE )
-GAME( 1993, lottof2, 0, dcheese, lottof2, dcheese_state, 0, ROT0, "HAR", "Lotto Fun 2", GAME_SUPPORTS_SAVE )
-GAME( 1993, cecmatch, 0, fredmem, fredmem, dcheese_state, 0, ROT0, "Coastal Amusements", "ChuckECheese's Match Game", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmem, 0, fredmem, fredmem, dcheese_state, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (World?, Ticket version, 3/17/95)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmemus, fredmem, fredmem, fredmem, dcheese_state, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (US, High Score version, 3/10/95)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmemuk, fredmem, fredmem, fredmem, dcheese_state, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (UK, 3/17/95)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmemj, fredmem, fredmem, fredmem, dcheese_state, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (Japan, High Score version, 3/20/95)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmemc, fredmem, fredmem, fredmem, dcheese_state, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (Mandarin Chinese, 3/17/95)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmesp, fredmem, fredmem, fredmem, dcheese_state, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (Spanish, 3/17/95)", GAME_SUPPORTS_SAVE )
+GAME( 1993, dcheese, 0, dcheese, dcheese, driver_device, 0, ROT90, "HAR", "Double Cheese", GAME_SUPPORTS_SAVE )
+GAME( 1993, lottof2, 0, dcheese, lottof2, driver_device, 0, ROT0, "HAR", "Lotto Fun 2", GAME_SUPPORTS_SAVE )
+GAME( 1993, cecmatch, 0, fredmem, fredmem, driver_device, 0, ROT0, "Coastal Amusements", "ChuckECheese's Match Game", GAME_SUPPORTS_SAVE )
+GAME( 1994, fredmem, 0, fredmem, fredmem, driver_device, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (World?, Ticket version, 3/17/95)", GAME_SUPPORTS_SAVE )
+GAME( 1994, fredmemus, fredmem, fredmem, fredmem, driver_device, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (US, High Score version, 3/10/95)", GAME_SUPPORTS_SAVE )
+GAME( 1994, fredmemuk, fredmem, fredmem, fredmem, driver_device, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (UK, 3/17/95)", GAME_SUPPORTS_SAVE )
+GAME( 1994, fredmemj, fredmem, fredmem, fredmem, driver_device, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (Japan, High Score version, 3/20/95)", GAME_SUPPORTS_SAVE )
+GAME( 1994, fredmemc, fredmem, fredmem, fredmem, driver_device, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (Mandarin Chinese, 3/17/95)", GAME_SUPPORTS_SAVE )
+GAME( 1994, fredmesp, fredmem, fredmem, fredmem, driver_device, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (Spanish, 3/17/95)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dcon.c b/src/mame/drivers/dcon.c
index 060d92fa45a..77650a15cf9 100644
--- a/src/mame/drivers/dcon.c
+++ b/src/mame/drivers/dcon.c
@@ -373,9 +373,9 @@ ROM_START( sdgndmps )
ROM_END
/***************************************************************************/
-static DRIVER_INIT( sdgndmps )
+DRIVER_INIT_MEMBER(dcon_state,sdgndmps)
{
- UINT16 *RAM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
RAM[0x1356/2] = 0x4e71; /* beq -> nop */
RAM[0x1358/2] = 0x4e71;
@@ -386,4 +386,4 @@ static DRIVER_INIT( sdgndmps )
GAME( 1991, sdgndmps, 0, sdgndmps, sdgndmps, dcon_state, sdgndmps, ROT0, "Banpresto / Bandai", "SD Gundam Psycho Salamander no Kyoui", GAME_NO_COCKTAIL )
-GAME( 1992, dcon, 0, dcon, dcon, dcon_state, 0, ROT0, "Success", "D-Con", GAME_NO_COCKTAIL )
+GAME( 1992, dcon, 0, dcon, dcon, driver_device, 0, ROT0, "Success", "D-Con", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/dday.c b/src/mame/drivers/dday.c
index 09cd3bcec44..74c1d2f0c81 100644
--- a/src/mame/drivers/dday.c
+++ b/src/mame/drivers/dday.c
@@ -363,5 +363,5 @@ ROM_START( ddayc )
ROM_END
-GAME( 1982, dday, 0, dday, dday, dday_state, 0, ROT0, "Olympia", "D-Day", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1982, ddayc, dday, dday, ddayc, dday_state, 0, ROT0, "Olympia (Centuri license)", "D-Day (Centuri)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1982, dday, 0, dday, dday, driver_device, 0, ROT0, "Olympia", "D-Day", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1982, ddayc, dday, dday, ddayc, driver_device, 0, ROT0, "Olympia (Centuri license)", "D-Day (Centuri)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ddayjlc.c b/src/mame/drivers/ddayjlc.c
index 352f184ee16..46a995a18f4 100644
--- a/src/mame/drivers/ddayjlc.c
+++ b/src/mame/drivers/ddayjlc.c
@@ -99,6 +99,7 @@ public:
DECLARE_WRITE8_MEMBER(i8257_CH0_w);
DECLARE_WRITE8_MEMBER(i8257_LMSR_w);
DECLARE_CUSTOM_INPUT_MEMBER(prot_r);
+ DECLARE_DRIVER_INIT(ddayjlc);
};
@@ -634,7 +635,7 @@ ROM_START( ddayjlca )
ROM_END
-static DRIVER_INIT( ddayjlc )
+DRIVER_INIT_MEMBER(ddayjlc_state,ddayjlc)
{
#define repack(n)\
dst[newadr+0+n] = src[oldaddr+0+n];\
@@ -673,10 +674,10 @@ static DRIVER_INIT( ddayjlc )
{
UINT32 oldaddr, newadr, length,j;
UINT8 *src, *dst, *temp;
- temp = auto_alloc_array(machine, UINT8, 0x10000);
+ temp = auto_alloc_array(machine(), UINT8, 0x10000);
src = temp;
- dst = machine.root_device().memregion("gfx1")->base();
- length = machine.root_device().memregion("gfx1")->bytes();
+ dst = machine().root_device().memregion("gfx1")->base();
+ length = machine().root_device().memregion("gfx1")->bytes();
memcpy(src, dst, length);
newadr = 0;
oldaddr = 0;
@@ -687,11 +688,11 @@ static DRIVER_INIT( ddayjlc )
newadr += 32;
oldaddr += 16;
}
- auto_free(machine, temp);
+ auto_free(machine(), temp);
}
- machine.root_device().membank("bank1")->configure_entries(0, 3, machine.root_device().memregion("user1")->base(), 0x4000);
- machine.root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank1")->configure_entries(0, 3, machine().root_device().memregion("user1")->base(), 0x4000);
+ machine().root_device().membank("bank1")->set_entry(0);
}
GAME( 1984, ddayjlc, 0, ddayjlc, ddayjlc, ddayjlc_state, ddayjlc, ROT90, "Jaleco", "D-Day (Jaleco set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ddealer.c b/src/mame/drivers/ddealer.c
index 309e5d16cf8..53185a1f2e0 100644
--- a/src/mame/drivers/ddealer.c
+++ b/src/mame/drivers/ddealer.c
@@ -151,6 +151,7 @@ public:
DECLARE_WRITE16_MEMBER(ddealer_vregs_w);
DECLARE_WRITE16_MEMBER(ddealer_mcu_shared_w);
DECLARE_READ16_MEMBER(ddealer_mcu_r);
+ DECLARE_DRIVER_INIT(ddealer);
};
@@ -676,10 +677,9 @@ READ16_MEMBER(ddealer_state::ddealer_mcu_r)
return res;
}
-static DRIVER_INIT( ddealer )
+DRIVER_INIT_MEMBER(ddealer_state,ddealer)
{
- ddealer_state *state = machine.driver_data<ddealer_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfe01c, 0xfe01d, read16_delegate(FUNC(ddealer_state::ddealer_mcu_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfe01c, 0xfe01d, read16_delegate(FUNC(ddealer_state::ddealer_mcu_r), this));
}
ROM_START( ddealer )
diff --git a/src/mame/drivers/ddenlovr.c b/src/mame/drivers/ddenlovr.c
index 9d6982a1476..ed9fcc3e101 100644
--- a/src/mame/drivers/ddenlovr.c
+++ b/src/mame/drivers/ddenlovr.c
@@ -10120,7 +10120,7 @@ ROM_START( ddenlovrb )
ROM_LOAD( "rom1", 0x000000, 0x080000, CRC(ba4723e8) SHA1(fd32b33bd43773fed083990b59a3994f4a631b04) )
ROM_END
-static DRIVER_INIT( rongrong )
+DRIVER_INIT_MEMBER(dynax_state,rongrong)
{
/* Rong Rong seems to have a protection that works this way:
- write 01 to port c2
@@ -10135,7 +10135,7 @@ static DRIVER_INIT( rongrong )
version of the game might be a bootleg with the protection
patched. (both sets need this)
*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x60d4, 0x60d4);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x60d4, 0x60d4);
}
/***************************************************************************
@@ -11398,48 +11398,47 @@ ROM_START( seljan2 )
ROM_LOAD( "5571.1c", 0x000000, 0x80000, CRC(5a8cd45c) SHA1(25ca573b8ba226fb3f2de48c57b5ced6884eaa63) ) // = 50201.1c (sryudens)
ROM_END
-static DRIVER_INIT( momotaro )
-{
- dynax_state *state = machine.driver_data<dynax_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0xe0, 0xe0, read8_delegate(FUNC(dynax_state::momotaro_protection_r),state));
-}
-
-GAME( 1992, mmpanic, 0, mmpanic, mmpanic, dynax_state, 0, ROT0, "Nakanihon / East Technology (Taito license)", "Monkey Mole Panic (USA)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, funkyfig, 0, funkyfig, funkyfig, dynax_state, 0, ROT0, "Nakanihon / East Technology (Taito license)", "The First Funky Fighter", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // scrolling, priority?
-GAME( 1993, quizchq, 0, quizchq, quizchq, dynax_state, 0, ROT0, "Nakanihon", "Quiz Channel Question (Ver 1.00) (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1993, quizchql, quizchq, quizchq, quizchq, dynax_state, 0, ROT0, "Nakanihon (Laxan license)", "Quiz Channel Question (Ver 1.23) (Taiwan?)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1993, animaljr, 0, mmpanic, animaljr, dynax_state, 0, ROT0, "Nakanihon / East Technology (Taito license)", "Exciting Animal Land Jr. (USA)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1993, animaljrs, animaljr, mmpanic, animaljr, dynax_state, 0, ROT0, "Nakanihon / East Technology (Taito license)", "Animalandia Jr. (Spanish)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1993, animaljrj, animaljr, mmpanic, animaljr, dynax_state, 0, ROT0, "Nakanihon / East Technology (Taito license)", "Waiwai Animal Land Jr. (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, hginga, 0, hginga, hginga, dynax_state, 0, ROT0, "Dynax", "Hanafuda Hana Ginga", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, mjmyster, 0, mjmyster, mjmyster, dynax_state, 0, ROT0, "Dynax", "Mahjong The Mysterious World (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, mjmywrld, mjmyster, mjmywrld, mjmyster, dynax_state, 0, ROT0, "Dynax", "Mahjong The Mysterious World (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, mjmyornt, 0, mjmyornt, mjmyornt, dynax_state, 0, ROT0, "Dynax", "Mahjong The Mysterious Orient", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, mjmyuniv, 0, mjmyuniv, mjmyster, dynax_state, 0, ROT0, "Dynax", "Mahjong The Mysterious Universe", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, quiz365, 0, quiz365, quiz365, dynax_state, 0, ROT0, "Nakanihon", "Quiz 365 (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1994, quiz365t, quiz365, quiz365, quiz365, dynax_state, 0, ROT0, "Nakanihon / Taito", "Quiz 365 (Hong Kong & Taiwan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+DRIVER_INIT_MEMBER(dynax_state,momotaro)
+{
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0xe0, 0xe0, read8_delegate(FUNC(dynax_state::momotaro_protection_r),this));
+}
+
+GAME( 1992, mmpanic, 0, mmpanic, mmpanic, driver_device, 0, ROT0, "Nakanihon / East Technology (Taito license)", "Monkey Mole Panic (USA)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, funkyfig, 0, funkyfig, funkyfig, driver_device, 0, ROT0, "Nakanihon / East Technology (Taito license)", "The First Funky Fighter", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // scrolling, priority?
+GAME( 1993, quizchq, 0, quizchq, quizchq, driver_device, 0, ROT0, "Nakanihon", "Quiz Channel Question (Ver 1.00) (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, quizchql, quizchq, quizchq, quizchq, driver_device, 0, ROT0, "Nakanihon (Laxan license)", "Quiz Channel Question (Ver 1.23) (Taiwan?)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, animaljr, 0, mmpanic, animaljr, driver_device, 0, ROT0, "Nakanihon / East Technology (Taito license)", "Exciting Animal Land Jr. (USA)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1993, animaljrs, animaljr, mmpanic, animaljr, driver_device, 0, ROT0, "Nakanihon / East Technology (Taito license)", "Animalandia Jr. (Spanish)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1993, animaljrj, animaljr, mmpanic, animaljr, driver_device, 0, ROT0, "Nakanihon / East Technology (Taito license)", "Waiwai Animal Land Jr. (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1994, hginga, 0, hginga, hginga, driver_device, 0, ROT0, "Dynax", "Hanafuda Hana Ginga", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1994, mjmyster, 0, mjmyster, mjmyster, driver_device, 0, ROT0, "Dynax", "Mahjong The Mysterious World (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1994, mjmywrld, mjmyster, mjmywrld, mjmyster, driver_device, 0, ROT0, "Dynax", "Mahjong The Mysterious World (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1994, mjmyornt, 0, mjmyornt, mjmyornt, driver_device, 0, ROT0, "Dynax", "Mahjong The Mysterious Orient", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1994, mjmyuniv, 0, mjmyuniv, mjmyster, driver_device, 0, ROT0, "Dynax", "Mahjong The Mysterious Universe", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1994, quiz365, 0, quiz365, quiz365, driver_device, 0, ROT0, "Nakanihon", "Quiz 365 (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1994, quiz365t, quiz365, quiz365, quiz365, driver_device, 0, ROT0, "Nakanihon / Taito", "Quiz 365 (Hong Kong & Taiwan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1994, rongrong, 0, rongrong, rongrong, dynax_state, rongrong, ROT0, "Nakanihon (Activision license)", "Puzzle Game Rong Rong (Europe)", GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1994, rongrongj, rongrong, rongrong, rongrong, dynax_state, rongrong, ROT0, "Nakanihon (Activision license)", "Puzzle Game Rong Rong (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1994, rongrongg, rongrong, rongrong, rongrong, dynax_state, rongrong, ROT0, "Nakanihon (Activision license)", "Puzzle Game Rong Rong (Germany)", GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1994, hparadis, 0, hparadis, hparadis, dynax_state, 0, ROT0, "Dynax", "Super Hana Paradise (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, hgokou, 0, hgokou, hgokou, dynax_state, 0, ROT0, "Dynax (Alba license)", "Hanafuda Hana Gokou (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, hgokbang, hgokou, hgokbang, hgokou, dynax_state, 0, ROT0, "Dynax", "Hanafuda Hana Gokou Bangaihen (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, mjdchuka, 0, mjchuuka, mjchuuka, dynax_state, 0, ROT0, "Dynax", "Mahjong The Dai Chuuka Ken (China, v. D111)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, nettoqc, 0, nettoqc, nettoqc, dynax_state, 0, ROT0, "Nakanihon", "Nettoh Quiz Champion (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1995, ddenlovj, 0, ddenlovj, ddenlovj, dynax_state, 0, ROT0, "Dynax", "Don Den Lover Vol. 1 - Shiro Kuro Tsukeyo! (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, ddenlovrk, ddenlovj, ddenlovrk, ddenlovr, dynax_state, 0, ROT0, "Dynax", "Don Den Lover Vol. 1 - Heukbaeg-euro Jeonghaja (Korea)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, ddenlovrb, ddenlovj, ddenlovr, ddenlovr, dynax_state, 0, ROT0, "bootleg", "Don Den Lover Vol. 1 - Heukbaeg-euro Jeonghaja (Korea, bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, ddenlovr, ddenlovj, ddenlovr, ddenlovr, dynax_state, 0, ROT0, "Dynax", "Don Den Lover Vol. 1 (Hong Kong)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, hanakanz, 0, hanakanz, hanakanz, dynax_state, 0, ROT0, "Dynax", "Hana Kanzashi (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, akamaru, 0, akamaru, akamaru, dynax_state, 0, ROT0, "Dynax (Nakanihon license)", "Panel & Variety Akamaru Q Jousyou Dont-R", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, janshinp, 0, janshinp, janshinp, dynax_state, 0, ROT0, "Dynax / Sigma", "Mahjong Janshin Plus (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, dtoyoken, 0, dtoyoken, dtoyoken, dynax_state, 0, ROT0, "Dynax / Sigma", "Mahjong Dai Touyouken (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, sryudens, 0, sryudens, sryudens, dynax_state, 0, ROT0, "Dynax / Face", "Mahjong Seiryu Densetsu (Japan, NM502)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1996, seljan2, 0, seljan2, seljan2, dynax_state, 0, ROT0, "Dynax / Face", "Return Of Sel Jan II (Japan, NM557)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1996, mjflove, 0, mjflove, mjflove, dynax_state, 0, ROT0, "Nakanihon", "Mahjong Fantasic Love (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1997, hkagerou, 0, hkagerou, hkagerou, dynax_state, 0, ROT0, "Nakanihon / Dynax", "Hana Kagerou [BET] (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1998, mjchuuka, 0, mjchuuka, mjchuuka, dynax_state, 0, ROT0, "Dynax", "Mahjong Chuukanejyo (China)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1998, mjreach1, 0, mjreach1, mjreach1, dynax_state, 0, ROT0, "Nihon System", "Mahjong Reach Ippatsu (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1999, jongtei, 0, jongtei, jongtei, dynax_state, 0, ROT0, "Dynax", "Mahjong Jong-Tei (Japan, ver. NM532-01)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 2002, daimyojn, 0, daimyojn, daimyojn, dynax_state, 0, ROT0, "Dynax / Techno-Top / Techno-Planning", "Mahjong Daimyojin (Japan, T017-PB-00)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1994, hparadis, 0, hparadis, hparadis, driver_device, 0, ROT0, "Dynax", "Super Hana Paradise (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1995, hgokou, 0, hgokou, hgokou, driver_device, 0, ROT0, "Dynax (Alba license)", "Hanafuda Hana Gokou (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1995, hgokbang, hgokou, hgokbang, hgokou, driver_device, 0, ROT0, "Dynax", "Hanafuda Hana Gokou Bangaihen (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1995, mjdchuka, 0, mjchuuka, mjchuuka, driver_device, 0, ROT0, "Dynax", "Mahjong The Dai Chuuka Ken (China, v. D111)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1995, nettoqc, 0, nettoqc, nettoqc, driver_device, 0, ROT0, "Nakanihon", "Nettoh Quiz Champion (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1995, ddenlovj, 0, ddenlovj, ddenlovj, driver_device, 0, ROT0, "Dynax", "Don Den Lover Vol. 1 - Shiro Kuro Tsukeyo! (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1995, ddenlovrk, ddenlovj, ddenlovrk, ddenlovr, driver_device, 0, ROT0, "Dynax", "Don Den Lover Vol. 1 - Heukbaeg-euro Jeonghaja (Korea)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1995, ddenlovrb, ddenlovj, ddenlovr, ddenlovr, driver_device, 0, ROT0, "bootleg", "Don Den Lover Vol. 1 - Heukbaeg-euro Jeonghaja (Korea, bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1996, ddenlovr, ddenlovj, ddenlovr, ddenlovr, driver_device, 0, ROT0, "Dynax", "Don Den Lover Vol. 1 (Hong Kong)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1996, hanakanz, 0, hanakanz, hanakanz, driver_device, 0, ROT0, "Dynax", "Hana Kanzashi (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1996, akamaru, 0, akamaru, akamaru, driver_device, 0, ROT0, "Dynax (Nakanihon license)", "Panel & Variety Akamaru Q Jousyou Dont-R", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1996, janshinp, 0, janshinp, janshinp, driver_device, 0, ROT0, "Dynax / Sigma", "Mahjong Janshin Plus (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1996, dtoyoken, 0, dtoyoken, dtoyoken, driver_device, 0, ROT0, "Dynax / Sigma", "Mahjong Dai Touyouken (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1996, sryudens, 0, sryudens, sryudens, driver_device, 0, ROT0, "Dynax / Face", "Mahjong Seiryu Densetsu (Japan, NM502)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1996, seljan2, 0, seljan2, seljan2, driver_device, 0, ROT0, "Dynax / Face", "Return Of Sel Jan II (Japan, NM557)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1996, mjflove, 0, mjflove, mjflove, driver_device, 0, ROT0, "Nakanihon", "Mahjong Fantasic Love (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1997, hkagerou, 0, hkagerou, hkagerou, driver_device, 0, ROT0, "Nakanihon / Dynax", "Hana Kagerou [BET] (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1998, mjchuuka, 0, mjchuuka, mjchuuka, driver_device, 0, ROT0, "Dynax", "Mahjong Chuukanejyo (China)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1998, mjreach1, 0, mjreach1, mjreach1, driver_device, 0, ROT0, "Nihon System", "Mahjong Reach Ippatsu (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1999, jongtei, 0, jongtei, jongtei, driver_device, 0, ROT0, "Dynax", "Mahjong Jong-Tei (Japan, ver. NM532-01)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 2002, daimyojn, 0, daimyojn, daimyojn, driver_device, 0, ROT0, "Dynax / Techno-Top / Techno-Planning", "Mahjong Daimyojin (Japan, T017-PB-00)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 2004, momotaro, 0, daimyojn, daimyojn, dynax_state, momotaro, ROT0, "Techno-Top", "Mahjong Momotarou (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/ddragon.c b/src/mame/drivers/ddragon.c
index 692fa7de42b..b9962856168 100644
--- a/src/mame/drivers/ddragon.c
+++ b/src/mame/drivers/ddragon.c
@@ -1980,69 +1980,65 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( ddragon )
+DRIVER_INIT_MEMBER(ddragon_state,ddragon)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
- state->m_sprite_irq = INPUT_LINE_NMI;
- state->m_sound_irq = M6809_IRQ_LINE;
- state->m_ym_irq = M6809_FIRQ_LINE;
- state->m_technos_video_hw = 0;
+ m_sprite_irq = INPUT_LINE_NMI;
+ m_sound_irq = M6809_IRQ_LINE;
+ m_ym_irq = M6809_FIRQ_LINE;
+ m_technos_video_hw = 0;
}
-static DRIVER_INIT( ddragon2 )
+DRIVER_INIT_MEMBER(ddragon_state,ddragon2)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
- state->m_sprite_irq = INPUT_LINE_NMI;
- state->m_sound_irq = INPUT_LINE_NMI;
- state->m_ym_irq = 0;
- state->m_technos_video_hw = 2;
+ m_sprite_irq = INPUT_LINE_NMI;
+ m_sound_irq = INPUT_LINE_NMI;
+ m_ym_irq = 0;
+ m_technos_video_hw = 2;
}
-static DRIVER_INIT( darktowr )
+DRIVER_INIT_MEMBER(ddragon_state,darktowr)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
- state->m_sprite_irq = INPUT_LINE_NMI;
- state->m_sound_irq = M6809_IRQ_LINE;
- state->m_ym_irq = M6809_FIRQ_LINE;
- state->m_technos_video_hw = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x3808, 0x3808, write8_delegate(FUNC(ddragon_state::darktowr_bankswitch_w),state));
+ m_sprite_irq = INPUT_LINE_NMI;
+ m_sound_irq = M6809_IRQ_LINE;
+ m_ym_irq = M6809_FIRQ_LINE;
+ m_technos_video_hw = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x3808, 0x3808, write8_delegate(FUNC(ddragon_state::darktowr_bankswitch_w),this));
}
-static DRIVER_INIT( toffy )
+DRIVER_INIT_MEMBER(ddragon_state,toffy)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
int i, length;
UINT8 *rom;
- state->m_sound_irq = M6809_IRQ_LINE;
- state->m_ym_irq = M6809_FIRQ_LINE;
- state->m_technos_video_hw = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x3808, 0x3808, write8_delegate(FUNC(ddragon_state::toffy_bankswitch_w),state));
+ m_sound_irq = M6809_IRQ_LINE;
+ m_ym_irq = M6809_FIRQ_LINE;
+ m_technos_video_hw = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x3808, 0x3808, write8_delegate(FUNC(ddragon_state::toffy_bankswitch_w),this));
/* the program rom has a simple bitswap encryption */
- rom = state->memregion("maincpu")->base();
- length = state->memregion("maincpu")->bytes();
+ rom = memregion("maincpu")->base();
+ length = memregion("maincpu")->bytes();
for (i = 0; i < length; i++)
rom[i] = BITSWAP8(rom[i], 6,7,5,4,3,2,1,0);
/* and the fg gfx ... */
- rom = state->memregion("gfx1")->base();
- length = state->memregion("gfx1")->bytes();
+ rom = memregion("gfx1")->base();
+ length = memregion("gfx1")->bytes();
for (i = 0; i < length; i++)
rom[i] = BITSWAP8(rom[i], 7,6,5,3,4,2,1,0);
/* and the sprites gfx */
- rom = state->memregion("gfx2")->base();
- length = state->memregion("gfx2")->bytes();
+ rom = memregion("gfx2")->base();
+ length = memregion("gfx2")->bytes();
for (i = 0; i < length; i++)
rom[i] = BITSWAP8(rom[i], 7,6,5,4,3,2,0,1);
/* and the bg gfx */
- rom = state->memregion("gfx3")->base();
- length = state->memregion("gfx3")->bytes();
+ rom = memregion("gfx3")->base();
+ length = memregion("gfx3")->bytes();
for (i = 0; i < length / 2; i++)
{
rom[i + 0*length/2] = BITSWAP8(rom[i + 0*length/2], 7,6,1,4,3,2,5,0);
@@ -2052,14 +2048,13 @@ static DRIVER_INIT( toffy )
/* should the sound rom be bitswapped too? */
}
-static DRIVER_INIT( ddragon6809 )
+DRIVER_INIT_MEMBER(ddragon_state,ddragon6809)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
int i;
UINT8 *dst,*src;
- src = state->memregion("chars")->base();
- dst = state->memregion("gfx1")->base();
+ src = memregion("chars")->base();
+ dst = memregion("gfx1")->base();
for (i = 0; i < 0x8000; i++)
{
@@ -2072,10 +2067,10 @@ static DRIVER_INIT( ddragon6809 )
}
}
- state->m_sprite_irq = INPUT_LINE_NMI;
- state->m_sound_irq = M6809_IRQ_LINE;
- state->m_ym_irq = M6809_FIRQ_LINE;
- state->m_technos_video_hw = 0;
+ m_sprite_irq = INPUT_LINE_NMI;
+ m_sound_irq = M6809_IRQ_LINE;
+ m_ym_irq = M6809_FIRQ_LINE;
+ m_technos_video_hw = 0;
}
/*************************************
diff --git a/src/mame/drivers/ddragon3.c b/src/mame/drivers/ddragon3.c
index 720229aacf5..5ba070d8e74 100644
--- a/src/mame/drivers/ddragon3.c
+++ b/src/mame/drivers/ddragon3.c
@@ -1008,12 +1008,12 @@ ROM_END
*
*************************************/
-GAME( 1990, ddragon3, 0, ddragon3, ddragon3, ddragon3_state, 0, ROT0, "Technos Japan", "Double Dragon 3 - The Rosetta Stone (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ddragon3j,ddragon3, ddragon3, ddragon3, ddragon3_state, 0, ROT0, "Technos Japan", "Double Dragon 3 - The Rosetta Stone (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ddragon3p,ddragon3, ddragon3, ddragon3, ddragon3_state, 0, ROT0, "Technos Japan", "Double Dragon 3 - The Rosetta Stone (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ddragon3b,ddragon3, ddragon3b,ddragon3b, ddragon3_state,0, ROT0, "bootleg", "Double Dragon 3 - The Rosetta Stone (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ctribe, 0, ctribe, ctribe, ddragon3_state, 0, ROT0, "Technos Japan", "The Combatribes (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ctribe1, ctribe, ctribe, ctribe, ddragon3_state, 0, ROT0, "Technos Japan", "The Combatribes (US set 1?)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ctribej, ctribe, ctribe, ctribe, ddragon3_state, 0, ROT0, "Technos Japan", "The Combatribes (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ctribeb, ctribe, ctribe, ctribeb, ddragon3_state, 0, ROT0, "bootleg", "The Combatribes (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ctribeb2, ctribe, ctribe, ctribeb, ddragon3_state, 0, ROT0, "bootleg", "The Combatribes (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ddragon3, 0, ddragon3, ddragon3, driver_device, 0, ROT0, "Technos Japan", "Double Dragon 3 - The Rosetta Stone (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ddragon3j,ddragon3, ddragon3, ddragon3, driver_device, 0, ROT0, "Technos Japan", "Double Dragon 3 - The Rosetta Stone (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ddragon3p,ddragon3, ddragon3, ddragon3, driver_device, 0, ROT0, "Technos Japan", "Double Dragon 3 - The Rosetta Stone (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ddragon3b,ddragon3, ddragon3b,ddragon3b, driver_device,0, ROT0, "bootleg", "Double Dragon 3 - The Rosetta Stone (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ctribe, 0, ctribe, ctribe, driver_device, 0, ROT0, "Technos Japan", "The Combatribes (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ctribe1, ctribe, ctribe, ctribe, driver_device, 0, ROT0, "Technos Japan", "The Combatribes (US set 1?)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ctribej, ctribe, ctribe, ctribe, driver_device, 0, ROT0, "Technos Japan", "The Combatribes (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ctribeb, ctribe, ctribe, ctribeb, driver_device, 0, ROT0, "bootleg", "The Combatribes (bootleg set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ctribeb2, ctribe, ctribe, ctribeb, driver_device, 0, ROT0, "bootleg", "The Combatribes (bootleg set 2)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ddribble.c b/src/mame/drivers/ddribble.c
index b23b5e21ab6..1d3911ba825 100644
--- a/src/mame/drivers/ddribble.c
+++ b/src/mame/drivers/ddribble.c
@@ -403,5 +403,5 @@ ROM_START( ddribblep )
ROM_LOAD( "voice_10.d7", 0x10000, 0x10000, CRC(b4c97494) SHA1(93f7c3c93f6f790c3f480e183da0105b5ac3593b) )
ROM_END
-GAME( 1986, ddribble, 0, ddribble, ddribble, ddribble_state, 0, ROT0, "Konami", "Double Dribble", GAME_SUPPORTS_SAVE )
-GAME( 1986, ddribblep, ddribble, ddribble, ddribble, ddribble_state, 0, ROT0, "Konami", "Double Dribble (prototype?)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ddribble, 0, ddribble, ddribble, driver_device, 0, ROT0, "Konami", "Double Dribble", GAME_SUPPORTS_SAVE )
+GAME( 1986, ddribblep, ddribble, ddribble, ddribble, driver_device, 0, ROT0, "Konami", "Double Dribble (prototype?)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ddz.c b/src/mame/drivers/ddz.c
index c1f0a9bb518..80cffa447ef 100644
--- a/src/mame/drivers/ddz.c
+++ b/src/mame/drivers/ddz.c
@@ -99,4 +99,4 @@ ROM_START( ddz )
ROM_END
-GAME( 200?, ddz, 0, ddz, ddz, ddz_state, 0, ROT0, "IGS?", "Dou Di Zhu", GAME_IS_SKELETON )
+GAME( 200?, ddz, 0, ddz, ddz, driver_device, 0, ROT0, "IGS?", "Dou Di Zhu", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/de_1.c b/src/mame/drivers/de_1.c
index 0d4b11fe222..59fce04c3ca 100644
--- a/src/mame/drivers/de_1.c
+++ b/src/mame/drivers/de_1.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(de_1);
};
@@ -35,7 +37,7 @@ void de_1_state::machine_reset()
{
}
-static DRIVER_INIT( de_1 )
+DRIVER_INIT_MEMBER(de_1_state,de_1)
{
}
diff --git a/src/mame/drivers/de_2.c b/src/mame/drivers/de_2.c
index 8cf77b9918c..202f597a377 100644
--- a/src/mame/drivers/de_2.c
+++ b/src/mame/drivers/de_2.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(de_2);
};
@@ -35,7 +37,7 @@ void de_2_state::machine_reset()
{
}
-static DRIVER_INIT( de_2 )
+DRIVER_INIT_MEMBER(de_2_state,de_2)
{
}
diff --git a/src/mame/drivers/de_3.c b/src/mame/drivers/de_3.c
index bd89c12e041..57f9a24aa6d 100644
--- a/src/mame/drivers/de_3.c
+++ b/src/mame/drivers/de_3.c
@@ -25,6 +25,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(de_3);
};
@@ -39,7 +41,7 @@ void de_3_state::machine_reset()
{
}
-static DRIVER_INIT( de_3 )
+DRIVER_INIT_MEMBER(de_3_state,de_3)
{
}
diff --git a/src/mame/drivers/de_3b.c b/src/mame/drivers/de_3b.c
index 6a185315571..7690affc5ca 100644
--- a/src/mame/drivers/de_3b.c
+++ b/src/mame/drivers/de_3b.c
@@ -25,6 +25,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(de_3b);
};
@@ -39,7 +41,7 @@ void de_3b_state::machine_reset()
{
}
-static DRIVER_INIT( de_3b )
+DRIVER_INIT_MEMBER(de_3b_state,de_3b)
{
}
diff --git a/src/mame/drivers/deadang.c b/src/mame/drivers/deadang.c
index 64cbe1f4896..57a78fc2b54 100644
--- a/src/mame/drivers/deadang.c
+++ b/src/mame/drivers/deadang.c
@@ -410,22 +410,21 @@ ROM_END
/* Driver Initialization */
-static DRIVER_INIT( deadang )
+DRIVER_INIT_MEMBER(deadang_state,deadang)
{
- seibu_sound_decrypt(machine, "audiocpu", 0x2000);
- seibu_adpcm_decrypt(machine, "adpcm1");
- seibu_adpcm_decrypt(machine, "adpcm2");
+ seibu_sound_decrypt(machine(), "audiocpu", 0x2000);
+ seibu_adpcm_decrypt(machine(), "adpcm1");
+ seibu_adpcm_decrypt(machine(), "adpcm2");
}
-static DRIVER_INIT( ghunter )
+DRIVER_INIT_MEMBER(deadang_state,ghunter)
{
- seibu_sound_decrypt(machine, "audiocpu", 0x2000);
- seibu_adpcm_decrypt(machine, "adpcm1");
- seibu_adpcm_decrypt(machine, "adpcm2");
+ seibu_sound_decrypt(machine(), "audiocpu", 0x2000);
+ seibu_adpcm_decrypt(machine(), "adpcm1");
+ seibu_adpcm_decrypt(machine(), "adpcm2");
- deadang_state *state = machine.driver_data<deadang_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80000, 0x80001, read16_delegate(FUNC(deadang_state::ghunter_trackball_low_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xb0000, 0xb0001, read16_delegate(FUNC(deadang_state::ghunter_trackball_high_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80000, 0x80001, read16_delegate(FUNC(deadang_state::ghunter_trackball_low_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xb0000, 0xb0001, read16_delegate(FUNC(deadang_state::ghunter_trackball_high_r),this));
}
/* Game Drivers */
diff --git a/src/mame/drivers/dec0.c b/src/mame/drivers/dec0.c
index ea6b7744645..a89a68368ee 100644
--- a/src/mame/drivers/dec0.c
+++ b/src/mame/drivers/dec0.c
@@ -3041,13 +3041,12 @@ ROM_START( bouldashj )
ROM_END
-static DRIVER_INIT( midresb )
+DRIVER_INIT_MEMBER(dec0_state,midresb)
{
- dec0_state *state = machine.driver_data<dec0_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00180000, 0x0018000f, read16_delegate(FUNC(dec0_state::dec0_controls_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x001a0000, 0x001a000f, read16_delegate(FUNC(dec0_state::dec0_rotary_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00180000, 0x0018000f, read16_delegate(FUNC(dec0_state::dec0_controls_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x001a0000, 0x001a000f, read16_delegate(FUNC(dec0_state::dec0_rotary_r),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00180014, 0x00180015, write16_delegate(FUNC(dec0_state::midres_sound_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00180014, 0x00180015, write16_delegate(FUNC(dec0_state::midres_sound_w),this));
}
/******************************************************************************/
@@ -3069,9 +3068,9 @@ GAME( 1989, ffantasya, hippodrm, hippodrm, ffantasy, dec0_state, hippodrm, ROT0
GAME( 1989, slyspy, 0, slyspy, slyspy, dec0_state, slyspy, ROT0, "Data East USA", "Sly Spy (US revision 3)", 0 )
GAME( 1989, slyspy2, slyspy, slyspy, slyspy, dec0_state, slyspy, ROT0, "Data East USA", "Sly Spy (US revision 2)", 0 )
GAME( 1989, secretag, slyspy, slyspy, slyspy, dec0_state, slyspy, ROT0, "Data East Corporation", "Secret Agent (World)", 0 )
-GAME( 1989, midres, 0, midres, midres, dec0_state, 0, ROT0, "Data East Corporation", "Midnight Resistance (World)", 0 )
-GAME( 1989, midresu, midres, midres, midresu, dec0_state, 0, ROT0, "Data East USA", "Midnight Resistance (US)", 0 )
-GAME( 1989, midresj, midres, midres, midresu, dec0_state, 0, ROT0, "Data East Corporation", "Midnight Resistance (Japan)", 0 )
+GAME( 1989, midres, 0, midres, midres, driver_device, 0, ROT0, "Data East Corporation", "Midnight Resistance (World)", 0 )
+GAME( 1989, midresu, midres, midres, midresu, driver_device, 0, ROT0, "Data East USA", "Midnight Resistance (US)", 0 )
+GAME( 1989, midresj, midres, midres, midresu, driver_device, 0, ROT0, "Data East Corporation", "Midnight Resistance (Japan)", 0 )
GAME( 1990, bouldash, 0, slyspy, bouldash, dec0_state, slyspy, ROT0, "Data East Corporation (licensed from First Star)", "Boulder Dash / Boulder Dash Part 2 (World)", 0 )
GAME( 1990, bouldashj, bouldash, slyspy, bouldash, dec0_state, slyspy, ROT0, "Data East Corporation (licensed from First Star)", "Boulder Dash / Boulder Dash Part 2 (Japan)", 0 )
@@ -3083,9 +3082,9 @@ GAME( 1988, drgninjab, baddudes, baddudes, drgninja, dec0_state, baddudes, ROT0
// this is a common bootleg board
GAME( 1989, midresb, midres, midresb, midresb, dec0_state, midresb, ROT0, "bootleg", "Midnight Resistance (bootleg with 68705)", 0 ) // need to hook up 68705?
-GAME( 1989, ffantasybl, hippodrm, midres, midres, dec0_state, 0, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", GAME_NOT_WORKING ) // 68705 not dumped, might be the same as midresb
+GAME( 1989, ffantasybl, hippodrm, midres, midres, driver_device, 0, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", GAME_NOT_WORKING ) // 68705 not dumped, might be the same as midresb
/* A Bad Dudes bootleg with 68705 like the midres and ffantasy ones exists, but is not dumped */
// these are different to the above but quite similar to each other
-GAME( 1988, automat, robocop, automat, robocop, dec0_automat_state, robocop, ROT0, "bootleg", "Automat (bootleg of Robocop)", GAME_NOT_WORKING ) // sound rom / music from section z with mods for ADPCM?
-GAME( 1989, secretab, slyspy, secretab, slyspy, dec0_automat_state, slyspy, ROT0, "bootleg", "Secret Agent (bootleg)", GAME_NOT_WORKING )
+GAME( 1988, automat, robocop, automat, robocop, dec0_state, robocop, ROT0, "bootleg", "Automat (bootleg of Robocop)", GAME_NOT_WORKING ) // sound rom / music from section z with mods for ADPCM?
+GAME( 1989, secretab, slyspy, secretab, slyspy, dec0_state, slyspy, ROT0, "bootleg", "Secret Agent (bootleg)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c
index d07eb0444d3..12bdc210ff2 100644
--- a/src/mame/drivers/dec8.c
+++ b/src/mame/drivers/dec8.c
@@ -3539,115 +3539,113 @@ ROM_END
/******************************************************************************/
-static DRIVER_INIT( dec8 )
+DRIVER_INIT_MEMBER(dec8_state,dec8)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- state->m_latch = 0;
+ m_latch = 0;
}
/* Ghostbusters, Darwin, Oscar use a "Deco 222" custom 6502 for sound. */
-static DRIVER_INIT( deco222 )
+DRIVER_INIT_MEMBER(dec8_state,deco222)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- address_space *space = machine.device("audiocpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("audiocpu")->memory().space(AS_PROGRAM);
int A;
UINT8 *decrypt;
UINT8 *rom;
/* bits 5 and 6 of the opcodes are swapped */
- rom = state->memregion("audiocpu")->base();
- decrypt = auto_alloc_array(machine, UINT8, 0x8000);
+ rom = memregion("audiocpu")->base();
+ decrypt = auto_alloc_array(machine(), UINT8, 0x8000);
space->set_decrypted_region(0x8000, 0xffff, decrypt);
for (A = 0x8000; A < 0x10000; A++)
decrypt[A - 0x8000] = (rom[A] & 0x9f) | ((rom[A] & 0x20) << 1) | ((rom[A] & 0x40) >> 1);
- state->m_latch = 1;
+ m_latch = 1;
}
/* Below, I set up the correct number of banks depending on the "maincpu" region size */
-static DRIVER_INIT( lastmisn )
+DRIVER_INIT_MEMBER(dec8_state,lastmisn)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
- DRIVER_INIT_CALL( dec8 );
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ DRIVER_INIT_CALL(dec8);
}
-static DRIVER_INIT( shackled )
+DRIVER_INIT_MEMBER(dec8_state,shackled)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
- DRIVER_INIT_CALL( dec8 );
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
+ DRIVER_INIT_CALL(dec8);
}
-static DRIVER_INIT( gondo )
+DRIVER_INIT_MEMBER(dec8_state,gondo)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000);
- DRIVER_INIT_CALL( dec8 );
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000);
+ DRIVER_INIT_CALL(dec8);
}
-static DRIVER_INIT( garyoret )
+DRIVER_INIT_MEMBER(dec8_state,garyoret)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
- DRIVER_INIT_CALL( dec8 );
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
+ DRIVER_INIT_CALL(dec8);
}
-static DRIVER_INIT( ghostb )
+DRIVER_INIT_MEMBER(dec8_state,ghostb)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- UINT8 *RAM = machine.root_device().memregion("proms")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("proms")->base();
/* Blank out unused garbage in colour prom to avoid colour overflow */
memset(RAM + 0x20, 0, 0xe0);
- machine.root_device().membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL(deco222);
}
-static DRIVER_INIT( meikyuh )
+DRIVER_INIT_MEMBER(dec8_state,meikyuh)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- UINT8 *RAM = machine.root_device().memregion("proms")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("proms")->base();
/* Blank out unused garbage in colour prom to avoid colour overflow */
memset(RAM + 0x20, 0, 0xe0);
- machine.root_device().membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000);
- DRIVER_INIT_CALL( dec8 );
+ machine().root_device().membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000);
+ DRIVER_INIT_CALL(dec8);
}
-static DRIVER_INIT( csilver )
+DRIVER_INIT_MEMBER(dec8_state,csilver)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- UINT8 *RAM = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("audiocpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
- machine.root_device().membank("bank3")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
- DRIVER_INIT_CALL( dec8 );
+ machine().root_device().membank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
+ machine().root_device().membank("bank3")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
+ DRIVER_INIT_CALL(dec8);
}
-static DRIVER_INIT( oscar )
+DRIVER_INIT_MEMBER(dec8_state,oscar)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
- DRIVER_INIT_CALL( deco222 );
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ DRIVER_INIT_CALL(deco222);
}
-static DRIVER_INIT( srdarwin )
+DRIVER_INIT_MEMBER(dec8_state,srdarwin)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
- DRIVER_INIT_CALL( deco222 );
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
+ DRIVER_INIT_CALL(deco222);
}
-static DRIVER_INIT( cobracom )
+DRIVER_INIT_MEMBER(dec8_state,cobracom)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
- DRIVER_INIT_CALL( dec8 );
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ DRIVER_INIT_CALL(dec8);
}
diff --git a/src/mame/drivers/deco156.c b/src/mame/drivers/deco156.c
index 7b4a1a6d127..e2989800eb5 100644
--- a/src/mame/drivers/deco156.c
+++ b/src/mame/drivers/deco156.c
@@ -51,6 +51,8 @@ public:
DECLARE_WRITE32_MEMBER(wcvol95_pf2_rowscroll_w);
DECLARE_WRITE32_MEMBER(wcvol95_spriteram_w);
DECLARE_WRITE32_MEMBER(hvysmsh_oki_0_bank_w);
+ DECLARE_DRIVER_INIT(hvysmsh);
+ DECLARE_DRIVER_INIT(wcvol95);
};
@@ -639,18 +641,18 @@ static void descramble_sound( running_machine &machine, const char *tag )
auto_free(machine, buf1);
}
-static DRIVER_INIT( hvysmsh )
+DRIVER_INIT_MEMBER(deco156_state,hvysmsh)
{
- deco56_decrypt_gfx(machine, "gfx1"); /* 141 */
- deco156_decrypt(machine);
- descramble_sound(machine, "oki2");
+ deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
+ deco156_decrypt(machine());
+ descramble_sound(machine(), "oki2");
}
-static DRIVER_INIT( wcvol95 )
+DRIVER_INIT_MEMBER(deco156_state,wcvol95)
{
- deco56_decrypt_gfx(machine, "gfx1"); /* 141 */
- deco156_decrypt(machine);
- descramble_sound(machine, "ymz");
+ deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
+ deco156_decrypt(machine());
+ descramble_sound(machine(), "ymz");
}
diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c
index 44901a815a6..49841cfcbc9 100644
--- a/src/mame/drivers/deco32.c
+++ b/src/mame/drivers/deco32.c
@@ -3251,22 +3251,22 @@ ROM_START( nslashers )
ROM_END
-static DRIVER_INIT( captaven )
+DRIVER_INIT_MEMBER(deco32_state,captaven)
{
- deco56_decrypt_gfx(machine, "gfx1");
- deco56_decrypt_gfx(machine, "gfx2");
+ deco56_decrypt_gfx(machine(), "gfx1");
+ deco56_decrypt_gfx(machine(), "gfx2");
}
extern void process_dvi_data(UINT8* dvi_data, int offset, int regionsize);
-static DRIVER_INIT( dragngun )
+DRIVER_INIT_MEMBER(dragngun_state,dragngun)
{
- UINT32 *ROM = (UINT32 *)machine.root_device().memregion("maincpu")->base();
- const UINT8 *SRC_RAM = machine.root_device().memregion("gfx1")->base();
- UINT8 *DST_RAM = machine.root_device().memregion("gfx2")->base();
+ UINT32 *ROM = (UINT32 *)machine().root_device().memregion("maincpu")->base();
+ const UINT8 *SRC_RAM = machine().root_device().memregion("gfx1")->base();
+ UINT8 *DST_RAM = machine().root_device().memregion("gfx2")->base();
- deco74_decrypt_gfx(machine, "gfx1");
- deco74_decrypt_gfx(machine, "gfx2");
- deco74_decrypt_gfx(machine, "gfx3");
+ deco74_decrypt_gfx(machine(), "gfx1");
+ deco74_decrypt_gfx(machine(), "gfx2");
+ deco74_decrypt_gfx(machine(), "gfx3");
memcpy(DST_RAM+0x80000,SRC_RAM,0x10000);
memcpy(DST_RAM+0x110000,SRC_RAM+0x10000,0x10000);
@@ -3275,7 +3275,7 @@ static DRIVER_INIT( dragngun )
#if 0
{
- UINT8 *ROM = machine.root_device().memregion("dvi")->base();
+ UINT8 *ROM = machine().root_device().memregion("dvi")->base();
FILE *fp;
char filename[256];
@@ -3290,30 +3290,30 @@ static DRIVER_INIT( dragngun )
#endif
// there are DVI headers at 0x000000, 0x580000, 0x800000, 0xB10000, 0xB80000
- process_dvi_data(machine.root_device().memregion("dvi")->base(),0x000000, 0x1000000);
- process_dvi_data(machine.root_device().memregion("dvi")->base(),0x580000, 0x1000000);
- process_dvi_data(machine.root_device().memregion("dvi")->base(),0x800000, 0x1000000);
- process_dvi_data(machine.root_device().memregion("dvi")->base(),0xB10000, 0x1000000);
- process_dvi_data(machine.root_device().memregion("dvi")->base(),0xB80000, 0x1000000);
+ process_dvi_data(machine().root_device().memregion("dvi")->base(),0x000000, 0x1000000);
+ process_dvi_data(machine().root_device().memregion("dvi")->base(),0x580000, 0x1000000);
+ process_dvi_data(machine().root_device().memregion("dvi")->base(),0x800000, 0x1000000);
+ process_dvi_data(machine().root_device().memregion("dvi")->base(),0xB10000, 0x1000000);
+ process_dvi_data(machine().root_device().memregion("dvi")->base(),0xB80000, 0x1000000);
}
-static DRIVER_INIT( fghthist )
+DRIVER_INIT_MEMBER(deco32_state,fghthist)
{
- deco56_decrypt_gfx(machine, "gfx1");
- deco74_decrypt_gfx(machine, "gfx2");
+ deco56_decrypt_gfx(machine(), "gfx1");
+ deco74_decrypt_gfx(machine(), "gfx2");
- decoprot_reset(machine);
+ decoprot_reset(machine());
}
-static DRIVER_INIT( lockload )
+DRIVER_INIT_MEMBER(dragngun_state,lockload)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
-// UINT32 *ROM = (UINT32 *)machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+// UINT32 *ROM = (UINT32 *)machine().root_device().memregion("maincpu")->base();
- deco74_decrypt_gfx(machine, "gfx1");
- deco74_decrypt_gfx(machine, "gfx2");
- deco74_decrypt_gfx(machine, "gfx3");
+ deco74_decrypt_gfx(machine(), "gfx1");
+ deco74_decrypt_gfx(machine(), "gfx2");
+ deco74_decrypt_gfx(machine(), "gfx3");
memcpy(RAM+0x300000,RAM+0x100000,0x100000);
memset(RAM+0x100000,0,0x100000);
@@ -3323,51 +3323,50 @@ static DRIVER_INIT( lockload )
// ROM[0x3fe40c/4]=0xe1a00000;// NOP test switch lock
}
-static DRIVER_INIT( tattass )
+DRIVER_INIT_MEMBER(deco32_state,tattass)
{
- UINT8 *RAM = machine.root_device().memregion("gfx1")->base();
- UINT8 *tmp = auto_alloc_array(machine, UINT8, 0x80000);
+ UINT8 *RAM = machine().root_device().memregion("gfx1")->base();
+ UINT8 *tmp = auto_alloc_array(machine(), UINT8, 0x80000);
/* Reorder bitplanes to make decoding easier */
memcpy(tmp,RAM+0x80000,0x80000);
memcpy(RAM+0x80000,RAM+0x100000,0x80000);
memcpy(RAM+0x100000,tmp,0x80000);
- RAM = machine.root_device().memregion("gfx2")->base();
+ RAM = machine().root_device().memregion("gfx2")->base();
memcpy(tmp,RAM+0x80000,0x80000);
memcpy(RAM+0x80000,RAM+0x100000,0x80000);
memcpy(RAM+0x100000,tmp,0x80000);
- auto_free(machine, tmp);
+ auto_free(machine(), tmp);
- deco56_decrypt_gfx(machine, "gfx1"); /* 141 */
- deco56_decrypt_gfx(machine, "gfx2"); /* 141 */
+ deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
+ deco56_decrypt_gfx(machine(), "gfx2"); /* 141 */
}
-static DRIVER_INIT( nslasher )
+DRIVER_INIT_MEMBER(deco32_state,nslasher)
{
- UINT8 *RAM = machine.root_device().memregion("gfx1")->base();
- UINT8 *tmp = auto_alloc_array(machine, UINT8, 0x80000);
+ UINT8 *RAM = machine().root_device().memregion("gfx1")->base();
+ UINT8 *tmp = auto_alloc_array(machine(), UINT8, 0x80000);
/* Reorder bitplanes to make decoding easier */
memcpy(tmp,RAM+0x80000,0x80000);
memcpy(RAM+0x80000,RAM+0x100000,0x80000);
memcpy(RAM+0x100000,tmp,0x80000);
- RAM = machine.root_device().memregion("gfx2")->base();
+ RAM = machine().root_device().memregion("gfx2")->base();
memcpy(tmp,RAM+0x80000,0x80000);
memcpy(RAM+0x80000,RAM+0x100000,0x80000);
memcpy(RAM+0x100000,tmp,0x80000);
- auto_free(machine, tmp);
+ auto_free(machine(), tmp);
- deco56_decrypt_gfx(machine, "gfx1"); /* 141 */
- deco74_decrypt_gfx(machine, "gfx2");
+ deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
+ deco74_decrypt_gfx(machine(), "gfx2");
- deco156_decrypt(machine);
+ deco156_decrypt(machine());
- deco32_state *state = machine.driver_data<deco32_state>();
- state->soundlatch_setclearedvalue(0xff);
+ soundlatch_setclearedvalue(0xff);
/* The board for Night Slashers is very close to the Fighter's History and
Tattoo Assassins boards, but has an encrypted ARM cpu. */
diff --git a/src/mame/drivers/deco_ld.c b/src/mame/drivers/deco_ld.c
index f8bb59043b5..bd7a73e2458 100644
--- a/src/mame/drivers/deco_ld.c
+++ b/src/mame/drivers/deco_ld.c
@@ -616,8 +616,8 @@ ROM_START( cobra )
DISK_IMAGE_READONLY( "cobra", 0, SHA1(8390498294aca97a5d1769032e7b115d1a42f5d3) )
ROM_END
-GAME( 1983, begas, 0, rblaster, begas, deco_ld_state, 0, ROT0, "Data East", "Bega's Battle (Revision 3)", GAME_NOT_WORKING )
-GAME( 1983, begas1, begas, rblaster, begas, deco_ld_state, 0, ROT0, "Data East", "Bega's Battle (Revision 1)", GAME_NOT_WORKING )
-GAME( 1984, cobra, 0, rblaster, cobra, deco_ld_state, 0, ROT0, "Data East", "Cobra Command (Data East LD)", GAME_NOT_WORKING )
+GAME( 1983, begas, 0, rblaster, begas, driver_device, 0, ROT0, "Data East", "Bega's Battle (Revision 3)", GAME_NOT_WORKING )
+GAME( 1983, begas1, begas, rblaster, begas, driver_device, 0, ROT0, "Data East", "Bega's Battle (Revision 1)", GAME_NOT_WORKING )
+GAME( 1984, cobra, 0, rblaster, cobra, driver_device, 0, ROT0, "Data East", "Cobra Command (Data East LD)", GAME_NOT_WORKING )
// Thunder Storm (Cobra Command Japanese version)
-GAME( 1985, rblaster, 0, rblaster, rblaster, deco_ld_state, 0, ROT0, "Data East", "Road Blaster (Data East LD)", GAME_NOT_WORKING )
+GAME( 1985, rblaster, 0, rblaster, rblaster, driver_device, 0, ROT0, "Data East", "Road Blaster (Data East LD)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/deco_mlc.c b/src/mame/drivers/deco_mlc.c
index c03eabb09c5..5df09cc8d63 100644
--- a/src/mame/drivers/deco_mlc.c
+++ b/src/mame/drivers/deco_mlc.c
@@ -729,31 +729,29 @@ READ32_MEMBER(deco_mlc_state::avengrgs_speedup_r)
return a;
}
-static DRIVER_INIT( avengrgs )
+DRIVER_INIT_MEMBER(deco_mlc_state,avengrgs)
{
- deco_mlc_state *state = machine.driver_data<deco_mlc_state>();
// init options
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
// set up speed cheat
- sh2drc_add_pcflush(machine.device("maincpu"), 0x3234);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x32dc);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x3234);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x32dc);
- state->m_mainCpuIsArm = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01089a0, 0x01089a3, read32_delegate(FUNC(deco_mlc_state::avengrgs_speedup_r),state));
- descramble_sound(machine);
+ m_mainCpuIsArm = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01089a0, 0x01089a3, read32_delegate(FUNC(deco_mlc_state::avengrgs_speedup_r),this));
+ descramble_sound(machine());
}
-static DRIVER_INIT( mlc )
+DRIVER_INIT_MEMBER(deco_mlc_state,mlc)
{
- deco_mlc_state *state = machine.driver_data<deco_mlc_state>();
/* The timing in the ARM core isn't as accurate as it should be, so bump up the
effective clock rate here to compensate otherwise we have slowdowns in
Skull Fung where there probably shouldn't be. */
- machine.device("maincpu")->set_clock_scale(2.0f);
- state->m_mainCpuIsArm = 1;
- deco156_decrypt(machine);
- descramble_sound(machine);
+ machine().device("maincpu")->set_clock_scale(2.0f);
+ m_mainCpuIsArm = 1;
+ deco156_decrypt(machine());
+ descramble_sound(machine());
}
/***************************************************************************/
diff --git a/src/mame/drivers/decocass.c b/src/mame/drivers/decocass.c
index ae29009bc80..21d5bfaf8bd 100644
--- a/src/mame/drivers/decocass.c
+++ b/src/mame/drivers/decocass.c
@@ -1601,60 +1601,58 @@ ROM_START( cflyball )
ROM_END
-static DRIVER_INIT( decocass )
+DRIVER_INIT_MEMBER(decocass_state,decocass)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = state->memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = memregion("maincpu")->base();
int A;
/* allocate memory and mark all RAM regions with their decrypted pointers */
- state->m_decrypted = auto_alloc_array(machine, UINT8, 0x10000);
- space->set_decrypted_region(0x0000, 0xc7ff, &state->m_decrypted[0x0000]);
- space->set_decrypted_region(0xd000, 0xdbff, &state->m_decrypted[0xd000]);
- space->set_decrypted_region(0xf000, 0xffff, &state->m_decrypted[0xf000]);
+ m_decrypted = auto_alloc_array(machine(), UINT8, 0x10000);
+ space->set_decrypted_region(0x0000, 0xc7ff, &m_decrypted[0x0000]);
+ space->set_decrypted_region(0xd000, 0xdbff, &m_decrypted[0xd000]);
+ space->set_decrypted_region(0xf000, 0xffff, &m_decrypted[0xf000]);
/* Swap bits 5 & 6 for opcodes */
for (A = 0xf000; A < 0x10000; A++)
- state->m_decrypted[A] = swap_bits_5_6(rom[A]);
+ m_decrypted[A] = swap_bits_5_6(rom[A]);
- state->save_pointer(NAME(state->m_decrypted), 0x10000);
+ save_pointer(NAME(m_decrypted), 0x10000);
/* Call the state save setup code in machine/decocass.c */
- decocass_machine_state_save_init(machine);
+ decocass_machine_state_save_init(machine());
/* and in video/decocass.c, too */
- decocass_video_state_save_init(machine);
+ decocass_video_state_save_init(machine());
}
-static DRIVER_INIT( decocrom )
+DRIVER_INIT_MEMBER(decocass_state,decocrom)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- int romlength = state->memregion("user3")->bytes();
- UINT8 *rom = state->memregion("user3")->base();
+ int romlength = memregion("user3")->bytes();
+ UINT8 *rom = memregion("user3")->base();
int i;
- state->m_decrypted2 = auto_alloc_array(machine, UINT8, romlength);
+ m_decrypted2 = auto_alloc_array(machine(), UINT8, romlength);
/* standard init */
DRIVER_INIT_CALL(decocass);
/* decrypt the ROMs */
for (i = 0; i < romlength; i++)
- state->m_decrypted2[i] = swap_bits_5_6(rom[i]);
+ m_decrypted2[i] = swap_bits_5_6(rom[i]);
/* convert charram to a banked ROM */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x6000, 0xafff, "bank1");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x6000, 0xafff, FUNC(decocass_de0091_w));
- state->membank("bank1")->configure_entry(0, state->m_charram);
- state->membank("bank1")->configure_entry(1, state->memregion("user3")->base());
- state->membank("bank1")->configure_decrypted_entry(0, &state->m_decrypted[0x6000]);
- state->membank("bank1")->configure_decrypted_entry(1, state->m_decrypted2);
- state->membank("bank1")->set_entry(0);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x6000, 0xafff, "bank1");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x6000, 0xafff, FUNC(decocass_de0091_w));
+ membank("bank1")->configure_entry(0, m_charram);
+ membank("bank1")->configure_entry(1, memregion("user3")->base());
+ membank("bank1")->configure_decrypted_entry(0, &m_decrypted[0x6000]);
+ membank("bank1")->configure_decrypted_entry(1, m_decrypted2);
+ membank("bank1")->set_entry(0);
/* install the bank selector */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xe900, 0xe900, FUNC(decocass_e900_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xe900, 0xe900, FUNC(decocass_e900_w));
- state->save_pointer(NAME(state->m_decrypted2), romlength);
+ save_pointer(NAME(m_decrypted2), romlength);
}
static READ8_HANDLER( cdsteljn_input_r )
@@ -1684,14 +1682,14 @@ static WRITE8_HANDLER( cdsteljn_mux_w )
printf("%02x\n",data);
}
-static DRIVER_INIT( cdsteljn )
+DRIVER_INIT_MEMBER(decocass_state,cdsteljn)
{
/* standard init */
DRIVER_INIT_CALL(decocass);
/* install custom mahjong panel */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xe413, 0xe413, FUNC(cdsteljn_mux_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xe600, 0xe6ff, FUNC(cdsteljn_input_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xe413, 0xe413, FUNC(cdsteljn_mux_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xe600, 0xe6ff, FUNC(cdsteljn_input_r));
}
/* -- */ GAME( 1981, decocass, 0, decocass, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "DECO Cassette System", GAME_IS_BIOS_ROOT )
diff --git a/src/mame/drivers/deshoros.c b/src/mame/drivers/deshoros.c
index 28c3ccf0436..8eb34f435b5 100644
--- a/src/mame/drivers/deshoros.c
+++ b/src/mame/drivers/deshoros.c
@@ -306,4 +306,4 @@ ROM_START( destiny )
ROM_LOAD( "ag11.18a", 0x16000, 0x2000, CRC(5f7bf9f9) SHA1(281f89c0bccfcc2bdc1d4d0a5b9cc9a8ab2e7869) )
ROM_END
-GAME( 1983, destiny, 0, destiny, destiny, destiny_state, 0, ROT0, "Data East Corporation", "Destiny - The Fortuneteller (USA)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1983, destiny, 0, destiny, destiny, driver_device, 0, ROT0, "Data East Corporation", "Destiny - The Fortuneteller (USA)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/destroyr.c b/src/mame/drivers/destroyr.c
index fc71dd6fde5..2ed807aa41c 100644
--- a/src/mame/drivers/destroyr.c
+++ b/src/mame/drivers/destroyr.c
@@ -521,5 +521,5 @@ ROM_START( destroyr1 )
ROM_END
-GAMEL( 1977, destroyr, 0, destroyr, destroyr, destroyr_state, 0, ORIENTATION_FLIP_X, "Atari", "Destroyer (version O2)", GAME_NO_SOUND, layout_destroyr )
-GAMEL( 1977, destroyr1, destroyr, destroyr, destroyr, destroyr_state, 0, ORIENTATION_FLIP_X, "Atari", "Destroyer (version O1)", GAME_NO_SOUND, layout_destroyr )
+GAMEL( 1977, destroyr, 0, destroyr, destroyr, driver_device, 0, ORIENTATION_FLIP_X, "Atari", "Destroyer (version O2)", GAME_NO_SOUND, layout_destroyr )
+GAMEL( 1977, destroyr1, destroyr, destroyr, destroyr, driver_device, 0, ORIENTATION_FLIP_X, "Atari", "Destroyer (version O1)", GAME_NO_SOUND, layout_destroyr )
diff --git a/src/mame/drivers/dfruit.c b/src/mame/drivers/dfruit.c
index 959e91c0e62..05e9bd89725 100644
--- a/src/mame/drivers/dfruit.c
+++ b/src/mame/drivers/dfruit.c
@@ -428,4 +428,4 @@ ROM_START( dfruit )
ROM_LOAD( "c2.ic10", 0x00000, 0x80000, CRC(d869ab24) SHA1(382e874a846855a7f6f8811625aaa30d9dfa1ce2) )
ROM_END
-GAME( 1993, dfruit, 0, dfruit, dfruit, dfruit_state, 0, ROT0, "Nippon Data Kiki / Star Fish", "Fruit Dream (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, dfruit, 0, dfruit, dfruit, driver_device, 0, ROT0, "Nippon Data Kiki / Star Fish", "Fruit Dream (Japan)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/dgpix.c b/src/mame/drivers/dgpix.c
index 23a4812a587..95a8bf9a7fd 100644
--- a/src/mame/drivers/dgpix.c
+++ b/src/mame/drivers/dgpix.c
@@ -72,6 +72,9 @@ public:
DECLARE_WRITE32_MEMBER(vbuffer_w);
DECLARE_WRITE32_MEMBER(coin_w);
DECLARE_READ32_MEMBER(vblank_r);
+ DECLARE_DRIVER_INIT(fmaniac3);
+ DECLARE_DRIVER_INIT(xfiles);
+ DECLARE_DRIVER_INIT(kdynastg);
};
@@ -571,10 +574,9 @@ ROM_START( fmaniac3 )
// not present
ROM_END
-static DRIVER_INIT( xfiles )
+DRIVER_INIT_MEMBER(dgpix_state,xfiles)
{
- dgpix_state *state = machine.driver_data<dgpix_state>();
- UINT8 *rom = (UINT8 *)state->memregion("user1")->base() + 0x1c00000;
+ UINT8 *rom = (UINT8 *)memregion("user1")->base() + 0x1c00000;
rom[BYTE4_XOR_BE(0x3aa92e)] = 3;
rom[BYTE4_XOR_BE(0x3aa92f)] = 0;
@@ -584,15 +586,14 @@ static DRIVER_INIT( xfiles )
rom[BYTE4_XOR_BE(0x3aa933)] = 0;
// protection related ?
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0xf0c8b440, 0xf0c8b447);
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0xf0c8b440, 0xf0c8b447);
- state->m_flash_roms = 2;
+ m_flash_roms = 2;
}
-static DRIVER_INIT( kdynastg )
+DRIVER_INIT_MEMBER(dgpix_state,kdynastg)
{
- dgpix_state *state = machine.driver_data<dgpix_state>();
- UINT8 *rom = (UINT8 *)state->memregion("user1")->base() + 0x1c00000;
+ UINT8 *rom = (UINT8 *)memregion("user1")->base() + 0x1c00000;
rom[BYTE4_XOR_BE(0x3aaa10)] = 3; // 129f0 - nopped call
rom[BYTE4_XOR_BE(0x3aaa11)] = 0;
@@ -605,15 +606,14 @@ static DRIVER_INIT( kdynastg )
rom[BYTE4_XOR_BE(0x3a45c9)] = 0;
// protection related ?
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x12341234, 0x12341243);
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x12341234, 0x12341243);
- state->m_flash_roms = 4;
+ m_flash_roms = 4;
}
-static DRIVER_INIT( fmaniac3 )
+DRIVER_INIT_MEMBER(dgpix_state,fmaniac3)
{
- dgpix_state *state = machine.driver_data<dgpix_state>();
- state->m_flash_roms = 2;
+ m_flash_roms = 2;
}
GAME( 1999, xfiles, 0, dgpix, dgpix, dgpix_state, xfiles, ROT0, "dgPIX Entertainment Inc.", "X-Files", GAME_NO_SOUND )
diff --git a/src/mame/drivers/dietgo.c b/src/mame/drivers/dietgo.c
index 573a293b03b..5f67b457bff 100644
--- a/src/mame/drivers/dietgo.c
+++ b/src/mame/drivers/dietgo.c
@@ -366,10 +366,10 @@ ROM_START( dietgoj )
ROM_END
-static DRIVER_INIT( dietgo )
+DRIVER_INIT_MEMBER(dietgo_state,dietgo)
{
- deco56_decrypt_gfx(machine, "gfx1");
- deco102_decrypt_cpu(machine, "maincpu", 0xe9ba, 0x01, 0x19);
+ deco56_decrypt_gfx(machine(), "gfx1");
+ deco102_decrypt_cpu(machine(), "maincpu", 0xe9ba, 0x01, 0x19);
}
GAME( 1992, dietgo, 0, dietgo, dietgo, dietgo_state, dietgo, ROT0, "Data East Corporation", "Diet Go Go (Euro v1.1 1992.09.26)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/discoboy.c b/src/mame/drivers/discoboy.c
index 7ba9639fc09..ec1ed2acdb7 100644
--- a/src/mame/drivers/discoboy.c
+++ b/src/mame/drivers/discoboy.c
@@ -82,6 +82,7 @@ public:
DECLARE_READ8_MEMBER(discoboy_port_06_r);
DECLARE_WRITE8_MEMBER(yunsung8_adpcm_w);
DECLARE_WRITE8_MEMBER(yunsung8_sound_bankswitch_w);
+ DECLARE_DRIVER_INIT(discoboy);
};
@@ -559,28 +560,27 @@ ROM_START( discoboy )
ROM_END
-static DRIVER_INIT( discoboy )
+DRIVER_INIT_MEMBER(discoboy_state,discoboy)
{
- discoboy_state *state = machine.driver_data<discoboy_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
- UINT8 *AUDIO = state->memregion("audiocpu")->base();
-
- memset(state->m_ram_1, 0, sizeof(state->m_ram_1));
- memset(state->m_ram_2, 0, sizeof(state->m_ram_2));
- memset(state->m_ram_att,0, sizeof(state->m_ram_att));
- memset(state->m_ram_3, 0, sizeof(state->m_ram_3));
- memset(state->m_ram_4, 0, sizeof(state->m_ram_4));
-
- state->save_item(NAME(state->m_ram_1));
- state->save_item(NAME(state->m_ram_2));
- state->save_item(NAME(state->m_ram_att));
- state->save_item(NAME(state->m_ram_3));
- state->save_item(NAME(state->m_ram_4));
-
- state->membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
- state->membank("bank1")->set_entry(0);
- state->membank("sndbank")->configure_entries(0, 8, &AUDIO[0x00000], 0x4000);
- state->membank("sndbank")->set_entry(0);
+ UINT8 *ROM = memregion("maincpu")->base();
+ UINT8 *AUDIO = memregion("audiocpu")->base();
+
+ memset(m_ram_1, 0, sizeof(m_ram_1));
+ memset(m_ram_2, 0, sizeof(m_ram_2));
+ memset(m_ram_att,0, sizeof(m_ram_att));
+ memset(m_ram_3, 0, sizeof(m_ram_3));
+ memset(m_ram_4, 0, sizeof(m_ram_4));
+
+ save_item(NAME(m_ram_1));
+ save_item(NAME(m_ram_2));
+ save_item(NAME(m_ram_att));
+ save_item(NAME(m_ram_3));
+ save_item(NAME(m_ram_4));
+
+ membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ membank("bank1")->set_entry(0);
+ membank("sndbank")->configure_entries(0, 8, &AUDIO[0x00000], 0x4000);
+ membank("sndbank")->set_entry(0);
}
diff --git a/src/mame/drivers/diverboy.c b/src/mame/drivers/diverboy.c
index 7bbadb540e3..7be73f40e97 100644
--- a/src/mame/drivers/diverboy.c
+++ b/src/mame/drivers/diverboy.c
@@ -315,4 +315,4 @@ ROM_END
-GAME( 1992, diverboy, 0, diverboy, diverboy, diverboy_state, 0, ORIENTATION_FLIP_X, "Electronic Devices Italy", "Diver Boy", GAME_SUPPORTS_SAVE )
+GAME( 1992, diverboy, 0, diverboy, diverboy, driver_device, 0, ORIENTATION_FLIP_X, "Electronic Devices Italy", "Diver Boy", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/djboy.c b/src/mame/drivers/djboy.c
index 16ff6facdb4..9e761d17dd8 100644
--- a/src/mame/drivers/djboy.c
+++ b/src/mame/drivers/djboy.c
@@ -731,16 +731,14 @@ ROM_START( djboyj )
ROM_END
-static DRIVER_INIT( djboy )
+DRIVER_INIT_MEMBER(djboy_state,djboy)
{
- djboy_state *state = machine.driver_data<djboy_state>();
- state->m_bankxor = 0x00;
+ m_bankxor = 0x00;
}
-static DRIVER_INIT( djboyj )
+DRIVER_INIT_MEMBER(djboy_state,djboyj)
{
- djboy_state *state = machine.driver_data<djboy_state>();
- state->m_bankxor = 0x1f;
+ m_bankxor = 0x1f;
}
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
diff --git a/src/mame/drivers/djmain.c b/src/mame/drivers/djmain.c
index 2fb85d756d7..05232e29398 100644
--- a/src/mame/drivers/djmain.c
+++ b/src/mame/drivers/djmain.c
@@ -1999,11 +1999,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( beatmania )
+DRIVER_INIT_MEMBER(djmain_state,beatmania)
{
- djmain_state *state = machine.driver_data<djmain_state>();
- state->m_ide_master_password = NULL;
- state->m_ide_user_password = NULL;
+ m_ide_master_password = NULL;
+ m_ide_user_password = NULL;
}
static const UINT8 beatmania_master_password[2 + 32] =
@@ -2015,9 +2014,8 @@ static const UINT8 beatmania_master_password[2 + 32] =
0x53, 0x45, 0x52, 0x45, 0x45, 0x56, 0x2e, 0x44
};
-static DRIVER_INIT( hmcompmx )
+DRIVER_INIT_MEMBER(djmain_state,hmcompmx)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 hmcompmx_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2029,13 +2027,12 @@ static DRIVER_INIT( hmcompmx )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_master_password = beatmania_master_password;
- state->m_ide_user_password = hmcompmx_user_password;
+ m_ide_master_password = beatmania_master_password;
+ m_ide_user_password = hmcompmx_user_password;
}
-static DRIVER_INIT( bm4thmix )
+DRIVER_INIT_MEMBER(djmain_state,bm4thmix)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 bm4thmix_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2047,12 +2044,11 @@ static DRIVER_INIT( bm4thmix )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_user_password = bm4thmix_user_password;
+ m_ide_user_password = bm4thmix_user_password;
}
-static DRIVER_INIT( bm5thmix )
+DRIVER_INIT_MEMBER(djmain_state,bm5thmix)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 bm5thmix_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2064,13 +2060,12 @@ static DRIVER_INIT( bm5thmix )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_master_password = beatmania_master_password;
- state->m_ide_user_password = bm5thmix_user_password;
+ m_ide_master_password = beatmania_master_password;
+ m_ide_user_password = bm5thmix_user_password;
}
-static DRIVER_INIT( bmclubmx )
+DRIVER_INIT_MEMBER(djmain_state,bmclubmx)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 bmclubmx_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2082,14 +2077,13 @@ static DRIVER_INIT( bmclubmx )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_master_password = beatmania_master_password;
- state->m_ide_user_password = bmclubmx_user_password;
+ m_ide_master_password = beatmania_master_password;
+ m_ide_user_password = bmclubmx_user_password;
}
-static DRIVER_INIT( bmcompm2 )
+DRIVER_INIT_MEMBER(djmain_state,bmcompm2)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 bmcompm2_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2101,13 +2095,12 @@ static DRIVER_INIT( bmcompm2 )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_master_password = beatmania_master_password;
- state->m_ide_user_password = bmcompm2_user_password;
+ m_ide_master_password = beatmania_master_password;
+ m_ide_user_password = bmcompm2_user_password;
}
-static DRIVER_INIT( hmcompm2 )
+DRIVER_INIT_MEMBER(djmain_state,hmcompm2)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 hmcompm2_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2119,13 +2112,12 @@ static DRIVER_INIT( hmcompm2 )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_master_password = beatmania_master_password;
- state->m_ide_user_password = hmcompm2_user_password;
+ m_ide_master_password = beatmania_master_password;
+ m_ide_user_password = hmcompm2_user_password;
}
-static DRIVER_INIT( bmdct )
+DRIVER_INIT_MEMBER(djmain_state,bmdct)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 bmdct_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2137,13 +2129,12 @@ static DRIVER_INIT( bmdct )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_master_password = beatmania_master_password;
- state->m_ide_user_password = bmdct_user_password;
+ m_ide_master_password = beatmania_master_password;
+ m_ide_user_password = bmdct_user_password;
}
-static DRIVER_INIT( bmcorerm )
+DRIVER_INIT_MEMBER(djmain_state,bmcorerm)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 bmcorerm_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2155,13 +2146,12 @@ static DRIVER_INIT( bmcorerm )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_master_password = beatmania_master_password;
- state->m_ide_user_password = bmcorerm_user_password;
+ m_ide_master_password = beatmania_master_password;
+ m_ide_user_password = bmcorerm_user_password;
}
-static DRIVER_INIT( bm6thmix )
+DRIVER_INIT_MEMBER(djmain_state,bm6thmix)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 bm6thmix_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2173,13 +2163,12 @@ static DRIVER_INIT( bm6thmix )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_master_password = beatmania_master_password;
- state->m_ide_user_password = bm6thmix_user_password;
+ m_ide_master_password = beatmania_master_password;
+ m_ide_user_password = bm6thmix_user_password;
}
-static DRIVER_INIT( bm7thmix )
+DRIVER_INIT_MEMBER(djmain_state,bm7thmix)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 bm7thmix_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2191,13 +2180,12 @@ static DRIVER_INIT( bm7thmix )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_master_password = beatmania_master_password;
- state->m_ide_user_password = bm7thmix_user_password;
+ m_ide_master_password = beatmania_master_password;
+ m_ide_user_password = bm7thmix_user_password;
}
-static DRIVER_INIT( bmfinal )
+DRIVER_INIT_MEMBER(djmain_state,bmfinal)
{
- djmain_state *state = machine.driver_data<djmain_state>();
static const UINT8 bmfinal_user_password[2 + 32] =
{
0x00, 0x00,
@@ -2209,8 +2197,8 @@ static DRIVER_INIT( bmfinal )
DRIVER_INIT_CALL(beatmania);
- state->m_ide_master_password = beatmania_master_password;
- state->m_ide_user_password = bmfinal_user_password;
+ m_ide_master_password = beatmania_master_password;
+ m_ide_user_password = bmfinal_user_password;
}
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index b90fb424696..5d8eb274796 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -3077,10 +3077,10 @@ static void drakton_decrypt_rom(running_machine &machine, UINT8 mod, int offs, i
*
*************************************/
-static DRIVER_INIT( herodk )
+DRIVER_INIT_MEMBER(dkong_state,herodk)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
/* swap data lines D3 and D4 */
for (A = 0;A < 0x8000;A++)
@@ -3096,7 +3096,7 @@ static DRIVER_INIT( herodk )
}
-static DRIVER_INIT( drakton )
+DRIVER_INIT_MEMBER(dkong_state,drakton)
{
int bs[4][8] = {
{7,6,1,3,0,4,2,5},
@@ -3105,20 +3105,20 @@ static DRIVER_INIT( drakton )
{7,1,4,0,3,6,2,5},
};
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1" );
/* While the PAL supports up to 16 decryption methods, only four
are actually used in the PAL. Therefore, we'll take a little
memory overhead and decrypt the ROMs using each method in advance. */
- drakton_decrypt_rom(machine, 0x02, 0x10000, bs[0]);
- drakton_decrypt_rom(machine, 0x40, 0x14000, bs[1]);
- drakton_decrypt_rom(machine, 0x8a, 0x18000, bs[2]);
- drakton_decrypt_rom(machine, 0xc8, 0x1c000, bs[3]);
+ drakton_decrypt_rom(machine(), 0x02, 0x10000, bs[0]);
+ drakton_decrypt_rom(machine(), 0x40, 0x14000, bs[1]);
+ drakton_decrypt_rom(machine(), 0x8a, 0x18000, bs[2]);
+ drakton_decrypt_rom(machine(), 0xc8, 0x1c000, bs[3]);
}
-static DRIVER_INIT( strtheat )
+DRIVER_INIT_MEMBER(dkong_state,strtheat)
{
int bs[4][8] = {
{0,6,1,7,3,4,2,5},
@@ -3127,50 +3127,48 @@ static DRIVER_INIT( strtheat )
{6,3,4,1,0,7,2,5},
};
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1" );
/* While the PAL supports up to 16 decryption methods, only four
are actually used in the PAL. Therefore, we'll take a little
memory overhead and decrypt the ROMs using each method in advance. */
- drakton_decrypt_rom(machine, 0x03, 0x10000, bs[0]);
- drakton_decrypt_rom(machine, 0x81, 0x14000, bs[1]);
- drakton_decrypt_rom(machine, 0x0a, 0x18000, bs[2]);
- drakton_decrypt_rom(machine, 0x88, 0x1c000, bs[3]);
+ drakton_decrypt_rom(machine(), 0x03, 0x10000, bs[0]);
+ drakton_decrypt_rom(machine(), 0x81, 0x14000, bs[1]);
+ drakton_decrypt_rom(machine(), 0x0a, 0x18000, bs[2]);
+ drakton_decrypt_rom(machine(), 0x88, 0x1c000, bs[3]);
/* custom handlers supporting Joystick or Steering Wheel */
- dkong_state *state = machine.driver_data<dkong_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x7c00, 0x7c00, read8_delegate(FUNC(dkong_state::strtheat_inputport_0_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x7c80, 0x7c80, read8_delegate(FUNC(dkong_state::strtheat_inputport_1_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x7c00, 0x7c00, read8_delegate(FUNC(dkong_state::strtheat_inputport_0_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x7c80, 0x7c80, read8_delegate(FUNC(dkong_state::strtheat_inputport_1_r),this));
}
-static DRIVER_INIT( dkongx )
+DRIVER_INIT_MEMBER(dkong_state,dkongx)
{
UINT8 *decrypted;
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- decrypted = auto_alloc_array(machine, UINT8, 0x10000);
+ decrypted = auto_alloc_array(machine(), UINT8, 0x10000);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x5fff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x8000, 0xffff, "bank2" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x5fff, "bank1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x8000, 0xffff, "bank2" );
- dkong_state *state = machine.driver_data<dkong_state>();
- space->install_write_handler(0xe000, 0xe000, write8_delegate(FUNC(dkong_state::braze_a15_w),state));
+ space->install_write_handler(0xe000, 0xe000, write8_delegate(FUNC(dkong_state::braze_a15_w),this));
- space->install_read_handler(0xc800, 0xc800, read8_delegate(FUNC(dkong_state::braze_eeprom_r),state));
- space->install_write_handler(0xc800, 0xc800, write8_delegate(FUNC(dkong_state::braze_eeprom_w),state));
+ space->install_read_handler(0xc800, 0xc800, read8_delegate(FUNC(dkong_state::braze_eeprom_r),this));
+ space->install_write_handler(0xc800, 0xc800, write8_delegate(FUNC(dkong_state::braze_eeprom_w),this));
- braze_decrypt_rom(machine, decrypted);
+ braze_decrypt_rom(machine(), decrypted);
- state->membank("bank1")->configure_entries(0, 2, &decrypted[0], 0x8000);
- state->membank("bank1")->set_entry(0);
- state->membank("bank2")->configure_entries(0, 2, &decrypted[0], 0x8000);
- state->membank("bank2")->set_entry(0);
+ membank("bank1")->configure_entries(0, 2, &decrypted[0], 0x8000);
+ membank("bank1")->set_entry(0);
+ membank("bank2")->configure_entries(0, 2, &decrypted[0], 0x8000);
+ membank("bank2")->set_entry(0);
}
-static DRIVER_INIT( dkingjr )
+DRIVER_INIT_MEMBER(dkong_state,dkingjr)
{
- UINT8 *prom = machine.root_device().memregion("proms")->base();
+ UINT8 *prom = machine().root_device().memregion("proms")->base();
for( int i=0; i<0x200; ++i)
{
prom[i]^=0xff; // invert color data
@@ -3184,43 +3182,43 @@ static DRIVER_INIT( dkingjr )
*
*************************************/
-GAME( 1980, radarscp, 0, radarscp, radarscp, dkong_state, 0, ROT90, "Nintendo", "Radar Scope", GAME_SUPPORTS_SAVE )
-GAME( 1980, radarscp1,radarscp, radarscp1,radarscp, dkong_state, 0, ROT90, "Nintendo", "Radar Scope (TRS01)", GAME_SUPPORTS_SAVE )
+GAME( 1980, radarscp, 0, radarscp, radarscp, driver_device, 0, ROT90, "Nintendo", "Radar Scope", GAME_SUPPORTS_SAVE )
+GAME( 1980, radarscp1,radarscp, radarscp1,radarscp, driver_device, 0, ROT90, "Nintendo", "Radar Scope (TRS01)", GAME_SUPPORTS_SAVE )
-GAME( 1981, dkong, 0, dkong2b, dkong, dkong_state, 0, ROT90, "Nintendo of America", "Donkey Kong (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, dkongo, dkong, dkong2b, dkong, dkong_state, 0, ROT90, "Nintendo", "Donkey Kong (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, dkongj, dkong, dkong2b, dkong, dkong_state, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, dkongjo, dkong, dkong2b, dkong, dkong_state, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, dkongjo1, dkong, dkong2b, dkong, dkong_state, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 3)", GAME_SUPPORTS_SAVE )
-GAME( 2004, dkongf, dkong, dkong2b, dkongf, dkong_state, 0, ROT90, "hack", "Donkey Kong Foundry (hack)", GAME_SUPPORTS_SAVE ) /* from Jeff's Romhack */
+GAME( 1981, dkong, 0, dkong2b, dkong, driver_device, 0, ROT90, "Nintendo of America", "Donkey Kong (US set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, dkongo, dkong, dkong2b, dkong, driver_device, 0, ROT90, "Nintendo", "Donkey Kong (US set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, dkongj, dkong, dkong2b, dkong, driver_device, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, dkongjo, dkong, dkong2b, dkong, driver_device, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, dkongjo1, dkong, dkong2b, dkong, driver_device, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 3)", GAME_SUPPORTS_SAVE )
+GAME( 2004, dkongf, dkong, dkong2b, dkongf, driver_device, 0, ROT90, "hack", "Donkey Kong Foundry (hack)", GAME_SUPPORTS_SAVE ) /* from Jeff's Romhack */
GAME( 2006, dkongx, dkong, braze, dkongx, dkong_state, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II - Jumpman Returns (V1.2) (hack)", GAME_SUPPORTS_SAVE )
GAME( 2006, dkongx11, dkong, braze, dkongx, dkong_state, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II - Jumpman Returns (V1.1) (hack)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjr, 0, dkongjr, dkongjr, dkong_state, 0, ROT90, "Nintendo of America", "Donkey Kong Junior (US)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjrj, dkongjr, dkongjr, dkongjr, dkong_state, 0, ROT90, "Nintendo", "Donkey Kong Jr. (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjnrj,dkongjr, dkongjr, dkongjr, dkong_state, 0, ROT90, "Nintendo", "Donkey Kong Junior (Japan?)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjrb, dkongjr, dkongjr, dkongjr, dkong_state, 0, ROT90, "bootleg", "Donkey Kong Jr. (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjre, dkongjr, dkongjr, dkongjr, dkong_state, 0, ROT90, "Nintendo of America", "Donkey Kong Junior (Easy)", GAME_SUPPORTS_SAVE )
-GAME( 1982, jrking, dkongjr, dkongjr, dkongjr, dkong_state, 0, ROT90, "bootleg", "Junior King (bootleg of Donkey Kong Jr.)", GAME_SUPPORTS_SAVE )
+GAME( 1982, dkongjr, 0, dkongjr, dkongjr, driver_device, 0, ROT90, "Nintendo of America", "Donkey Kong Junior (US)", GAME_SUPPORTS_SAVE )
+GAME( 1982, dkongjrj, dkongjr, dkongjr, dkongjr, driver_device, 0, ROT90, "Nintendo", "Donkey Kong Jr. (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1982, dkongjnrj,dkongjr, dkongjr, dkongjr, driver_device, 0, ROT90, "Nintendo", "Donkey Kong Junior (Japan?)", GAME_SUPPORTS_SAVE )
+GAME( 1982, dkongjrb, dkongjr, dkongjr, dkongjr, driver_device, 0, ROT90, "bootleg", "Donkey Kong Jr. (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1982, dkongjre, dkongjr, dkongjr, dkongjr, driver_device, 0, ROT90, "Nintendo of America", "Donkey Kong Junior (Easy)", GAME_SUPPORTS_SAVE )
+GAME( 1982, jrking, dkongjr, dkongjr, dkongjr, driver_device, 0, ROT90, "bootleg", "Junior King (bootleg of Donkey Kong Jr.)", GAME_SUPPORTS_SAVE )
GAME( 1982, dkingjr, dkongjr, dkongjr, dkongjr, dkong_state, dkingjr, ROT90, "bootleg", "Donkey King Jr. (bootleg of Donkey Kong Jr.)", GAME_SUPPORTS_SAVE )
-GAME( 1983, dkong3, 0, dkong3, dkong3, dkong_state, 0, ROT90, "Nintendo of America", "Donkey Kong 3 (US)", GAME_SUPPORTS_SAVE )
-GAME( 1983, dkong3j, dkong3, dkong3, dkong3, dkong_state, 0, ROT90, "Nintendo", "Donkey Kong 3 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dkong3b, dkong3, dkong3b, dkong3b, dkong_state, 0, ROT90, "bootleg", "Donkey Kong 3 (bootleg on Donkey Kong Jr. hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1983, dkong3, 0, dkong3, dkong3, driver_device, 0, ROT90, "Nintendo of America", "Donkey Kong 3 (US)", GAME_SUPPORTS_SAVE )
+GAME( 1983, dkong3j, dkong3, dkong3, dkong3, driver_device, 0, ROT90, "Nintendo", "Donkey Kong 3 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, dkong3b, dkong3, dkong3b, dkong3b, driver_device, 0, ROT90, "bootleg", "Donkey Kong 3 (bootleg on Donkey Kong Jr. hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1983, pestplce, mario, pestplce, pestplce, dkong_state, 0, ROT180, "bootleg", "Pest Place", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, pestplce, mario, pestplce, pestplce, driver_device, 0, ROT180, "bootleg", "Pest Place", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
/* 2650 based */
-GAME( 1984, herbiedk, huncholy, s2650, herbiedk, dkong_state, 0, ROT90, "Century Electronics / Seatongrove Ltd", "Herbie at the Olympics (DK conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1983, hunchbkd, hunchbak, s2650, hunchbkd, dkong_state, 0, ROT90, "Century Electronics", "Hunchback (DK conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, sbdk, superbik, s2650, sbdk, dkong_state, 0, ROT90, "Century Electronics", "Super Bike (DK conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1984, herbiedk, huncholy, s2650, herbiedk, driver_device, 0, ROT90, "Century Electronics / Seatongrove Ltd", "Herbie at the Olympics (DK conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1983, hunchbkd, hunchbak, s2650, hunchbkd, driver_device, 0, ROT90, "Century Electronics", "Hunchback (DK conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1984, sbdk, superbik, s2650, sbdk, driver_device, 0, ROT90, "Century Electronics", "Super Bike (DK conversion)", GAME_SUPPORTS_SAVE )
GAME( 1984, herodk, hero, s2650, herodk, dkong_state, herodk, ROT90, "Seatongrove Ltd (Crown license)", "Hero in the Castle of Doom (DK conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, herodku, hero, s2650, herodk, dkong_state, 0, ROT90, "Seatongrove Ltd (Crown license)", "Hero in the Castle of Doom (DK conversion not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1984, 8ballact, 0, s2650, 8ballact, dkong_state, 0, ROT90, "Seatongrove Ltd (Magic Eletronics USA license)", "Eight Ball Action (DK conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, 8ballact2,8ballact, s2650, 8ballact, dkong_state, 0, ROT90, "Seatongrove Ltd (Magic Eletronics USA license)", "Eight Ball Action (DKJr conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, shootgal, 0, s2650, shootgal, dkong_state, 0, ROT180,"Seatongrove Ltd (Zaccaria license)", "Shooting Gallery", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, spclforc, 0, spclforc, spclforc, dkong_state, 0, ROT90, "Senko Industries (Magic Eletronics Inc. license)", "Special Forces", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, spcfrcii, 0, spclforc, spclforc, dkong_state, 0, ROT90, "Senko Industries (Magic Eletronics Inc. license)", "Special Forces II", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, herodku, hero, s2650, herodk, driver_device, 0, ROT90, "Seatongrove Ltd (Crown license)", "Hero in the Castle of Doom (DK conversion not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1984, 8ballact, 0, s2650, 8ballact, driver_device, 0, ROT90, "Seatongrove Ltd (Magic Eletronics USA license)", "Eight Ball Action (DK conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1984, 8ballact2,8ballact, s2650, 8ballact, driver_device, 0, ROT90, "Seatongrove Ltd (Magic Eletronics USA license)", "Eight Ball Action (DKJr conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1984, shootgal, 0, s2650, shootgal, driver_device, 0, ROT180,"Seatongrove Ltd (Zaccaria license)", "Shooting Gallery", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, spclforc, 0, spclforc, spclforc, driver_device, 0, ROT90, "Senko Industries (Magic Eletronics Inc. license)", "Special Forces", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, spcfrcii, 0, spclforc, spclforc, driver_device, 0, ROT90, "Senko Industries (Magic Eletronics Inc. license)", "Special Forces II", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
/* EPOS */
GAME( 1984, drakton, 0, drakton, drakton, dkong_state, drakton, ROT90, "Epos Corporation", "Drakton (DK conversion)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dlair.c b/src/mame/drivers/dlair.c
index ab0b35aa240..cda237ac582 100644
--- a/src/mame/drivers/dlair.c
+++ b/src/mame/drivers/dlair.c
@@ -108,6 +108,8 @@ public:
DECLARE_WRITE8_MEMBER(laserdisc_w);
DECLARE_CUSTOM_INPUT_MEMBER(laserdisc_status_r);
DECLARE_CUSTOM_INPUT_MEMBER(laserdisc_command_r);
+ DECLARE_DRIVER_INIT(fixed);
+ DECLARE_DRIVER_INIT(variable);
};
@@ -968,17 +970,15 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( fixed )
+DRIVER_INIT_MEMBER(dlair_state,fixed)
{
-// dlair_state *state = machine.driver_data<dlair_state>();
-// state->m_laserdisc_type = LASERDISC_TYPE_FIXED;
+// m_laserdisc_type = LASERDISC_TYPE_FIXED;
}
-static DRIVER_INIT( variable )
+DRIVER_INIT_MEMBER(dlair_state,variable)
{
-// dlair_state *state = machine.driver_data<dlair_state>();
-// state->m_laserdisc_type = LASERDISC_TYPE_VARIABLE;
+// m_laserdisc_type = LASERDISC_TYPE_VARIABLE;
}
diff --git a/src/mame/drivers/dmndrby.c b/src/mame/drivers/dmndrby.c
index fe883487f46..d7170411fbb 100644
--- a/src/mame/drivers/dmndrby.c
+++ b/src/mame/drivers/dmndrby.c
@@ -641,5 +641,5 @@ ROM_END
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME */
-GAME( 1994, dmndrby, 0, dderby, dderby, dmndrby_state, 0, ROT0, "Electrocoin", "Diamond Derby (Newer)",GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_COLORS|GAME_NOT_WORKING ) // hack?
-GAME( 1986, dmndrbya, dmndrby, dderby, dderbya, dmndrby_state, 0, ROT0, "Electrocoin", "Diamond Derby (Original)",GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_COLORS|GAME_NOT_WORKING )
+GAME( 1994, dmndrby, 0, dderby, dderby, driver_device, 0, ROT0, "Electrocoin", "Diamond Derby (Newer)",GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_COLORS|GAME_NOT_WORKING ) // hack?
+GAME( 1986, dmndrbya, dmndrby, dderby, dderbya, driver_device, 0, ROT0, "Electrocoin", "Diamond Derby (Original)",GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_COLORS|GAME_NOT_WORKING )
diff --git a/src/mame/drivers/docastle.c b/src/mame/drivers/docastle.c
index e439482d365..e4da14429c8 100644
--- a/src/mame/drivers/docastle.c
+++ b/src/mame/drivers/docastle.c
@@ -1106,18 +1106,18 @@ ROM_END
/* Game Drivers */
-GAME( 1983, docastle, 0, docastle, docastle, docastle_state, 0, ROT270, "Universal", "Mr. Do's Castle (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, docastle2, docastle, docastle, docastle, docastle_state, 0, ROT270, "Universal", "Mr. Do's Castle (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, docastleo, docastle, docastle, docastle, docastle_state, 0, ROT270, "Universal", "Mr. Do's Castle (older)", GAME_SUPPORTS_SAVE )
-GAME( 1983, douni, docastle, docastle, docastle, docastle_state, 0, ROT270, "Universal", "Mr. Do vs. Unicorns", GAME_SUPPORTS_SAVE )
-GAME( 1984, dorunrun, 0, dorunrun, dorunrun, docastle_state, 0, ROT0, "Universal", "Do! Run Run (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dorunrun2, dorunrun, dorunrun, dorunrun, docastle_state, 0, ROT0, "Universal", "Do! Run Run (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dorunrunc, dorunrun, docastle, dorunrun, docastle_state, 0, ROT0, "Universal", "Do! Run Run (Do's Castle hardware, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dorunrunca,dorunrun, docastle, dorunrun, docastle_state, 0, ROT0, "Universal", "Do! Run Run (Do's Castle hardware, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, spiero, dorunrun, dorunrun, dorunrun, docastle_state, 0, ROT0, "Universal", "Super Pierrot (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dowild, 0, dorunrun, dowild, docastle_state, 0, ROT0, "Universal", "Mr. Do's Wild Ride", GAME_SUPPORTS_SAVE )
-GAME( 1984, jjack, 0, dorunrun, jjack, docastle_state, 0, ROT270, "Universal", "Jumping Jack", GAME_SUPPORTS_SAVE )
-GAME( 1984, kickridr, 0, dorunrun, kickridr, docastle_state, 0, ROT0, "Universal", "Kick Rider", GAME_SUPPORTS_SAVE )
-GAME( 1985, idsoccer, 0, idsoccer, idsoccer, docastle_state, 0, ROT0, "Universal", "Indoor Soccer (set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1985, idsoccera, idsoccer, idsoccer, idsoccer, docastle_state, 0, ROT0, "Universal", "Indoor Soccer (set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1987, asoccer, idsoccer, idsoccer, idsoccer, docastle_state, 0, ROT0, "Universal", "American Soccer", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1983, docastle, 0, docastle, docastle, driver_device, 0, ROT270, "Universal", "Mr. Do's Castle (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, docastle2, docastle, docastle, docastle, driver_device, 0, ROT270, "Universal", "Mr. Do's Castle (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, docastleo, docastle, docastle, docastle, driver_device, 0, ROT270, "Universal", "Mr. Do's Castle (older)", GAME_SUPPORTS_SAVE )
+GAME( 1983, douni, docastle, docastle, docastle, driver_device, 0, ROT270, "Universal", "Mr. Do vs. Unicorns", GAME_SUPPORTS_SAVE )
+GAME( 1984, dorunrun, 0, dorunrun, dorunrun, driver_device, 0, ROT0, "Universal", "Do! Run Run (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, dorunrun2, dorunrun, dorunrun, dorunrun, driver_device, 0, ROT0, "Universal", "Do! Run Run (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1984, dorunrunc, dorunrun, docastle, dorunrun, driver_device, 0, ROT0, "Universal", "Do! Run Run (Do's Castle hardware, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, dorunrunca,dorunrun, docastle, dorunrun, driver_device, 0, ROT0, "Universal", "Do! Run Run (Do's Castle hardware, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, spiero, dorunrun, dorunrun, dorunrun, driver_device, 0, ROT0, "Universal", "Super Pierrot (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, dowild, 0, dorunrun, dowild, driver_device, 0, ROT0, "Universal", "Mr. Do's Wild Ride", GAME_SUPPORTS_SAVE )
+GAME( 1984, jjack, 0, dorunrun, jjack, driver_device, 0, ROT270, "Universal", "Jumping Jack", GAME_SUPPORTS_SAVE )
+GAME( 1984, kickridr, 0, dorunrun, kickridr, driver_device, 0, ROT0, "Universal", "Kick Rider", GAME_SUPPORTS_SAVE )
+GAME( 1985, idsoccer, 0, idsoccer, idsoccer, driver_device, 0, ROT0, "Universal", "Indoor Soccer (set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1985, idsoccera, idsoccer, idsoccer, idsoccer, driver_device, 0, ROT0, "Universal", "Indoor Soccer (set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1987, asoccer, idsoccer, idsoccer, idsoccer, driver_device, 0, ROT0, "Universal", "American Soccer", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/dogfgt.c b/src/mame/drivers/dogfgt.c
index 1772b1b2102..7700eb037b2 100644
--- a/src/mame/drivers/dogfgt.c
+++ b/src/mame/drivers/dogfgt.c
@@ -384,6 +384,6 @@ ROM_END
-GAME( 1984, dogfgt, 0, dogfgt, dogfgt, dogfgt_state, 0, ROT0, "Technos Japan", "Acrobatic Dog-Fight", GAME_SUPPORTS_SAVE )
-GAME( 1985, dogfgtu, dogfgt, dogfgt, dogfgt, dogfgt_state, 0, ROT0, "Data East USA, Inc.", "Acrobatic Dog-Fight (USA)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dogfgtj, dogfgt, dogfgt, dogfgt, dogfgt_state, 0, ROT0, "Technos Japan", "Dog-Fight (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, dogfgt, 0, dogfgt, dogfgt, driver_device, 0, ROT0, "Technos Japan", "Acrobatic Dog-Fight", GAME_SUPPORTS_SAVE )
+GAME( 1985, dogfgtu, dogfgt, dogfgt, dogfgt, driver_device, 0, ROT0, "Data East USA, Inc.", "Acrobatic Dog-Fight (USA)", GAME_SUPPORTS_SAVE )
+GAME( 1984, dogfgtj, dogfgt, dogfgt, dogfgt, driver_device, 0, ROT0, "Technos Japan", "Dog-Fight (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dominob.c b/src/mame/drivers/dominob.c
index 65b15dedd2d..85a463c59a0 100644
--- a/src/mame/drivers/dominob.c
+++ b/src/mame/drivers/dominob.c
@@ -363,5 +363,5 @@ ROM_START( dominobv2 )
ROM_LOAD( "u114v2", 0xc0000, 0x40000, CRC(df17ee65) SHA1(1cb434719a8c406726d2c966392be03a2dc1d758) )
ROM_END
-GAME( 1996, dominob, 0, dominob, dominob, dominob_state, 0, ROT0, "Wonwoo Systems", "Domino Block", GAME_SUPPORTS_SAVE )
-GAME( 1996, dominobv2,dominob, dominob, dominob, dominob_state, 0, ROT0, "Wonwoo Systems", "Domino Block ver.2", GAME_SUPPORTS_SAVE )
+GAME( 1996, dominob, 0, dominob, dominob, driver_device, 0, ROT0, "Wonwoo Systems", "Domino Block", GAME_SUPPORTS_SAVE )
+GAME( 1996, dominobv2,dominob, dominob, dominob, driver_device, 0, ROT0, "Wonwoo Systems", "Domino Block ver.2", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dooyong.c b/src/mame/drivers/dooyong.c
index 41dd9914167..ee7674c9d24 100644
--- a/src/mame/drivers/dooyong.c
+++ b/src/mame/drivers/dooyong.c
@@ -1937,21 +1937,21 @@ ROM_END
/* The differences between the two lastday sets are only in the sound program
and graphics. The main program is the same. */
-GAME( 1990, lastday, 0, lastday, lastday, dooyong_state, 0, ROT270, "Dooyong", "The Last Day (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, lastdaya, lastday, lastday, lastday, dooyong_state, 0, ROT270, "Dooyong", "The Last Day (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, gulfstrm, 0, gulfstrm, gulfstrm, dooyong_state, 0, ROT270, "Dooyong", "Gulf Storm (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, gulfstrma,gulfstrm, gulfstrm, gulfstrm, dooyong_state, 0, ROT270, "Dooyong", "Gulf Storm (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, gulfstrmm,gulfstrm, gulfstrm, gulfstrm, dooyong_state, 0, ROT270, "Dooyong (Media Shoji license)", "Gulf Storm (Media Shoji)", GAME_SUPPORTS_SAVE )
-GAME( 1991, pollux, 0, pollux, pollux, dooyong_state, 0, ROT270, "Dooyong", "Pollux (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, polluxa, pollux, pollux, pollux, dooyong_state, 0, ROT270, "Dooyong", "Pollux (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, polluxa2, pollux, pollux, pollux, dooyong_state, 0, ROT270, "Dooyong", "Pollux (set 3)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) /* Original Dooyong Board distributed by TCH */
-GAME( 1992, flytiger, 0, flytiger, flytiger, dooyong_state, 0, ROT270, "Dooyong", "Flying Tiger", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1993, bluehawk, 0, bluehawk, bluehawk, dooyong_state, 0, ROT270, "Dooyong", "Blue Hawk", GAME_SUPPORTS_SAVE )
-GAME( 1993, bluehawkn,bluehawk, bluehawk, bluehawk, dooyong_state, 0, ROT270, "Dooyong (NTC license)", "Blue Hawk (NTC)", GAME_SUPPORTS_SAVE )
-GAME( 1993, sadari, 0, primella, sadari, dooyong_state, 0, ROT0, "Dooyong (NTC license)", "Sadari", GAME_SUPPORTS_SAVE )
-GAME( 1994, gundl94, 0, primella, primella, dooyong_state, 0, ROT0, "Dooyong", "Gun Dealer '94", GAME_SUPPORTS_SAVE )
-GAME( 1994, primella, gundl94, primella, primella, dooyong_state, 0, ROT0, "Dooyong (NTC license)", "Primella",GAME_SUPPORTS_SAVE )
-GAME( 1994, superx, 0, superx, superx, dooyong_state, 0, ROT270, "NTC", "Super-X (NTC)", GAME_SUPPORTS_SAVE )
-GAME( 1994, superxm, superx, superx, superx, dooyong_state, 0, ROT270, "NTC (Mitchell license)", "Super-X (Mitchell)", GAME_SUPPORTS_SAVE )
-GAME( 1995, rshark, 0, rshark, rshark, dooyong_state, 0, ROT270, "Dooyong", "R-Shark", GAME_SUPPORTS_SAVE )
-GAME( 1996, popbingo, 0, popbingo, popbingo, dooyong_state, 0, ROT0, "Dooyong", "Pop Bingo", GAME_SUPPORTS_SAVE )
+GAME( 1990, lastday, 0, lastday, lastday, driver_device, 0, ROT270, "Dooyong", "The Last Day (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1990, lastdaya, lastday, lastday, lastday, driver_device, 0, ROT270, "Dooyong", "The Last Day (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1991, gulfstrm, 0, gulfstrm, gulfstrm, driver_device, 0, ROT270, "Dooyong", "Gulf Storm (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, gulfstrma,gulfstrm, gulfstrm, gulfstrm, driver_device, 0, ROT270, "Dooyong", "Gulf Storm (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1991, gulfstrmm,gulfstrm, gulfstrm, gulfstrm, driver_device, 0, ROT270, "Dooyong (Media Shoji license)", "Gulf Storm (Media Shoji)", GAME_SUPPORTS_SAVE )
+GAME( 1991, pollux, 0, pollux, pollux, driver_device, 0, ROT270, "Dooyong", "Pollux (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, polluxa, pollux, pollux, pollux, driver_device, 0, ROT270, "Dooyong", "Pollux (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, polluxa2, pollux, pollux, pollux, driver_device, 0, ROT270, "Dooyong", "Pollux (set 3)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) /* Original Dooyong Board distributed by TCH */
+GAME( 1992, flytiger, 0, flytiger, flytiger, driver_device, 0, ROT270, "Dooyong", "Flying Tiger", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1993, bluehawk, 0, bluehawk, bluehawk, driver_device, 0, ROT270, "Dooyong", "Blue Hawk", GAME_SUPPORTS_SAVE )
+GAME( 1993, bluehawkn,bluehawk, bluehawk, bluehawk, driver_device, 0, ROT270, "Dooyong (NTC license)", "Blue Hawk (NTC)", GAME_SUPPORTS_SAVE )
+GAME( 1993, sadari, 0, primella, sadari, driver_device, 0, ROT0, "Dooyong (NTC license)", "Sadari", GAME_SUPPORTS_SAVE )
+GAME( 1994, gundl94, 0, primella, primella, driver_device, 0, ROT0, "Dooyong", "Gun Dealer '94", GAME_SUPPORTS_SAVE )
+GAME( 1994, primella, gundl94, primella, primella, driver_device, 0, ROT0, "Dooyong (NTC license)", "Primella",GAME_SUPPORTS_SAVE )
+GAME( 1994, superx, 0, superx, superx, driver_device, 0, ROT270, "NTC", "Super-X (NTC)", GAME_SUPPORTS_SAVE )
+GAME( 1994, superxm, superx, superx, superx, driver_device, 0, ROT270, "NTC (Mitchell license)", "Super-X (Mitchell)", GAME_SUPPORTS_SAVE )
+GAME( 1995, rshark, 0, rshark, rshark, driver_device, 0, ROT270, "Dooyong", "R-Shark", GAME_SUPPORTS_SAVE )
+GAME( 1996, popbingo, 0, popbingo, popbingo, driver_device, 0, ROT0, "Dooyong", "Pop Bingo", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dorachan.c b/src/mame/drivers/dorachan.c
index fc900d380e1..40b81e5ec89 100644
--- a/src/mame/drivers/dorachan.c
+++ b/src/mame/drivers/dorachan.c
@@ -293,4 +293,4 @@ ROM_END
*
*************************************/
-GAME( 1980, dorachan, 0, dorachan, dorachan, dorachan_state, 0, ROT270, "Craul Denshi", "Dorachan", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, dorachan, 0, dorachan, dorachan, driver_device, 0, ROT270, "Craul Denshi", "Dorachan", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dotrikun.c b/src/mame/drivers/dotrikun.c
index 69ddde2585d..1d951fdcede 100644
--- a/src/mame/drivers/dotrikun.c
+++ b/src/mame/drivers/dotrikun.c
@@ -186,5 +186,5 @@ ROM_START( dotrikun2 )
ROM_END
-GAME( 1990, dotrikun, 0, dotrikun, dotrikun, dotrikun_state, 0, ROT0, "Sega", "Dottori Kun (new version)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, dotrikun2,dotrikun, dotrikun, dotrikun, dotrikun_state, 0, ROT0, "Sega", "Dottori Kun (old version)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, dotrikun, 0, dotrikun, dotrikun, driver_device, 0, ROT0, "Sega", "Dottori Kun (new version)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, dotrikun2,dotrikun, dotrikun, dotrikun, driver_device, 0, ROT0, "Sega", "Dottori Kun (old version)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/dragrace.c b/src/mame/drivers/dragrace.c
index 43b6cca444c..ade79814ec9 100644
--- a/src/mame/drivers/dragrace.c
+++ b/src/mame/drivers/dragrace.c
@@ -383,4 +383,4 @@ ROM_START( dragrace )
ROM_END
-GAME( 1977, dragrace, 0, dragrace, dragrace, dragrace_state, 0, 0, "Atari (Kee Games)", "Drag Race", GAME_SUPPORTS_SAVE )
+GAME( 1977, dragrace, 0, dragrace, dragrace, driver_device, 0, 0, "Atari (Kee Games)", "Drag Race", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dreamwld.c b/src/mame/drivers/dreamwld.c
index 5ead7b3d0ee..98477576847 100644
--- a/src/mame/drivers/dreamwld.c
+++ b/src/mame/drivers/dreamwld.c
@@ -702,5 +702,5 @@ ROM_END
-GAME( 1997, baryon, 0, baryon, dreamwld, dreamwld_state, 0, ROT270, "SemiCom", "Baryon - Future Assault", GAME_SUPPORTS_SAVE )
-GAME( 2000, dreamwld, 0, dreamwld, dreamwld, dreamwld_state, 0, ROT0, "SemiCom", "Dream World", GAME_SUPPORTS_SAVE )
+GAME( 1997, baryon, 0, baryon, dreamwld, driver_device, 0, ROT270, "SemiCom", "Baryon - Future Assault", GAME_SUPPORTS_SAVE )
+GAME( 2000, dreamwld, 0, dreamwld, dreamwld, driver_device, 0, ROT0, "SemiCom", "Dream World", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/drgnmst.c b/src/mame/drivers/drgnmst.c
index 460105d493a..c760d56562f 100644
--- a/src/mame/drivers/drgnmst.c
+++ b/src/mame/drivers/drgnmst.c
@@ -484,11 +484,11 @@ static UINT8 drgnmst_asciitohex( UINT8 data )
}
-static DRIVER_INIT( drgnmst )
+DRIVER_INIT_MEMBER(drgnmst_state,drgnmst)
{
- UINT8 *drgnmst_PICROM_HEX = machine.root_device().memregion("user1")->base();
- UINT16 *drgnmst_PICROM = (UINT16 *)machine.root_device().memregion("audiocpu")->base();
- UINT8 *drgnmst_PCM = machine.root_device().memregion("oki1")->base();
+ UINT8 *drgnmst_PICROM_HEX = machine().root_device().memregion("user1")->base();
+ UINT16 *drgnmst_PICROM = (UINT16 *)machine().root_device().memregion("audiocpu")->base();
+ UINT8 *drgnmst_PCM = machine().root_device().memregion("oki1")->base();
INT32 offs, data;
UINT16 src_pos = 0;
UINT16 dst_pos = 0;
@@ -554,7 +554,7 @@ static DRIVER_INIT( drgnmst )
data_lo = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + 3]));
data |= (data_hi << 12) | (data_lo << 8);
- pic16c5x_set_config(machine.device("audiocpu"), data);
+ pic16c5x_set_config(machine().device("audiocpu"), data);
src_pos = 0x7fff; /* Force Exit */
}
diff --git a/src/mame/drivers/dribling.c b/src/mame/drivers/dribling.c
index 1b7709eebb1..433d32fd4d6 100644
--- a/src/mame/drivers/dribling.c
+++ b/src/mame/drivers/dribling.c
@@ -402,6 +402,6 @@ ROM_END
*
*************************************/
-GAME( 1983, dribling, 0, dribling, dribling, dribling_state, 0, ROT0, "Model Racing", "Dribbling", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, driblingo, dribling, dribling, dribling, dribling_state, 0, ROT0, "Model Racing (Olympia license)", "Dribbling (Olympia)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, driblingbr, dribling, dribling, dribling, dribling_state, 0, ROT0, "bootleg (Videomac)", "Dribbling (bootleg, Brazil)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, dribling, 0, dribling, dribling, driver_device, 0, ROT0, "Model Racing", "Dribbling", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, driblingo, dribling, dribling, dribling, driver_device, 0, ROT0, "Model Racing (Olympia license)", "Dribbling (Olympia)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, driblingbr, dribling, dribling, dribling, driver_device, 0, ROT0, "bootleg (Videomac)", "Dribbling (bootleg, Brazil)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/drmicro.c b/src/mame/drivers/drmicro.c
index b7895cdbfd3..1ba8bd79f77 100644
--- a/src/mame/drivers/drmicro.c
+++ b/src/mame/drivers/drmicro.c
@@ -347,5 +347,5 @@ ROM_END
*
*************************************/
-GAME( 1983, drmicro, 0, drmicro, drmicro, drmicro_state, 0, ROT270, "Sanritsu", "Dr. Micro", GAME_SUPPORTS_SAVE )
+GAME( 1983, drmicro, 0, drmicro, drmicro, driver_device, 0, ROT270, "Sanritsu", "Dr. Micro", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/drtomy.c b/src/mame/drivers/drtomy.c
index 566d094d5b4..5854a4a3990 100644
--- a/src/mame/drivers/drtomy.c
+++ b/src/mame/drivers/drtomy.c
@@ -352,4 +352,4 @@ ROM_START( drtomy )
ROM_END
-GAME( 1993, drtomy, 0, drtomy, drtomy, drtomy_state, 0, ROT0, "Playmark", "Dr. Tomy", GAME_SUPPORTS_SAVE )
+GAME( 1993, drtomy, 0, drtomy, drtomy, driver_device, 0, ROT0, "Playmark", "Dr. Tomy", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/drw80pkr.c b/src/mame/drivers/drw80pkr.c
index e202fb4e34c..3770cdaadd3 100644
--- a/src/mame/drivers/drw80pkr.c
+++ b/src/mame/drivers/drw80pkr.c
@@ -65,6 +65,7 @@ public:
DECLARE_READ8_MEMBER(p2_r);
DECLARE_READ8_MEMBER(bus_r);
DECLARE_READ8_MEMBER(drw80pkr_io_r);
+ DECLARE_DRIVER_INIT(drw80pkr);
};
@@ -403,9 +404,9 @@ GFXDECODE_END
* Driver Init *
***************/
-static DRIVER_INIT( drw80pkr )
+DRIVER_INIT_MEMBER(drw80pkr_state,drw80pkr)
{
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base(), 0x1000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("maincpu")->base(), 0x1000);
}
diff --git a/src/mame/drivers/dunhuang.c b/src/mame/drivers/dunhuang.c
index b3f8debcbea..ca238ec5e9f 100644
--- a/src/mame/drivers/dunhuang.c
+++ b/src/mame/drivers/dunhuang.c
@@ -875,4 +875,4 @@ ROM_START( dunhuang )
ROM_LOAD( "rom6.u1", 0x00000, 0x20000, CRC(31cfdc29) SHA1(725249eae9227eadf05418b799e0da0254bb2f51) )
ROM_END
-GAME( 1995, dunhuang, 0, dunhuang, dunhuang, dunhuang_state, 0, ROT0, "Spirit", "Mahjong Dunhuang", GAME_SUPPORTS_SAVE )
+GAME( 1995, dunhuang, 0, dunhuang, dunhuang, driver_device, 0, ROT0, "Spirit", "Mahjong Dunhuang", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dwarfd.c b/src/mame/drivers/dwarfd.c
index 97ea0ba2512..ce7d4937e87 100644
--- a/src/mame/drivers/dwarfd.c
+++ b/src/mame/drivers/dwarfd.c
@@ -343,6 +343,8 @@ public:
DECLARE_WRITE8_MEMBER(output2_w);
DECLARE_READ8_MEMBER(qc_b8_r);
DECLARE_WRITE_LINE_MEMBER(dwarfd_sod_callback);
+ DECLARE_DRIVER_INIT(qc);
+ DECLARE_DRIVER_INIT(dwarfd);
};
@@ -1283,15 +1285,14 @@ ROM_START( qc )
ROM_END
-static DRIVER_INIT(dwarfd)
+DRIVER_INIT_MEMBER(dwarfd_state,dwarfd)
{
- dwarfd_state *state = machine.driver_data<dwarfd_state>();
int i;
UINT8 *src, *dst;
/* expand gfx roms */
- src = state->memregion("gfx1")->base();
- dst = state->memregion("gfx2")->base();
+ src = memregion("gfx1")->base();
+ dst = memregion("gfx2")->base();
for (i = 0; i < 0x4000; i++)
{
@@ -1304,7 +1305,7 @@ static DRIVER_INIT(dwarfd)
}
/* use low bit as 'interpolation' bit */
- src = machine.root_device().memregion("gfx2")->base();
+ src = machine().root_device().memregion("gfx2")->base();
for (i = 0; i < 0x8000; i++)
{
if (src[i] & 0x10)
@@ -1322,25 +1323,25 @@ static DRIVER_INIT(dwarfd)
// src[i] = src[i] & 0xe0;
}
- state->save_item(NAME(state->m_videobuf));
- state->save_item(NAME(state->m_dw_ram));
+ save_item(NAME(m_videobuf));
+ save_item(NAME(m_dw_ram));
- memset(state->m_videobuf, 0, sizeof(state->m_videobuf));
- memset(state->m_dw_ram, 0, sizeof(state->m_dw_ram));
+ memset(m_videobuf, 0, sizeof(m_videobuf));
+ memset(m_dw_ram, 0, sizeof(m_dw_ram));
}
-static DRIVER_INIT(qc)
+DRIVER_INIT_MEMBER(dwarfd_state,qc)
{
DRIVER_INIT_CALL(dwarfd);
// hacks for program to proceed
- machine.root_device().memregion("maincpu")->base()[0x6564] = 0x00;
- machine.root_device().memregion("maincpu")->base()[0x6565] = 0x00;
+ machine().root_device().memregion("maincpu")->base()[0x6564] = 0x00;
+ machine().root_device().memregion("maincpu")->base()[0x6565] = 0x00;
- machine.root_device().memregion("maincpu")->base()[0x59b2] = 0x00;
- machine.root_device().memregion("maincpu")->base()[0x59b3] = 0x00;
- machine.root_device().memregion("maincpu")->base()[0x59b4] = 0x00;
+ machine().root_device().memregion("maincpu")->base()[0x59b2] = 0x00;
+ machine().root_device().memregion("maincpu")->base()[0x59b3] = 0x00;
+ machine().root_device().memregion("maincpu")->base()[0x59b4] = 0x00;
}
diff --git a/src/mame/drivers/dynadice.c b/src/mame/drivers/dynadice.c
index f825b915d1e..fa9c3fb34ce 100644
--- a/src/mame/drivers/dynadice.c
+++ b/src/mame/drivers/dynadice.c
@@ -59,6 +59,7 @@ public:
DECLARE_WRITE8_MEMBER(dynadice_videoram_w);
DECLARE_WRITE8_MEMBER(sound_data_w);
DECLARE_WRITE8_MEMBER(sound_control_w);
+ DECLARE_DRIVER_INIT(dynadice);
};
@@ -292,13 +293,13 @@ ROM_START( dynadice )
ROM_LOAD( "dy_5.bin", 0x0000, 0x0800, CRC(e4799462) SHA1(5cd0f003572540522d72706bc5a8fa6588553031) )
ROM_END
-static DRIVER_INIT( dynadice )
+DRIVER_INIT_MEMBER(dynadice_state,dynadice)
{
int i, j;
- UINT8 *usr1 = machine.root_device().memregion("user1")->base();
- UINT8 *cpu2 = machine.root_device().memregion("audiocpu")->base();
- UINT8 *gfx1 = machine.root_device().memregion("gfx1")->base();
- UINT8 *gfx2 = machine.root_device().memregion("gfx2")->base();
+ UINT8 *usr1 = machine().root_device().memregion("user1")->base();
+ UINT8 *cpu2 = machine().root_device().memregion("audiocpu")->base();
+ UINT8 *gfx1 = machine().root_device().memregion("gfx1")->base();
+ UINT8 *gfx2 = machine().root_device().memregion("gfx2")->base();
cpu2[0x0b] = 0x23; /* bug in game code Dec HL -> Inc HL*/
diff --git a/src/mame/drivers/dynax.c b/src/mame/drivers/dynax.c
index 5a17c6d1c34..e8ab1a90db9 100644
--- a/src/mame/drivers/dynax.c
+++ b/src/mame/drivers/dynax.c
@@ -5352,10 +5352,10 @@ ROM_START( blktouch )
ROM_LOAD( "u13", 0x000, 0x200, CRC(6984aaa9) SHA1(91645cd944cb21266edd13e55a8dc846f6edc419) )
ROM_END
-static DRIVER_INIT( blktouch )
+DRIVER_INIT_MEMBER(dynax_state,blktouch)
{
// fearsome encryption ;-)
- UINT8 *src = (UINT8 *)machine.root_device().memregion("maincpu")->base();
+ UINT8 *src = (UINT8 *)machine().root_device().memregion("maincpu")->base();
int i;
for (i = 0; i < 0x90000; i++)
@@ -5364,7 +5364,7 @@ static DRIVER_INIT( blktouch )
}
- src = (UINT8 *)machine.root_device().memregion("gfx1")->base();
+ src = (UINT8 *)machine().root_device().memregion("gfx1")->base();
for (i = 0; i < 0xc0000; i++)
{
@@ -5373,12 +5373,12 @@ static DRIVER_INIT( blktouch )
}
}
-static DRIVER_INIT( maya )
+DRIVER_INIT_MEMBER(dynax_state,maya)
{
/* Address lines scrambling on 1 z80 rom */
int i;
- UINT8 *gfx = (UINT8 *)machine.root_device().memregion("gfx1")->base();
- UINT8 *rom = machine.root_device().memregion("maincpu")->base() + 0x28000, *end = rom + 0x10000;
+ UINT8 *gfx = (UINT8 *)machine().root_device().memregion("gfx1")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base() + 0x28000, *end = rom + 0x10000;
for ( ; rom < end; rom += 8)
{
UINT8 temp[8];
@@ -5390,11 +5390,11 @@ static DRIVER_INIT( maya )
}
/* Address lines scrambling on the blitter data roms */
- rom = auto_alloc_array(machine, UINT8, 0xc0000);
+ rom = auto_alloc_array(machine(), UINT8, 0xc0000);
memcpy(rom, gfx, 0xc0000);
for (i = 0; i < 0xc0000; i++)
gfx[i] = rom[BITSWAP24(i,23,22,21,20,19,18,14,15, 16,17,13,12,11,10,9,8, 7,6,5,4,3,2,1,0)];
- auto_free(machine, rom);
+ auto_free(machine(), rom);
}
@@ -6092,25 +6092,25 @@ ROM_END
// Decrypted by yong
-static DRIVER_INIT( mjelct3 )
+DRIVER_INIT_MEMBER(dynax_state,mjelct3)
{
int i;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- size_t size = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *rom1 = auto_alloc_array(machine, UINT8, size);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ size_t size = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *rom1 = auto_alloc_array(machine(), UINT8, size);
memcpy(rom1, rom, size);
for (i = 0; i < size; i++)
rom[i] = BITSWAP8(rom1[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8, 1,6,5,4,3,2,7, 0)], 7,6, 1,4,3,2,5,0);
- auto_free(machine, rom1);
+ auto_free(machine(), rom1);
}
-static DRIVER_INIT( mjelct3a )
+DRIVER_INIT_MEMBER(dynax_state,mjelct3a)
{
int i, j;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- size_t size = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *rom1 = auto_alloc_array(machine, UINT8, size);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ size_t size = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *rom1 = auto_alloc_array(machine(), UINT8, size);
memcpy(rom1, rom, size);
for (i = 0; i < size; i++)
@@ -6140,7 +6140,7 @@ static DRIVER_INIT( mjelct3a )
}
rom[j] = rom1[i];
}
- auto_free(machine, rom1);
+ auto_free(machine(), rom1);
DRIVER_INIT_CALL(mjelct3);
}
@@ -6484,10 +6484,9 @@ ROM_START( mjreach )
ROM_RELOAD( 0x80000, 0x80000 )
ROM_END
-static DRIVER_INIT( mjreach )
+DRIVER_INIT_MEMBER(dynax_state,mjreach)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x10060, 0x10060, write8_delegate(FUNC(dynax_state::yarunara_flipscreen_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x10060, 0x10060, write8_delegate(FUNC(dynax_state::yarunara_flipscreen_w),this));
}
/***************************************************************************
@@ -7185,27 +7184,27 @@ ROM_END
***************************************************************************/
-GAME( 1989, hnkochou, 0, hanamai, hnkochou, dynax_state, 0, ROT180, "Dynax", "Hana Kochou (Japan, Bet)", GAME_SUPPORTS_SAVE )
-GAME( 1988, hanamai, hnkochou, hanamai, hanamai, dynax_state, 0, ROT180, "Dynax", "Hana no Mai (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hjingi, 0, hjingi, hjingi, dynax_state, 0, ROT180, "Dynax", "Hana Jingi (Japan, Bet)", GAME_SUPPORTS_SAVE )
-GAME( 1989, hnoridur, hjingi, hnoridur, hnoridur, dynax_state, 0, ROT180, "Dynax", "Hana Oriduru (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, drgpunch, 0, sprtmtch, drgpunch, dynax_state, 0, ROT0, "Dynax", "Dragon Punch (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, sprtmtch, drgpunch, sprtmtch, sprtmtch, dynax_state, 0, ROT0, "Dynax (Fabtek license)", "Sports Match", GAME_SUPPORTS_SAVE )
+GAME( 1989, hnkochou, 0, hanamai, hnkochou, driver_device, 0, ROT180, "Dynax", "Hana Kochou (Japan, Bet)", GAME_SUPPORTS_SAVE )
+GAME( 1988, hanamai, hnkochou, hanamai, hanamai, driver_device, 0, ROT180, "Dynax", "Hana no Mai (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hjingi, 0, hjingi, hjingi, driver_device, 0, ROT180, "Dynax", "Hana Jingi (Japan, Bet)", GAME_SUPPORTS_SAVE )
+GAME( 1989, hnoridur, hjingi, hnoridur, hnoridur, driver_device, 0, ROT180, "Dynax", "Hana Oriduru (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, drgpunch, 0, sprtmtch, drgpunch, driver_device, 0, ROT0, "Dynax", "Dragon Punch (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, sprtmtch, drgpunch, sprtmtch, sprtmtch, driver_device, 0, ROT0, "Dynax (Fabtek license)", "Sports Match", GAME_SUPPORTS_SAVE )
/* these 4 are Korean hacks / bootlegs of Dragon Punch / Sports Match */
GAME( 1994, maya, 0, sprtmtch, drgpunch, dynax_state, maya, ROT0, "Promat", "Maya (set 1)", GAME_SUPPORTS_SAVE ) // this set has backgrounds blacked out in attract
GAME( 1994, mayaa, maya, sprtmtch, drgpunch, dynax_state, maya, ROT0, "Promat", "Maya (set 2)", GAME_SUPPORTS_SAVE )
GAME( 199?, inca, 0, sprtmtch, drgpunch, dynax_state, maya, ROT0, "<unknown>", "Inca", GAME_SUPPORTS_SAVE )
GAME( 199?, blktouch, 0, sprtmtch, drgpunch, dynax_state, blktouch, ROT0, "Yang Gi Co Ltd.", "Black Touch (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mjfriday, 0, mjfriday, mjfriday, dynax_state, 0, ROT180, "Dynax", "Mahjong Friday (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, gekisha, 0, gekisha, gekisha, dynax_state, 0, ROT180, "Dynax", "Mahjong Gekisha", GAME_SUPPORTS_SAVE )
-GAME( 1990, mcnpshnt, 0, mcnpshnt, mcnpshnt, dynax_state, 0, ROT0, "Dynax", "Mahjong Campus Hunting (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, 7jigen, 0, nanajign, nanajign, dynax_state, 0, ROT180, "Dynax", "7jigen no Youseitachi - Mahjong 7 Dimensions (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1990, jantouki, 0, jantouki, jantouki, dynax_state, 0, ROT0, "Dynax", "Jong Tou Ki (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, mjdialq2, 0, mjdialq2, mjdialq2, dynax_state, 0, ROT180, "Dynax", "Mahjong Dial Q2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, yarunara, 0, yarunara, yarunara, dynax_state, 0, ROT180, "Dynax", "Mahjong Yarunara (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, mjangels, 0, yarunara, yarunara, dynax_state, 0, ROT180, "Dynax", "Mahjong Angels - Comic Theater Vol.2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, quiztvqq, 0, yarunara, quiztvqq, dynax_state, 0, ROT180, "Dynax", "Quiz TV Gassyuukoku Q&Q (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, mjfriday, 0, mjfriday, mjfriday, driver_device, 0, ROT180, "Dynax", "Mahjong Friday (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, gekisha, 0, gekisha, gekisha, driver_device, 0, ROT180, "Dynax", "Mahjong Gekisha", GAME_SUPPORTS_SAVE )
+GAME( 1990, mcnpshnt, 0, mcnpshnt, mcnpshnt, driver_device, 0, ROT0, "Dynax", "Mahjong Campus Hunting (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, 7jigen, 0, nanajign, nanajign, driver_device, 0, ROT180, "Dynax", "7jigen no Youseitachi - Mahjong 7 Dimensions (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1990, jantouki, 0, jantouki, jantouki, driver_device, 0, ROT0, "Dynax", "Jong Tou Ki (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, mjdialq2, 0, mjdialq2, mjdialq2, driver_device, 0, ROT180, "Dynax", "Mahjong Dial Q2 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, yarunara, 0, yarunara, yarunara, driver_device, 0, ROT180, "Dynax", "Mahjong Yarunara (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, mjangels, 0, yarunara, yarunara, driver_device, 0, ROT180, "Dynax", "Mahjong Angels - Comic Theater Vol.2 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, quiztvqq, 0, yarunara, quiztvqq, driver_device, 0, ROT180, "Dynax", "Quiz TV Gassyuukoku Q&Q (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1993, mjelctrn, 0, mjelctrn, mjelctrn, dynax_state, mjelct3, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 4, Japan)", GAME_SUPPORTS_SAVE )
GAME( 1990, mjelct3, mjelctrn, mjelctrn, mjelct3, dynax_state, mjelct3, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 3, Japan)", GAME_SUPPORTS_SAVE )
GAME( 1990, mjelct3a, mjelctrn, mjelctrn, mjelct3, dynax_state, mjelct3a, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 3, alt., Japan)", GAME_SUPPORTS_SAVE )
@@ -7213,15 +7212,15 @@ GAME( 1993, mjelctrb, mjelctrn, mjelctrn, mjelct3, dynax_state, mjelct3, ROT18
GAME( 1990, majxtal7, 0, majxtal7, majxtal7, dynax_state, mjelct3, ROT180, "Dynax", "Mahjong X-Tal 7 - Crystal Mahjong / Mahjong Diamond 7 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1990, neruton, 0, neruton, neruton, dynax_state, mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. B?)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1990, nerutona, neruton, neruton, neruton, dynax_state, mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. A?)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, hanayara, 0, yarunara, hanayara, dynax_state, 0, ROT180, "Dynax", "Hana wo Yaraneba! (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, mjcomv1, 0, yarunara, yarunara, dynax_state, 0, ROT180, "Dynax", "Mahjong Comic Gekijou Vol.1 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkai, 0, tenkai, tenkai, dynax_state, 0, ROT0, "Dynax", "Mahjong Tenkaigen", GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkai2b, tenkai, tenkai, tenkai, dynax_state, 0, ROT0, "bootleg", "Mahjong Tenkaigen Part 2 (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkaibb, tenkai, tenkai, tenkai, dynax_state, 0, ROT0, "bootleg", "Mahjong Tenkaigen (bootleg b)", GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkaicb, tenkai, tenkai, tenkai, dynax_state, 0, ROT0, "bootleg", "Mahjong Tenkaigen (bootleg c)", GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkaid, tenkai, tenkai, tenkai, dynax_state, 0, ROT0, "Dynax", "Mahjong Tenkaigen (set 1)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkaie, tenkai, tenkai, tenkai, dynax_state, 0, ROT0, "Dynax", "Mahjong Tenkaigen (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1992, htengoku, 0, htengoku, htengoku, dynax_state, 0, ROT180, "Dynax", "Hanafuda Hana Tengoku (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, hanayara, 0, yarunara, hanayara, driver_device, 0, ROT180, "Dynax", "Hana wo Yaraneba! (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, mjcomv1, 0, yarunara, yarunara, driver_device, 0, ROT180, "Dynax", "Mahjong Comic Gekijou Vol.1 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, tenkai, 0, tenkai, tenkai, driver_device, 0, ROT0, "Dynax", "Mahjong Tenkaigen", GAME_SUPPORTS_SAVE )
+GAME( 1991, tenkai2b, tenkai, tenkai, tenkai, driver_device, 0, ROT0, "bootleg", "Mahjong Tenkaigen Part 2 (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1991, tenkaibb, tenkai, tenkai, tenkai, driver_device, 0, ROT0, "bootleg", "Mahjong Tenkaigen (bootleg b)", GAME_SUPPORTS_SAVE )
+GAME( 1991, tenkaicb, tenkai, tenkai, tenkai, driver_device, 0, ROT0, "bootleg", "Mahjong Tenkaigen (bootleg c)", GAME_SUPPORTS_SAVE )
+GAME( 1991, tenkaid, tenkai, tenkai, tenkai, driver_device, 0, ROT0, "Dynax", "Mahjong Tenkaigen (set 1)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1991, tenkaie, tenkai, tenkai, tenkai, driver_device, 0, ROT0, "Dynax", "Mahjong Tenkaigen (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1992, htengoku, 0, htengoku, htengoku, driver_device, 0, ROT180, "Dynax", "Hanafuda Hana Tengoku (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1994, mjreach, 0, tenkai, mjreach, dynax_state, mjreach, ROT0, "bootleg / Dynax", "Mahjong Reach (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1995, shpeng, 0, sprtmtch, drgpunch, dynax_state, 0, ROT0, "WSAC Systems?", "Sea Hunter Penguin", GAME_NO_COCKTAIL | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) // not a dynax board. proms?
-GAME( 1996, majrjhdx, 0, majrjhdx, tenkai, dynax_state, 0, ROT0, "Dynax", "Mahjong Raijinhai DX", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1995, shpeng, 0, sprtmtch, drgpunch, driver_device, 0, ROT0, "WSAC Systems?", "Sea Hunter Penguin", GAME_NO_COCKTAIL | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) // not a dynax board. proms?
+GAME( 1996, majrjhdx, 0, majrjhdx, tenkai, driver_device, 0, ROT0, "Dynax", "Mahjong Raijinhai DX", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dynduke.c b/src/mame/drivers/dynduke.c
index 704530a33f8..006b0624e96 100644
--- a/src/mame/drivers/dynduke.c
+++ b/src/mame/drivers/dynduke.c
@@ -605,9 +605,9 @@ ROM_END
/* Driver Initialization */
-static DRIVER_INIT( dynduke )
+DRIVER_INIT_MEMBER(dynduke_state,dynduke)
{
- seibu_sound_decrypt(machine,"audiocpu",0x20000);
+ seibu_sound_decrypt(machine(),"audiocpu",0x20000);
}
/* Game Drivers */
diff --git a/src/mame/drivers/ecoinf1.c b/src/mame/drivers/ecoinf1.c
index 70ee91bf833..73f639dfab3 100644
--- a/src/mame/drivers/ecoinf1.c
+++ b/src/mame/drivers/ecoinf1.c
@@ -18,6 +18,7 @@ class ecoinf1_state : public driver_device
public:
ecoinf1_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ DECLARE_DRIVER_INIT(ecoinf1);
};
@@ -329,7 +330,7 @@ ROM_START( ec_casbxo )
ROM_LOAD( "bx5c10p.a2", 0x2000, 0x001000, CRC(0bd21303) SHA1(eb60749d3097ce77f0955586fc8ed1d16993286a) )
ROM_END
-DRIVER_INIT( ecoinf1 )
+DRIVER_INIT_MEMBER(ecoinf1_state,ecoinf1)
{
}
diff --git a/src/mame/drivers/ecoinf2.c b/src/mame/drivers/ecoinf2.c
index b9bb25863a7..a3cac9a75f6 100644
--- a/src/mame/drivers/ecoinf2.c
+++ b/src/mame/drivers/ecoinf2.c
@@ -17,6 +17,7 @@ public:
ecoinf2_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
DECLARE_WRITE8_MEMBER(ox_port5c_out_w);
+ DECLARE_DRIVER_INIT(ecoinf2);
};
@@ -490,7 +491,7 @@ ROM_START( ec_sumnc )
ROM_LOAD( "smn94.bin", 0x0000, 0x010000, CRC(9ade016a) SHA1(1c75dc46436253c4e6730f40523d016098c20683) )
ROM_LOAD( "smncscst", 0x0000, 0x010000, CRC(1147531a) SHA1(c303187452afdcb79e0f182d26d2c27693f69d76) )
ROM_END
-DRIVER_INIT( ecoinf2 )
+DRIVER_INIT_MEMBER(ecoinf2_state,ecoinf2)
{
}
diff --git a/src/mame/drivers/ecoinf3.c b/src/mame/drivers/ecoinf3.c
index 972e7e14e3b..2bda8c394dd 100644
--- a/src/mame/drivers/ecoinf3.c
+++ b/src/mame/drivers/ecoinf3.c
@@ -21,6 +21,7 @@ public:
DECLARE_WRITE8_MEMBER(ppi8255_intf_e_write_a);
DECLARE_WRITE8_MEMBER(ppi8255_intf_e_write_b);
DECLARE_WRITE8_MEMBER(ppi8255_intf_e_write_c);
+ DECLARE_DRIVER_INIT(ecoinf3);
};
@@ -469,7 +470,7 @@ ROM_START( ec_secrt )
// no strange rom in this set
ROM_END
-DRIVER_INIT( ecoinf3 )
+DRIVER_INIT_MEMBER(ecoinf3_state,ecoinf3)
{
}
diff --git a/src/mame/drivers/ecoinfr.c b/src/mame/drivers/ecoinfr.c
index 0682b59d65e..d04c4ee2392 100644
--- a/src/mame/drivers/ecoinfr.c
+++ b/src/mame/drivers/ecoinfr.c
@@ -83,6 +83,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(ecoinfr_reel1_opto_r);
DECLARE_CUSTOM_INPUT_MEMBER(ecoinfr_reel2_opto_r);
DECLARE_CUSTOM_INPUT_MEMBER(ecoinfr_reel3_opto_r);
+ DECLARE_DRIVER_INIT(ecoinfr);
+ DECLARE_DRIVER_INIT(ecoinfrmab);
};
@@ -1502,12 +1504,12 @@ ROM_START( ec_unkt )
ROM_LOAD( "t2.bin", 0x0000, 0x000989, CRC(0992ffa6) SHA1(cffb6e0a9a72bb2bf9a6e262074062bd06cfa1fb) )
ROM_END
-DRIVER_INIT( ecoinfr )
+DRIVER_INIT_MEMBER(ecoinfr_state,ecoinfr)
{
}
-DRIVER_INIT( ecoinfrmab )
+DRIVER_INIT_MEMBER(ecoinfr_state,ecoinfrmab)
{
// descramble here
}
diff --git a/src/mame/drivers/egghunt.c b/src/mame/drivers/egghunt.c
index db0be3e5701..65ca78da1af 100644
--- a/src/mame/drivers/egghunt.c
+++ b/src/mame/drivers/egghunt.c
@@ -463,4 +463,4 @@ ROM_START( egghunt )
ROM_LOAD( "rom1.bin", 0x00000, 0x80000, CRC(f03589bc) SHA1(4d9c8422ac3c4c3ecba3bcf0ed47b8c7d5903f8c) )
ROM_END
-GAME( 1995, egghunt, 0, egghunt, egghunt, egghunt_state, 0, ROT0, "Invi Image", "Egg Hunt", GAME_SUPPORTS_SAVE )
+GAME( 1995, egghunt, 0, egghunt, egghunt, driver_device, 0, ROT0, "Invi Image", "Egg Hunt", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/embargo.c b/src/mame/drivers/embargo.c
index 7113fbafe75..9f846c894b1 100644
--- a/src/mame/drivers/embargo.c
+++ b/src/mame/drivers/embargo.c
@@ -299,4 +299,4 @@ ROM_END
*
*************************************/
-GAME( 1977, embargo, 0, embargo, embargo, embargo_state, 0, ROT0, "Cinematronics", "Embargo", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1977, embargo, 0, embargo, embargo, driver_device, 0, ROT0, "Cinematronics", "Embargo", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/enigma2.c b/src/mame/drivers/enigma2.c
index 0b98560da56..c411033f120 100644
--- a/src/mame/drivers/enigma2.c
+++ b/src/mame/drivers/enigma2.c
@@ -86,6 +86,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(p2_controls_r);
DECLARE_READ8_MEMBER(sound_latch_r);
DECLARE_WRITE8_MEMBER(protection_data_w);
+ DECLARE_DRIVER_INIT(enigma2);
};
@@ -704,10 +705,10 @@ ROM_START( enigma2b )
ROM_END
-static DRIVER_INIT(enigma2)
+DRIVER_INIT_MEMBER(enigma2_state,enigma2)
{
offs_t i;
- UINT8 *rom = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *rom = machine().root_device().memregion("audiocpu")->base();
for(i = 0; i < 0x2000; i++)
{
diff --git a/src/mame/drivers/eolith.c b/src/mame/drivers/eolith.c
index 8f008e4e999..066bc04b048 100644
--- a/src/mame/drivers/eolith.c
+++ b/src/mame/drivers/eolith.c
@@ -1438,64 +1438,60 @@ static MACHINE_RESET( eolith )
cputag_set_input_line(machine, "soundcpu", MCS51_INT1_LINE, ASSERT_LINE);
}
-static DRIVER_INIT( eolith )
+DRIVER_INIT_MEMBER(eolith_state,eolith)
{
- eolith_state *state = machine.driver_data<eolith_state>();
- init_eolith_speedup(machine);
+ init_eolith_speedup(machine());
// Sound CPU -> QS1000 CPU serial link
- i8051_set_serial_tx_callback(machine.device("soundcpu"), soundcpu_to_qs1000);
+ i8051_set_serial_tx_callback(machine().device("soundcpu"), soundcpu_to_qs1000);
// Configure the sound ROM banking
- machine.root_device().membank("sound_bank")->configure_entries(0, 16, state->memregion("sounddata")->base(), 0x8000);
+ machine().root_device().membank("sound_bank")->configure_entries(0, 16, memregion("sounddata")->base(), 0x8000);
}
-static DRIVER_INIT( landbrk )
+DRIVER_INIT_MEMBER(eolith_state,landbrk)
{
- eolith_state *state = machine.driver_data<eolith_state>();
- state->m_coin_counter_bit = 0x1000;
+ m_coin_counter_bit = 0x1000;
- DRIVER_INIT_CALL(eolith);
+ DRIVER_INIT_CALL(eolith);
}
-static DRIVER_INIT( landbrka )
+DRIVER_INIT_MEMBER(eolith_state,landbrka)
{
- eolith_state *state = machine.driver_data<eolith_state>();
//it fails compares with memories:
//$4002d338 -> $4002d348 .... $4002d33f -> $4002d34f
//related with bits 0x100 - 0x200 read at startup from input(0) ?
- UINT32 *rombase = (UINT32*)state->memregion("maincpu")->base();
+ UINT32 *rombase = (UINT32*)memregion("maincpu")->base();
rombase[0x14f00/4] = (rombase[0x14f00/4] & 0xffff) | 0x03000000; /* Change BR to NOP */
- state->m_coin_counter_bit = 0x2000;
+ m_coin_counter_bit = 0x2000;
- DRIVER_INIT_CALL(eolith);
+ DRIVER_INIT_CALL(eolith);
}
-static DRIVER_INIT( hidctch2 )
+DRIVER_INIT_MEMBER(eolith_state,hidctch2)
{
//it fails compares in memory like in landbrka
- UINT32 *rombase = (UINT32*)machine.root_device().memregion("maincpu")->base();
+ UINT32 *rombase = (UINT32*)machine().root_device().memregion("maincpu")->base();
rombase[0xbcc8/4] = (rombase[0xbcc8/4] & 0xffff) | 0x03000000; /* Change BR to NOP */
- DRIVER_INIT_CALL(eolith);
+ DRIVER_INIT_CALL(eolith);
}
-static DRIVER_INIT( hidctch3 )
+DRIVER_INIT_MEMBER(eolith_state,hidctch3)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xfc200000, 0xfc200003); // this generates pens vibration
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xfc200000, 0xfc200003); // this generates pens vibration
// It is not clear why the first reads are needed too
- eolith_state *state = machine.driver_data<eolith_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfce00000, 0xfce00003, read32_delegate(FUNC(eolith_state::hidctch3_pen1_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfce80000, 0xfce80003, read32_delegate(FUNC(eolith_state::hidctch3_pen1_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfce00000, 0xfce00003, read32_delegate(FUNC(eolith_state::hidctch3_pen1_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfce80000, 0xfce80003, read32_delegate(FUNC(eolith_state::hidctch3_pen1_r),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfcf00000, 0xfcf00003, read32_delegate(FUNC(eolith_state::hidctch3_pen2_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfcf80000, 0xfcf80003, read32_delegate(FUNC(eolith_state::hidctch3_pen2_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfcf00000, 0xfcf00003, read32_delegate(FUNC(eolith_state::hidctch3_pen2_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfcf80000, 0xfcf80003, read32_delegate(FUNC(eolith_state::hidctch3_pen2_r),this));
- DRIVER_INIT_CALL(eolith);
+ DRIVER_INIT_CALL(eolith);
}
diff --git a/src/mame/drivers/eolith16.c b/src/mame/drivers/eolith16.c
index cd59aab3589..3e5c315dc56 100644
--- a/src/mame/drivers/eolith16.c
+++ b/src/mame/drivers/eolith16.c
@@ -30,6 +30,7 @@ public:
DECLARE_READ16_MEMBER(eolith16_custom_r);
DECLARE_WRITE16_MEMBER(vram_w);
DECLARE_READ16_MEMBER(vram_r);
+ DECLARE_DRIVER_INIT(eolith16);
};
@@ -260,9 +261,9 @@ ROM_START( klondkp )
ROM_LOAD( "kd.u28", 0x000000, 0x080000, CRC(c12112a1) SHA1(729bbaca6db933a730099a4a560a10ed99cae1c3) )
ROM_END
-static DRIVER_INIT( eolith16 )
+DRIVER_INIT_MEMBER(eolith16_state,eolith16)
{
- init_eolith_speedup(machine);
+ init_eolith_speedup(machine());
}
GAME( 1999, klondkp, 0, eolith16, eolith16, eolith16_state, eolith16, ROT0, "Eolith", "KlonDike+", 0 )
diff --git a/src/mame/drivers/epos.c b/src/mame/drivers/epos.c
index afc6c0793da..452996432a4 100644
--- a/src/mame/drivers/epos.c
+++ b/src/mame/drivers/epos.c
@@ -608,9 +608,9 @@ ROM_START( revenger )
ROM_LOAD( "82s123.u66", 0x0000, 0x0020, NO_DUMP ) /* missing */
ROM_END
-static DRIVER_INIT( dealer )
+DRIVER_INIT_MEMBER(epos_state,dealer)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int A;
/* Key 0 */
@@ -655,12 +655,12 @@ static DRIVER_INIT( dealer )
*
*************************************/
-GAME( 1982, megadon, 0, epos, megadon, epos_state, 0, ROT270, "Epos Corporation (Photar Industries license)", "Megadon", GAME_SUPPORTS_SAVE )
-GAME( 1982, catapult, 0, epos, catapult, epos_state, 0, ROT270, "Epos Corporation", "Catapult", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* bad rom, hold f2 for test mode */
-GAME( 1983, suprglob, 0, epos, suprglob, epos_state, 0, ROT270, "Epos Corporation", "Super Glob", GAME_SUPPORTS_SAVE )
-GAME( 1983, theglob, suprglob, epos, suprglob, epos_state, 0, ROT270, "Epos Corporation", "The Glob", GAME_SUPPORTS_SAVE )
-GAME( 1983, theglob2, suprglob, epos, suprglob, epos_state, 0, ROT270, "Epos Corporation", "The Glob (earlier)", GAME_SUPPORTS_SAVE )
-GAME( 1983, theglob3, suprglob, epos, suprglob, epos_state, 0, ROT270, "Epos Corporation", "The Glob (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1984, igmo, 0, epos, igmo, epos_state, 0, ROT270, "Epos Corporation", "IGMO", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1982, megadon, 0, epos, megadon, driver_device, 0, ROT270, "Epos Corporation (Photar Industries license)", "Megadon", GAME_SUPPORTS_SAVE )
+GAME( 1982, catapult, 0, epos, catapult, driver_device, 0, ROT270, "Epos Corporation", "Catapult", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* bad rom, hold f2 for test mode */
+GAME( 1983, suprglob, 0, epos, suprglob, driver_device, 0, ROT270, "Epos Corporation", "Super Glob", GAME_SUPPORTS_SAVE )
+GAME( 1983, theglob, suprglob, epos, suprglob, driver_device, 0, ROT270, "Epos Corporation", "The Glob", GAME_SUPPORTS_SAVE )
+GAME( 1983, theglob2, suprglob, epos, suprglob, driver_device, 0, ROT270, "Epos Corporation", "The Glob (earlier)", GAME_SUPPORTS_SAVE )
+GAME( 1983, theglob3, suprglob, epos, suprglob, driver_device, 0, ROT270, "Epos Corporation", "The Glob (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1984, igmo, 0, epos, igmo, driver_device, 0, ROT270, "Epos Corporation", "IGMO", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1984, dealer, 0, dealer, dealer, epos_state, dealer, ROT270, "Epos Corporation", "The Dealer", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1984, revenger, 0, dealer, dealer, epos_state, dealer, ROT270, "Epos Corporation", "Revenger", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/eprom.c b/src/mame/drivers/eprom.c
index 289348def60..302a87a347f 100644
--- a/src/mame/drivers/eprom.c
+++ b/src/mame/drivers/eprom.c
@@ -716,27 +716,26 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( eprom )
+DRIVER_INIT_MEMBER(eprom_state,eprom)
{
- eprom_state *state = machine.driver_data<eprom_state>();
- atarijsa_init(machine, "260010", 0x0002);
+ atarijsa_init(machine(), "260010", 0x0002);
/* install CPU synchronization handlers */
- state->m_sync_data = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x16cc00, 0x16cc01, read16_delegate(FUNC(eprom_state::sync_r),state), write16_delegate(FUNC(eprom_state::sync_w),state));
- state->m_sync_data = machine.device("extra")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x16cc00, 0x16cc01, read16_delegate(FUNC(eprom_state::sync_r),state), write16_delegate(FUNC(eprom_state::sync_w),state));
+ m_sync_data = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x16cc00, 0x16cc01, read16_delegate(FUNC(eprom_state::sync_r),this), write16_delegate(FUNC(eprom_state::sync_w),this));
+ m_sync_data = machine().device("extra")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x16cc00, 0x16cc01, read16_delegate(FUNC(eprom_state::sync_r),this), write16_delegate(FUNC(eprom_state::sync_w),this));
}
-static DRIVER_INIT( klaxp )
+DRIVER_INIT_MEMBER(eprom_state,klaxp)
{
- atarijsa_init(machine, "260010", 0x0002);
+ atarijsa_init(machine(), "260010", 0x0002);
}
-static DRIVER_INIT( guts )
+DRIVER_INIT_MEMBER(eprom_state,guts)
{
- atarijsa_init(machine, "260010", 0x0002);
+ atarijsa_init(machine(), "260010", 0x0002);
}
diff --git a/src/mame/drivers/equites.c b/src/mame/drivers/equites.c
index 0e2a338a3ac..9eb9ad5698e 100644
--- a/src/mame/drivers/equites.c
+++ b/src/mame/drivers/equites.c
@@ -1874,46 +1874,45 @@ static void unpack_region( running_machine &machine, const char *region )
}
-static DRIVER_INIT( equites )
+DRIVER_INIT_MEMBER(equites_state,equites)
{
- unpack_region(machine, "gfx2");
- unpack_region(machine, "gfx3");
+ unpack_region(machine(), "gfx2");
+ unpack_region(machine(), "gfx3");
}
-static DRIVER_INIT( bullfgtr )
+DRIVER_INIT_MEMBER(equites_state,bullfgtr)
{
- unpack_region(machine, "gfx2");
- unpack_region(machine, "gfx3");
+ unpack_region(machine(), "gfx2");
+ unpack_region(machine(), "gfx3");
}
-static DRIVER_INIT( kouyakyu )
+DRIVER_INIT_MEMBER(equites_state,kouyakyu)
{
- unpack_region(machine, "gfx2");
- unpack_region(machine, "gfx3");
+ unpack_region(machine(), "gfx2");
+ unpack_region(machine(), "gfx3");
}
-static DRIVER_INIT( gekisou )
+DRIVER_INIT_MEMBER(equites_state,gekisou)
{
- unpack_region(machine, "gfx2");
- unpack_region(machine, "gfx3");
+ unpack_region(machine(), "gfx2");
+ unpack_region(machine(), "gfx3");
// install special handlers for unknown device (protection?)
- equites_state *state = machine.driver_data<equites_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x580000, 0x580001, write16_delegate(FUNC(equites_state::gekisou_unknown_0_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x5a0000, 0x5a0001, write16_delegate(FUNC(equites_state::gekisou_unknown_1_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x580000, 0x580001, write16_delegate(FUNC(equites_state::gekisou_unknown_0_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x5a0000, 0x5a0001, write16_delegate(FUNC(equites_state::gekisou_unknown_1_w),this));
}
-static DRIVER_INIT( splndrbt )
+DRIVER_INIT_MEMBER(equites_state,splndrbt)
{
- unpack_region(machine, "gfx3");
+ unpack_region(machine(), "gfx3");
}
-static DRIVER_INIT( hvoltage )
+DRIVER_INIT_MEMBER(equites_state,hvoltage)
{
- unpack_region(machine, "gfx3");
+ unpack_region(machine(), "gfx3");
#if HVOLTAGE_DEBUG
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x000038, 0x000039, read16_delegate(FUNC(equites_state::hvoltage_debug_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x000038, 0x000039, read16_delegate(FUNC(equites_state::hvoltage_debug_r),this));
#endif
}
diff --git a/src/mame/drivers/ertictac.c b/src/mame/drivers/ertictac.c
index 2bf167bfb6c..562047d5e50 100644
--- a/src/mame/drivers/ertictac.c
+++ b/src/mame/drivers/ertictac.c
@@ -35,6 +35,7 @@ public:
: driver_device(mconfig, type, tag) { }
DECLARE_READ32_MEMBER(ertictac_podule_r);
+ DECLARE_DRIVER_INIT(ertictac);
};
@@ -187,9 +188,9 @@ static INPUT_PORTS_START( poizone )
PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "DSW2:6" )
INPUT_PORTS_END
-static DRIVER_INIT( ertictac )
+DRIVER_INIT_MEMBER(ertictac_state,ertictac)
{
- archimedes_driver_init(machine);
+ archimedes_driver_init(machine());
}
static MACHINE_START( ertictac )
diff --git a/src/mame/drivers/esd16.c b/src/mame/drivers/esd16.c
index 26a5eed0d14..7711f94b931 100644
--- a/src/mame/drivers/esd16.c
+++ b/src/mame/drivers/esd16.c
@@ -1491,23 +1491,23 @@ ROM_END
***************************************************************************/
/* ESD 11-09-98 */
-GAME( 1999, multchmp, 0, esd16, multchmp, esd16_state, 0, ROT0, "ESD", "Multi Champ (World, ver. 2.5)", GAME_SUPPORTS_SAVE )
-GAME( 1998, multchmpk,multchmp, esd16, multchmp, esd16_state, 0, ROT0, "ESD", "Multi Champ (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 2001, jumppop, 0, jumppop, jumppop, esd16_state, 0, ROT0, "ESD", "Jumping Pop (set 1)", GAME_SUPPORTS_SAVE ) /* Redesigned(?) ESD 11-09-98 with no ID# */
-GAME( 2001, jumppope, jumppop, jumppop, jumppop, esd16_state, 0, ROT0, "Emag Soft", "Jumping Pop (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1999, multchmp, 0, esd16, multchmp, driver_device, 0, ROT0, "ESD", "Multi Champ (World, ver. 2.5)", GAME_SUPPORTS_SAVE )
+GAME( 1998, multchmpk,multchmp, esd16, multchmp, driver_device, 0, ROT0, "ESD", "Multi Champ (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 2001, jumppop, 0, jumppop, jumppop, driver_device, 0, ROT0, "ESD", "Jumping Pop (set 1)", GAME_SUPPORTS_SAVE ) /* Redesigned(?) ESD 11-09-98 with no ID# */
+GAME( 2001, jumppope, jumppop, jumppop, jumppop, driver_device, 0, ROT0, "Emag Soft", "Jumping Pop (set 2)", GAME_SUPPORTS_SAVE )
/* ESD 05-28-99 */
-GAME( 1999, hedpanico,hedpanic, hedpanio, hedpanic, esd16_state, 0, ROT0, "ESD", "Head Panic (ver. 0615, 15/06/1999)", GAME_SUPPORTS_SAVE )
+GAME( 1999, hedpanico,hedpanic, hedpanio, hedpanic, driver_device, 0, ROT0, "ESD", "Head Panic (ver. 0615, 15/06/1999)", GAME_SUPPORTS_SAVE )
/* ESD 08-26-1999 */
-GAME( 2000, mchampdx, 0, mchampdx, hedpanic, esd16_state, 0, ROT0, "ESD", "Multi Champ Deluxe (ver. 0106, 06/01/2000)", GAME_SUPPORTS_SAVE )
-GAME( 1999, mchampdxa,mchampdx, mchampdx, hedpanic, esd16_state, 0, ROT0, "ESD", "Multi Champ Deluxe (ver. 1126, 26/11/1999)", GAME_SUPPORTS_SAVE )
-GAME( 1999, mchampdxb,mchampdx, mchampdx, hedpanic, esd16_state, 0, ROT0, "ESD", "Multi Champ Deluxe (ver. 1114, 14/11/1999)", GAME_SUPPORTS_SAVE )
-GAME( 2000, hedpanic, 0, hedpanic, hedpanic, esd16_state, 0, ROT0, "ESD", "Head Panic (ver. 0117, 17/01/2000)", GAME_SUPPORTS_SAVE )
-GAME( 2000, hedpanicf,hedpanic, hedpanic, hedpanic, esd16_state, 0, ROT0, "ESD / Fuuki", "Head Panic (ver. 0315, 15/03/2000)", GAME_SUPPORTS_SAVE )
+GAME( 2000, mchampdx, 0, mchampdx, hedpanic, driver_device, 0, ROT0, "ESD", "Multi Champ Deluxe (ver. 0106, 06/01/2000)", GAME_SUPPORTS_SAVE )
+GAME( 1999, mchampdxa,mchampdx, mchampdx, hedpanic, driver_device, 0, ROT0, "ESD", "Multi Champ Deluxe (ver. 1126, 26/11/1999)", GAME_SUPPORTS_SAVE )
+GAME( 1999, mchampdxb,mchampdx, mchampdx, hedpanic, driver_device, 0, ROT0, "ESD", "Multi Champ Deluxe (ver. 1114, 14/11/1999)", GAME_SUPPORTS_SAVE )
+GAME( 2000, hedpanic, 0, hedpanic, hedpanic, driver_device, 0, ROT0, "ESD", "Head Panic (ver. 0117, 17/01/2000)", GAME_SUPPORTS_SAVE )
+GAME( 2000, hedpanicf,hedpanic, hedpanic, hedpanic, driver_device, 0, ROT0, "ESD / Fuuki", "Head Panic (ver. 0315, 15/03/2000)", GAME_SUPPORTS_SAVE )
/* ESD - This PCB looks identical to the ESD 08-26-1999 PCB */
-GAME( 2000, deluxe5, 0, tangtang, hedpanic, esd16_state, 0, ROT0, "ESD", "Deluxe 5 (ver. 0107, 07/01/2000)", GAME_SUPPORTS_SAVE )
-GAME( 2000, tangtang, 0, tangtang, hedpanic, esd16_state, 0, ROT0, "ESD", "Tang Tang (ver. 0526, 26/05/2000)", GAME_SUPPORTS_SAVE )
-GAME( 2001, swatpolc, 0, hedpanic, swatpolc, esd16_state, 0, ROT0, "ESD", "SWAT Police", GAME_SUPPORTS_SAVE )
+GAME( 2000, deluxe5, 0, tangtang, hedpanic, driver_device, 0, ROT0, "ESD", "Deluxe 5 (ver. 0107, 07/01/2000)", GAME_SUPPORTS_SAVE )
+GAME( 2000, tangtang, 0, tangtang, hedpanic, driver_device, 0, ROT0, "ESD", "Tang Tang (ver. 0526, 26/05/2000)", GAME_SUPPORTS_SAVE )
+GAME( 2001, swatpolc, 0, hedpanic, swatpolc, driver_device, 0, ROT0, "ESD", "SWAT Police", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/esh.c b/src/mame/drivers/esh.c
index a6a559f4d3b..58beea19d66 100644
--- a/src/mame/drivers/esh.c
+++ b/src/mame/drivers/esh.c
@@ -46,6 +46,7 @@ public:
DECLARE_WRITE8_MEMBER(misc_write);
DECLARE_WRITE8_MEMBER(led_writes);
DECLARE_WRITE8_MEMBER(nmi_line_w);
+ DECLARE_DRIVER_INIT(esh);
};
@@ -392,7 +393,7 @@ ROM_START( eshb )
ROM_END
-static DRIVER_INIT( esh )
+DRIVER_INIT_MEMBER(esh_state,esh)
{
}
diff --git a/src/mame/drivers/espial.c b/src/mame/drivers/espial.c
index 286378a8ce6..98dd2b0032c 100644
--- a/src/mame/drivers/espial.c
+++ b/src/mame/drivers/espial.c
@@ -449,6 +449,6 @@ ROM_END
-GAME( 1983, espial, 0, espial, espial, espial_state, 0, ROT0, "Orca / Thunderbolt", "Espial (Europe)", GAME_SUPPORTS_SAVE )
-GAME( 1983, espialu, espial, espial, espial, espial_state, 0, ROT0, "Orca / Thunderbolt", "Espial (US?)", GAME_SUPPORTS_SAVE )
-GAME( 1983, netwars, 0, netwars, netwars, espial_state, 0, ROT90, "Orca (Esco Trading Co license)", "Net Wars", GAME_SUPPORTS_SAVE )
+GAME( 1983, espial, 0, espial, espial, driver_device, 0, ROT0, "Orca / Thunderbolt", "Espial (Europe)", GAME_SUPPORTS_SAVE )
+GAME( 1983, espialu, espial, espial, espial, driver_device, 0, ROT0, "Orca / Thunderbolt", "Espial (US?)", GAME_SUPPORTS_SAVE )
+GAME( 1983, netwars, 0, netwars, netwars, driver_device, 0, ROT90, "Orca (Esco Trading Co license)", "Net Wars", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/esripsys.c b/src/mame/drivers/esripsys.c
index 54034abf4b4..07bf6b13983 100644
--- a/src/mame/drivers/esripsys.c
+++ b/src/mame/drivers/esripsys.c
@@ -642,50 +642,49 @@ ADDRESS_MAP_END
*
*************************************/
-static DRIVER_INIT( esripsys )
+DRIVER_INIT_MEMBER(esripsys_state,esripsys)
{
- esripsys_state *state = machine.driver_data<esripsys_state>();
- UINT8 *rom = state->memregion("sound_data")->base();
+ UINT8 *rom = memregion("sound_data")->base();
- state->m_fdt_a = auto_alloc_array(machine, UINT8, FDT_RAM_SIZE);
- state->m_fdt_b = auto_alloc_array(machine, UINT8, FDT_RAM_SIZE);
- state->m_cmos_ram = auto_alloc_array(machine, UINT8, CMOS_RAM_SIZE);
+ m_fdt_a = auto_alloc_array(machine(), UINT8, FDT_RAM_SIZE);
+ m_fdt_b = auto_alloc_array(machine(), UINT8, FDT_RAM_SIZE);
+ m_cmos_ram = auto_alloc_array(machine(), UINT8, CMOS_RAM_SIZE);
- machine.device<nvram_device>("nvram")->set_base(state->m_cmos_ram, CMOS_RAM_SIZE);
+ machine().device<nvram_device>("nvram")->set_base(m_cmos_ram, CMOS_RAM_SIZE);
- state->membank("bank2")->set_base(&rom[0x0000]);
- state->membank("bank3")->set_base(&rom[0x4000]);
- state->membank("bank4")->set_base(&rom[0x8000]);
+ membank("bank2")->set_base(&rom[0x0000]);
+ membank("bank3")->set_base(&rom[0x4000]);
+ membank("bank4")->set_base(&rom[0x8000]);
/* Register stuff for state saving */
- state_save_register_global_pointer(machine, state->m_fdt_a, FDT_RAM_SIZE);
- state_save_register_global_pointer(machine, state->m_fdt_b, FDT_RAM_SIZE);
- state_save_register_global_pointer(machine, state->m_cmos_ram, CMOS_RAM_SIZE);
-
- state_save_register_global(machine, state->m_g_iodata);
- state_save_register_global(machine, state->m_g_ioaddr);
- state_save_register_global(machine, state->m_coin_latch);
- state_save_register_global(machine, state->m_keypad_status);
- state_save_register_global(machine, state->m_g_status);
- state_save_register_global(machine, state->m_f_status);
- state_save_register_global(machine, state->m_io_firq_status);
- state_save_register_global(machine, state->m_cmos_ram_a2_0);
- state_save_register_global(machine, state->m_cmos_ram_a10_3);
-
- state_save_register_global(machine, state->m_u56a);
- state_save_register_global(machine, state->m_u56b);
- state_save_register_global(machine, state->m_g_to_s_latch1);
- state_save_register_global(machine, state->m_g_to_s_latch2);
- state_save_register_global(machine, state->m_s_to_g_latch1);
- state_save_register_global(machine, state->m_s_to_g_latch2);
- state_save_register_global(machine, state->m_dac_msb);
- state_save_register_global(machine, state->m_dac_vol);
- state_save_register_global(machine, state->m_tms_data);
-
- state->m_fasel = 0;
- state->m_fbsel = 1;
- state_save_register_global(machine, state->m_fasel);
- state_save_register_global(machine, state->m_fbsel);
+ state_save_register_global_pointer(machine(), m_fdt_a, FDT_RAM_SIZE);
+ state_save_register_global_pointer(machine(), m_fdt_b, FDT_RAM_SIZE);
+ state_save_register_global_pointer(machine(), m_cmos_ram, CMOS_RAM_SIZE);
+
+ state_save_register_global(machine(), m_g_iodata);
+ state_save_register_global(machine(), m_g_ioaddr);
+ state_save_register_global(machine(), m_coin_latch);
+ state_save_register_global(machine(), m_keypad_status);
+ state_save_register_global(machine(), m_g_status);
+ state_save_register_global(machine(), m_f_status);
+ state_save_register_global(machine(), m_io_firq_status);
+ state_save_register_global(machine(), m_cmos_ram_a2_0);
+ state_save_register_global(machine(), m_cmos_ram_a10_3);
+
+ state_save_register_global(machine(), m_u56a);
+ state_save_register_global(machine(), m_u56b);
+ state_save_register_global(machine(), m_g_to_s_latch1);
+ state_save_register_global(machine(), m_g_to_s_latch2);
+ state_save_register_global(machine(), m_s_to_g_latch1);
+ state_save_register_global(machine(), m_s_to_g_latch2);
+ state_save_register_global(machine(), m_dac_msb);
+ state_save_register_global(machine(), m_dac_vol);
+ state_save_register_global(machine(), m_tms_data);
+
+ m_fasel = 0;
+ m_fbsel = 1;
+ state_save_register_global(machine(), m_fasel);
+ state_save_register_global(machine(), m_fbsel);
}
static const esrip_config rip_config =
diff --git a/src/mame/drivers/ettrivia.c b/src/mame/drivers/ettrivia.c
index 672e020019f..94785d75e86 100644
--- a/src/mame/drivers/ettrivia.c
+++ b/src/mame/drivers/ettrivia.c
@@ -476,8 +476,8 @@ ROM_START( strvmstr )
ROM_LOAD( "entrtn.hi3", 0x38000, 0x8000, CRC(a8cf603b) SHA1(6efa5753d8d252452b3f5be8635a28364e4d8de1) )
ROM_END
-GAME( 1985, promutrv, 0, ettrivia, ettrivia, ettrivia_state, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 1)", 0 )
-GAME( 1985, promutrva,promutrv, ettrivia, ettrivia, ettrivia_state, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 2)", 0 )
-GAME( 1985, promutrvb,promutrv, ettrivia, ettrivia, ettrivia_state, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 3)", 0 )
-GAME( 1985, promutrvc,promutrv, ettrivia, ettrivia, ettrivia_state, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 4)", 0 )
-GAME( 1986, strvmstr, 0, ettrivia, ettrivia, ettrivia_state, 0, ROT270, "Enerdyne Technologies Inc.", "Super Trivia Master", GAME_WRONG_COLORS )
+GAME( 1985, promutrv, 0, ettrivia, ettrivia, driver_device, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 1)", 0 )
+GAME( 1985, promutrva,promutrv, ettrivia, ettrivia, driver_device, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 2)", 0 )
+GAME( 1985, promutrvb,promutrv, ettrivia, ettrivia, driver_device, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 3)", 0 )
+GAME( 1985, promutrvc,promutrv, ettrivia, ettrivia, driver_device, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 4)", 0 )
+GAME( 1986, strvmstr, 0, ettrivia, ettrivia, driver_device, 0, ROT270, "Enerdyne Technologies Inc.", "Super Trivia Master", GAME_WRONG_COLORS )
diff --git a/src/mame/drivers/exedexes.c b/src/mame/drivers/exedexes.c
index 4dcf2eb1fc1..a9268c1af59 100644
--- a/src/mame/drivers/exedexes.c
+++ b/src/mame/drivers/exedexes.c
@@ -359,5 +359,5 @@ ROM_END
-GAME( 1985, exedexes, 0, exedexes, exedexes, exedexes_state, 0, ROT270, "Capcom", "Exed Exes", GAME_SUPPORTS_SAVE )
-GAME( 1985, savgbees, exedexes, exedexes, exedexes, exedexes_state, 0, ROT270, "Capcom (Memetron license)", "Savage Bees", GAME_SUPPORTS_SAVE )
+GAME( 1985, exedexes, 0, exedexes, exedexes, driver_device, 0, ROT270, "Capcom", "Exed Exes", GAME_SUPPORTS_SAVE )
+GAME( 1985, savgbees, exedexes, exedexes, exedexes, driver_device, 0, ROT270, "Capcom (Memetron license)", "Savage Bees", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/exerion.c b/src/mame/drivers/exerion.c
index 92d9daccf0e..44fff4bc403 100644
--- a/src/mame/drivers/exerion.c
+++ b/src/mame/drivers/exerion.c
@@ -546,18 +546,18 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( exerion )
+DRIVER_INIT_MEMBER(exerion_state,exerion)
{
UINT32 oldaddr, newaddr, length;
UINT8 *src, *dst, *temp;
/* allocate some temporary space */
- temp = auto_alloc_array(machine, UINT8, 0x10000);
+ temp = auto_alloc_array(machine(), UINT8, 0x10000);
/* make a temporary copy of the character data */
src = temp;
- dst = machine.root_device().memregion("gfx1")->base();
- length = machine.root_device().memregion("gfx1")->bytes();
+ dst = machine().root_device().memregion("gfx1")->base();
+ length = machine().root_device().memregion("gfx1")->bytes();
memcpy(src, dst, length);
/* decode the characters */
@@ -574,8 +574,8 @@ static DRIVER_INIT( exerion )
/* make a temporary copy of the sprite data */
src = temp;
- dst = machine.root_device().memregion("gfx2")->base();
- length = machine.root_device().memregion("gfx2")->bytes();
+ dst = machine().root_device().memregion("gfx2")->base();
+ length = machine().root_device().memregion("gfx2")->bytes();
memcpy(src, dst, length);
/* decode the sprites */
@@ -591,13 +591,13 @@ static DRIVER_INIT( exerion )
dst[newaddr] = src[oldaddr];
}
- auto_free(machine, temp);
+ auto_free(machine(), temp);
}
-static DRIVER_INIT( exerionb )
+DRIVER_INIT_MEMBER(exerion_state,exerionb)
{
- UINT8 *ram = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ram = machine().root_device().memregion("maincpu")->base();
int addr;
/* the program ROMs have data lines D1 and D2 swapped. Decode them. */
diff --git a/src/mame/drivers/exidy.c b/src/mame/drivers/exidy.c
index 952606c5fa7..16b3c62eb27 100644
--- a/src/mame/drivers/exidy.c
+++ b/src/mame/drivers/exidy.c
@@ -1412,101 +1412,95 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( sidetrac )
+DRIVER_INIT_MEMBER(exidy_state,sidetrac)
{
- exidy_state *state = machine.driver_data<exidy_state>();
- exidy_video_config(machine, 0x00, 0x00, FALSE);
+ exidy_video_config(machine(), 0x00, 0x00, FALSE);
/* hard-coded palette controlled via 8x3 DIP switches on the board */
- state->m_color_latch[2] = 0xf8;
- state->m_color_latch[1] = 0xdc;
- state->m_color_latch[0] = 0xb8;
+ m_color_latch[2] = 0xf8;
+ m_color_latch[1] = 0xdc;
+ m_color_latch[0] = 0xb8;
}
-static DRIVER_INIT( targ )
+DRIVER_INIT_MEMBER(exidy_state,targ)
{
- exidy_state *state = machine.driver_data<exidy_state>();
- exidy_video_config(machine, 0x00, 0x00, FALSE);
+ exidy_video_config(machine(), 0x00, 0x00, FALSE);
/* hard-coded palette controlled via 8x3 DIP switches on the board */
- state->m_color_latch[2] = 0x5c;
- state->m_color_latch[1] = 0xee;
- state->m_color_latch[0] = 0x6b;
+ m_color_latch[2] = 0x5c;
+ m_color_latch[1] = 0xee;
+ m_color_latch[0] = 0x6b;
}
-static DRIVER_INIT( spectar )
+DRIVER_INIT_MEMBER(exidy_state,spectar)
{
- exidy_state *state = machine.driver_data<exidy_state>();
- exidy_video_config(machine, 0x00, 0x00, FALSE);
+ exidy_video_config(machine(), 0x00, 0x00, FALSE);
/* hard-coded palette controlled via 8x3 DIP switches on the board */
- state->m_color_latch[2] = 0x58;
- state->m_color_latch[1] = 0xee;
- state->m_color_latch[0] = 0x09;
+ m_color_latch[2] = 0x58;
+ m_color_latch[1] = 0xee;
+ m_color_latch[0] = 0x09;
}
-static DRIVER_INIT( rallys )
+DRIVER_INIT_MEMBER(exidy_state,rallys)
{
- exidy_state *state = machine.driver_data<exidy_state>();
- exidy_video_config(machine, 0x00, 0x00, FALSE);
+ exidy_video_config(machine(), 0x00, 0x00, FALSE);
/* hard-coded palette controlled via 8x3 DIP switches on the board */
- state->m_color_latch[2] = 0x58;
- state->m_color_latch[1] = 0xee;
- state->m_color_latch[0] = 0x09;
+ m_color_latch[2] = 0x58;
+ m_color_latch[1] = 0xee;
+ m_color_latch[0] = 0x09;
}
-static DRIVER_INIT( phantoma )
+DRIVER_INIT_MEMBER(exidy_state,phantoma)
{
- exidy_state *state = machine.driver_data<exidy_state>();
- exidy_video_config(machine, 0x00, 0x00, FALSE);
+ exidy_video_config(machine(), 0x00, 0x00, FALSE);
/* hard-coded palette controlled via 8x3 DIP switches on the board */
- state->m_color_latch[2] = 0x58;
- state->m_color_latch[1] = 0xee;
- state->m_color_latch[0] = 0x09;
+ m_color_latch[2] = 0x58;
+ m_color_latch[1] = 0xee;
+ m_color_latch[0] = 0x09;
/* the ROM is actually mapped high */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xf800, 0xffff, "bank1");
- state->membank("bank1")->set_base(state->memregion("maincpu")->base() + 0xf800);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xf800, 0xffff, "bank1");
+ membank("bank1")->set_base(memregion("maincpu")->base() + 0xf800);
}
-static DRIVER_INIT( mtrap )
+DRIVER_INIT_MEMBER(exidy_state,mtrap)
{
- exidy_video_config(machine, 0x14, 0x00, FALSE);
+ exidy_video_config(machine(), 0x14, 0x00, FALSE);
}
-static DRIVER_INIT( venture )
+DRIVER_INIT_MEMBER(exidy_state,venture)
{
- exidy_video_config(machine, 0x04, 0x04, FALSE);
+ exidy_video_config(machine(), 0x04, 0x04, FALSE);
}
-static DRIVER_INIT( teetert )
+DRIVER_INIT_MEMBER(exidy_state,teetert)
{
- exidy_video_config(machine, 0x0c, 0x0c, FALSE);
+ exidy_video_config(machine(), 0x0c, 0x0c, FALSE);
}
-static DRIVER_INIT( pepper2 )
+DRIVER_INIT_MEMBER(exidy_state,pepper2)
{
- exidy_video_config(machine, 0x14, 0x04, TRUE);
+ exidy_video_config(machine(), 0x14, 0x04, TRUE);
}
-static DRIVER_INIT( fax )
+DRIVER_INIT_MEMBER(exidy_state,fax)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- exidy_state *state = machine.driver_data<exidy_state>();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- exidy_video_config(machine, 0x04, 0x04, TRUE);
+ exidy_video_config(machine(), 0x04, 0x04, TRUE);
/* reset the ROM bank */
- state->fax_bank_select_w(*space,0,0);
+ fax_bank_select_w(*space,0,0);
}
diff --git a/src/mame/drivers/exidy440.c b/src/mame/drivers/exidy440.c
index d16dabf0eec..505a7a3a0c9 100644
--- a/src/mame/drivers/exidy440.c
+++ b/src/mame/drivers/exidy440.c
@@ -1926,38 +1926,34 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( exidy440 )
+DRIVER_INIT_MEMBER(exidy440_state,exidy440)
{
- exidy440_state *state = machine.driver_data<exidy440_state>();
- state->m_showdown_bank_data[0] = state->m_showdown_bank_data[1] = NULL;
+ m_showdown_bank_data[0] = m_showdown_bank_data[1] = NULL;
}
-static DRIVER_INIT( claypign )
+DRIVER_INIT_MEMBER(exidy440_state,claypign)
{
DRIVER_INIT_CALL(exidy440);
- exidy440_state *state = machine.driver_data<exidy440_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x2ec0, 0x2ec3, read8_delegate(FUNC(exidy440_state::claypign_protection_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x2ec0, 0x2ec3, read8_delegate(FUNC(exidy440_state::claypign_protection_r),this));
}
-static DRIVER_INIT( topsecex )
+DRIVER_INIT_MEMBER(exidy440_state,topsecex)
{
- exidy440_state *state = machine.driver_data<exidy440_state>();
DRIVER_INIT_CALL(exidy440);
/* extra input ports and scrolling */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x2ec5, 0x2ec5, read8_delegate(FUNC(exidy440_state::topsecex_input_port_5_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2ec6, 0x2ec6, "AN0");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2ec7, 0x2ec7, "IN4");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x2ec5, 0x2ec5, read8_delegate(FUNC(exidy440_state::topsecex_input_port_5_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2ec6, 0x2ec6, "AN0");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2ec7, 0x2ec7, "IN4");
- state->m_topsecex_yscroll = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x2ec1, 0x2ec1, write8_delegate(FUNC(exidy440_state::topsecex_yscroll_w),state));
+ m_topsecex_yscroll = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x2ec1, 0x2ec1, write8_delegate(FUNC(exidy440_state::topsecex_yscroll_w),this));
}
-static DRIVER_INIT( showdown )
+DRIVER_INIT_MEMBER(exidy440_state,showdown)
{
- exidy440_state *state = machine.driver_data<exidy440_state>();
static const UINT8 bankdata0[0x18] =
{
0x15,0x40,0xc1,0x8d,0x4c,0x84,0x0e,0xce,
@@ -1974,14 +1970,13 @@ static DRIVER_INIT( showdown )
DRIVER_INIT_CALL(exidy440);
/* set up the fake PLD */
- state->m_showdown_bank_data[0] = bankdata0;
- state->m_showdown_bank_data[1] = bankdata1;
+ m_showdown_bank_data[0] = bankdata0;
+ m_showdown_bank_data[1] = bankdata1;
}
-static DRIVER_INIT( yukon )
+DRIVER_INIT_MEMBER(exidy440_state,yukon)
{
- exidy440_state *state = machine.driver_data<exidy440_state>();
static const UINT8 bankdata0[0x18] =
{
0x31,0x40,0xc1,0x95,0x54,0x90,0x16,0xd6,
@@ -1998,8 +1993,8 @@ static DRIVER_INIT( yukon )
DRIVER_INIT_CALL(exidy440);
/* set up the fake PLD */
- state->m_showdown_bank_data[0] = bankdata0;
- state->m_showdown_bank_data[1] = bankdata1;
+ m_showdown_bank_data[0] = bankdata0;
+ m_showdown_bank_data[1] = bankdata1;
}
diff --git a/src/mame/drivers/expro02.c b/src/mame/drivers/expro02.c
index 47075175592..d5dc2e944b8 100644
--- a/src/mame/drivers/expro02.c
+++ b/src/mame/drivers/expro02.c
@@ -171,6 +171,7 @@ public:
DECLARE_WRITE16_MEMBER(galsnew_paletteram_w);
DECLARE_WRITE16_MEMBER(galsnew_vram_0_bank_w);
DECLARE_WRITE16_MEMBER(galsnew_vram_1_bank_w);
+ DECLARE_DRIVER_INIT(galsnew);
};
@@ -789,10 +790,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT(galsnew)
+DRIVER_INIT_MEMBER(expro02_state,galsnew)
{
- UINT32 *src = (UINT32 *)machine.root_device().memregion("gfx3" )->base();
- UINT32 *dst = (UINT32 *)machine.root_device().memregion("gfx2" )->base();
+ UINT32 *src = (UINT32 *)machine().root_device().memregion("gfx3" )->base();
+ UINT32 *dst = (UINT32 *)machine().root_device().memregion("gfx2" )->base();
int x, offset;
diff --git a/src/mame/drivers/exprraid.c b/src/mame/drivers/exprraid.c
index 4a2e3faa3c2..1039a93ed23 100644
--- a/src/mame/drivers/exprraid.c
+++ b/src/mame/drivers/exprraid.c
@@ -787,9 +787,9 @@ static void exprraid_gfx_expand(running_machine &machine)
}
}
-static DRIVER_INIT( wexpressb )
+DRIVER_INIT_MEMBER(exprraid_state,wexpressb)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
/* HACK: this set uses M6502 irq vectors but DECO CPU-16 opcodes??? */
rom[0xfff7] = rom[0xfffa];
@@ -801,26 +801,24 @@ static DRIVER_INIT( wexpressb )
rom[0xfff3] = rom[0xfffe];
rom[0xfff2] = rom[0xffff];
- exprraid_gfx_expand(machine);
+ exprraid_gfx_expand(machine());
}
-static DRIVER_INIT( exprraid )
+DRIVER_INIT_MEMBER(exprraid_state,exprraid)
{
- exprraid_gfx_expand(machine);
+ exprraid_gfx_expand(machine());
}
-static DRIVER_INIT( wexpressb2 )
+DRIVER_INIT_MEMBER(exprraid_state,wexpressb2)
{
- exprraid_state *state = machine.driver_data<exprraid_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3800, 0x3800, read8_delegate(FUNC(exprraid_state::vblank_r),state));
- exprraid_gfx_expand(machine);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3800, 0x3800, read8_delegate(FUNC(exprraid_state::vblank_r),this));
+ exprraid_gfx_expand(machine());
}
-static DRIVER_INIT( wexpressb3 )
+DRIVER_INIT_MEMBER(exprraid_state,wexpressb3)
{
- exprraid_state *state = machine.driver_data<exprraid_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xFFC0, 0xFFC0, read8_delegate(FUNC(exprraid_state::vblank_r),state));
- exprraid_gfx_expand(machine);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xFFC0, 0xFFC0, read8_delegate(FUNC(exprraid_state::vblank_r),this));
+ exprraid_gfx_expand(machine());
}
diff --git a/src/mame/drivers/exterm.c b/src/mame/drivers/exterm.c
index 9d7bb37c1f3..cffc89c5a7c 100644
--- a/src/mame/drivers/exterm.c
+++ b/src/mame/drivers/exterm.c
@@ -525,4 +525,4 @@ ROM_END
*
*************************************/
-GAME( 1989, exterm, 0, exterm, exterm, exterm_state, 0, ROT0, "Gottlieb / Premier Technology", "Exterminator", 0 )
+GAME( 1989, exterm, 0, exterm, exterm, driver_device, 0, ROT0, "Gottlieb / Premier Technology", "Exterminator", 0 )
diff --git a/src/mame/drivers/extrema.c b/src/mame/drivers/extrema.c
index 5b6438a1790..6408d789a86 100644
--- a/src/mame/drivers/extrema.c
+++ b/src/mame/drivers/extrema.c
@@ -155,13 +155,13 @@ ROM_END
-GAME( 200?, maski, 0, extrema, extrema, extrema_state, 0, ROT0, "Extrema", "Maski Show (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, adults, 0, extrema, extrema, extrema_state, 0, ROT0, "Extrema", "Adults Only (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, bloto, 0, extrema, extrema, extrema_state, 0, ROT0, "Extrema", "Blits Loto (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, blpearl, 0, extrema, extrema, extrema_state, 0, ROT0, "Extrema", "Black Pearl (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, grancan, 0, extrema, extrema, extrema_state, 0, ROT0, "Extrema", "Grand Canyon (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, luckshel, 0, extrema, extrema, extrema_state, 0, ROT0, "Extrema", "Lucky Shell (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, exsafar, 0, extrema, extrema, extrema_state, 0, ROT0, "Extrema", "Safari (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, strlink, 0, extrema, extrema, extrema_state, 0, ROT0, "Extrema", "Strong Link (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, extrmth, 0, extrema, extrema, extrema_state, 0, ROT0, "Extrema", "Treasure Hunt (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, extrmti, 0, extrema, extrema, extrema_state, 0, ROT0, "Extrema", "Treasure Island (Russia) (Extrema)", GAME_IS_SKELETON)
+GAME( 200?, maski, 0, extrema, extrema, driver_device, 0, ROT0, "Extrema", "Maski Show (Russia) (Extrema)", GAME_IS_SKELETON)
+GAME( 200?, adults, 0, extrema, extrema, driver_device, 0, ROT0, "Extrema", "Adults Only (Russia) (Extrema)", GAME_IS_SKELETON)
+GAME( 200?, bloto, 0, extrema, extrema, driver_device, 0, ROT0, "Extrema", "Blits Loto (Russia) (Extrema)", GAME_IS_SKELETON)
+GAME( 200?, blpearl, 0, extrema, extrema, driver_device, 0, ROT0, "Extrema", "Black Pearl (Russia) (Extrema)", GAME_IS_SKELETON)
+GAME( 200?, grancan, 0, extrema, extrema, driver_device, 0, ROT0, "Extrema", "Grand Canyon (Russia) (Extrema)", GAME_IS_SKELETON)
+GAME( 200?, luckshel, 0, extrema, extrema, driver_device, 0, ROT0, "Extrema", "Lucky Shell (Russia) (Extrema)", GAME_IS_SKELETON)
+GAME( 200?, exsafar, 0, extrema, extrema, driver_device, 0, ROT0, "Extrema", "Safari (Russia) (Extrema)", GAME_IS_SKELETON)
+GAME( 200?, strlink, 0, extrema, extrema, driver_device, 0, ROT0, "Extrema", "Strong Link (Russia) (Extrema)", GAME_IS_SKELETON)
+GAME( 200?, extrmth, 0, extrema, extrema, driver_device, 0, ROT0, "Extrema", "Treasure Hunt (Russia) (Extrema)", GAME_IS_SKELETON)
+GAME( 200?, extrmti, 0, extrema, extrema, driver_device, 0, ROT0, "Extrema", "Treasure Island (Russia) (Extrema)", GAME_IS_SKELETON)
diff --git a/src/mame/drivers/exzisus.c b/src/mame/drivers/exzisus.c
index 6dfa9d5137b..e5635188922 100644
--- a/src/mame/drivers/exzisus.c
+++ b/src/mame/drivers/exzisus.c
@@ -115,9 +115,9 @@ WRITE8_MEMBER(exzisus_state::exzisus_cpub_reset_w)
#if 0
// without exzisus_cpub_reset_w, the following patch would be needed for
// the RAM check to work
-static DRIVER_INIT( exzisus )
+DRIVER_INIT_MEMBER(exzisus_state,exzisus)
{
- UINT8 *RAM = machine.root_device().memregion("cpua")->base();
+ UINT8 *RAM = machine().root_device().memregion("cpua")->base();
/* Fix WORK RAM error */
RAM[0x67fd] = 0x18;
@@ -439,6 +439,6 @@ ROM_START( exzisust )
ROM_LOAD( "b23-05.16l", 0x00800, 0x00400, CRC(87f0f69a) SHA1(37df6fd56245fab9beaabfd86fd8f95d7c42c2a5) )
ROM_END
-GAME( 1987, exzisus, 0, exzisus, exzisus, exzisus_state, 0, ROT0, "Taito Corporation", "Exzisus (Japan, dedicated)", 0 )
-GAME( 1987, exzisusa, exzisus, exzisus, exzisus, exzisus_state, 0, ROT0, "Taito Corporation", "Exzisus (Japan, conversion)", 0 )
-GAME( 1987, exzisust, exzisus, exzisus, exzisus, exzisus_state, 0, ROT0, "Taito Corporation (TAD license)", "Exzisus (TAD license)", 0 )
+GAME( 1987, exzisus, 0, exzisus, exzisus, driver_device, 0, ROT0, "Taito Corporation", "Exzisus (Japan, dedicated)", 0 )
+GAME( 1987, exzisusa, exzisus, exzisus, exzisus, driver_device, 0, ROT0, "Taito Corporation", "Exzisus (Japan, conversion)", 0 )
+GAME( 1987, exzisust, exzisus, exzisus, exzisus, driver_device, 0, ROT0, "Taito Corporation (TAD license)", "Exzisus (TAD license)", 0 )
diff --git a/src/mame/drivers/f-32.c b/src/mame/drivers/f-32.c
index 26ad142e321..6332b831cff 100644
--- a/src/mame/drivers/f-32.c
+++ b/src/mame/drivers/f-32.c
@@ -239,4 +239,4 @@ ROM_START( mosaicf2 )
ROM_LOAD( "snd.bin", 0x000000, 0x040000, CRC(4584589c) SHA1(5f9824724f840767c3dc1dc04b203ddf3d78b84c) )
ROM_END
-GAME( 1999, mosaicf2, 0, mosaicf2, mosaicf2, mosaicf2_state, 0, ROT0, "F2 System", "Mosaic (F2 System)", GAME_SUPPORTS_SAVE )
+GAME( 1999, mosaicf2, 0, mosaicf2, mosaicf2, driver_device, 0, ROT0, "F2 System", "Mosaic (F2 System)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c
index 8d5cf630d32..056660075b1 100644
--- a/src/mame/drivers/f1gp.c
+++ b/src/mame/drivers/f1gp.c
@@ -698,7 +698,7 @@ ROM_START( f1gp2 )
ROM_END
-GAME( 1991, f1gp, 0, f1gp, f1gp, f1gp_state, 0, ROT90, "Video System Co.", "F-1 Grand Prix", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, f1gpb, f1gp, f1gpb, f1gp, f1gp_state, 0, ROT90, "bootleg (Playmark)", "F-1 Grand Prix (Playmark bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // PCB marked 'Super Formula II', manufactured by Playmark.
+GAME( 1991, f1gp, 0, f1gp, f1gp, driver_device, 0, ROT90, "Video System Co.", "F-1 Grand Prix", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1991, f1gpb, f1gp, f1gpb, f1gp, driver_device, 0, ROT90, "bootleg (Playmark)", "F-1 Grand Prix (Playmark bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // PCB marked 'Super Formula II', manufactured by Playmark.
-GAME( 1992, f1gp2, 0, f1gp2, f1gp2, f1gp_state, 0, ROT90, "Video System Co.", "F-1 Grand Prix Part II", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1992, f1gp2, 0, f1gp2, f1gp2, driver_device, 0, ROT90, "Video System Co.", "F-1 Grand Prix Part II", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/famibox.c b/src/mame/drivers/famibox.c
index f2fc8ffc0ff..7375655f4f4 100644
--- a/src/mame/drivers/famibox.c
+++ b/src/mame/drivers/famibox.c
@@ -647,5 +647,5 @@ ROM_START(famibox)
ROM_END
-GAME( 1986, famibox, 0, famibox, famibox, famibox_state, 0, ROT0, "Nintendo", "FamicomBox", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
+GAME( 1986, famibox, 0, famibox, famibox, driver_device, 0, ROT0, "Nintendo", "FamicomBox", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
diff --git a/src/mame/drivers/fantland.c b/src/mame/drivers/fantland.c
index f4ddfa46c2a..e34cdc67f64 100644
--- a/src/mame/drivers/fantland.c
+++ b/src/mame/drivers/fantland.c
@@ -1429,8 +1429,8 @@ ROM_START( wheelrun )
ROM_END
-GAME( 19??, borntofi, 0, borntofi, borntofi, fantland_state, 0, ROT0, "International Games", "Born To Fight", GAME_SUPPORTS_SAVE )
-GAME( 19??, fantland, 0, fantland, fantland, fantland_state, 0, ROT0, "Electronic Devices Italy", "Fantasy Land (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 19??, fantlanda, fantland, fantland, fantland, fantland_state, 0, ROT0, "Electronic Devices Italy", "Fantasy Land (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 19??, wheelrun, 0, wheelrun, wheelrun, fantland_state, 0, ROT0, "International Games", "Wheels Runner", GAME_SUPPORTS_SAVE )
-GAME( 1989, galaxygn, 0, galaxygn, galaxygn, fantland_state, 0, ROT90, "Electronic Devices Italy", "Galaxy Gunners", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 19??, borntofi, 0, borntofi, borntofi, driver_device, 0, ROT0, "International Games", "Born To Fight", GAME_SUPPORTS_SAVE )
+GAME( 19??, fantland, 0, fantland, fantland, driver_device, 0, ROT0, "Electronic Devices Italy", "Fantasy Land (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 19??, fantlanda, fantland, fantland, fantland, driver_device, 0, ROT0, "Electronic Devices Italy", "Fantasy Land (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 19??, wheelrun, 0, wheelrun, wheelrun, driver_device, 0, ROT0, "International Games", "Wheels Runner", GAME_SUPPORTS_SAVE )
+GAME( 1989, galaxygn, 0, galaxygn, galaxygn, driver_device, 0, ROT90, "Electronic Devices Italy", "Galaxy Gunners", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/fastfred.c b/src/mame/drivers/fastfred.c
index 9c2b7ad05c1..ad25a0ae7df 100644
--- a/src/mame/drivers/fastfred.c
+++ b/src/mame/drivers/fastfred.c
@@ -1001,57 +1001,50 @@ ROM_START( imagoa )
ROM_END
-static DRIVER_INIT( flyboy )
+DRIVER_INIT_MEMBER(fastfred_state,flyboy)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc085, 0xc099, read8_delegate(FUNC(fastfred_state::flyboy_custom1_io_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc8fb, 0xc900, read8_delegate(FUNC(fastfred_state::flyboy_custom2_io_r),state));
- state->m_hardware_type = 1;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc085, 0xc099, read8_delegate(FUNC(fastfred_state::flyboy_custom1_io_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc8fb, 0xc900, read8_delegate(FUNC(fastfred_state::flyboy_custom2_io_r),this));
+ m_hardware_type = 1;
}
-static DRIVER_INIT( flyboyb )
+DRIVER_INIT_MEMBER(fastfred_state,flyboyb)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- state->m_hardware_type = 1;
+ m_hardware_type = 1;
}
-static DRIVER_INIT( fastfred )
+DRIVER_INIT_MEMBER(fastfred_state,fastfred)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc800, 0xcfff, read8_delegate(FUNC(fastfred_state::fastfred_custom_io_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xc800, 0xcfff);
- state->m_hardware_type = 1;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc800, 0xcfff, read8_delegate(FUNC(fastfred_state::fastfred_custom_io_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xc800, 0xcfff);
+ m_hardware_type = 1;
}
-static DRIVER_INIT( jumpcoas )
+DRIVER_INIT_MEMBER(fastfred_state,jumpcoas)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc800, 0xcfff, read8_delegate(FUNC(fastfred_state::jumpcoas_custom_io_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xc800, 0xcfff);
- state->m_hardware_type = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc800, 0xcfff, read8_delegate(FUNC(fastfred_state::jumpcoas_custom_io_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xc800, 0xcfff);
+ m_hardware_type = 0;
}
-static DRIVER_INIT( boggy84b )
+DRIVER_INIT_MEMBER(fastfred_state,boggy84b)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc800, 0xcfff, read8_delegate(FUNC(fastfred_state::jumpcoas_custom_io_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xc800, 0xcfff);
- state->m_hardware_type = 2;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc800, 0xcfff, read8_delegate(FUNC(fastfred_state::jumpcoas_custom_io_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xc800, 0xcfff);
+ m_hardware_type = 2;
}
-static DRIVER_INIT( boggy84 )
+DRIVER_INIT_MEMBER(fastfred_state,boggy84)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc800, 0xcfff, read8_delegate(FUNC(fastfred_state::boggy84_custom_io_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xc800, 0xcfff);
- state->m_hardware_type = 2;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc800, 0xcfff, read8_delegate(FUNC(fastfred_state::boggy84_custom_io_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xc800, 0xcfff);
+ m_hardware_type = 2;
}
-static DRIVER_INIT( imago )
+DRIVER_INIT_MEMBER(fastfred_state,imago)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- state->m_hardware_type = 3;
+ m_hardware_type = 3;
}
GAME( 1982, flyboy, 0, fastfred, flyboy, fastfred_state, flyboy, ROT90, "Kaneko", "Fly-Boy", 0 )
diff --git a/src/mame/drivers/fastlane.c b/src/mame/drivers/fastlane.c
index ed96c504c24..d26f43cf290 100644
--- a/src/mame/drivers/fastlane.c
+++ b/src/mame/drivers/fastlane.c
@@ -280,4 +280,4 @@ ROM_START( fastlane )
ROM_END
-GAME( 1987, fastlane, 0, fastlane, fastlane, fastlane_state, 0, ROT90, "Konami", "Fast Lane", GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1987, fastlane, 0, fastlane, fastlane, driver_device, 0, ROT90, "Konami", "Fast Lane", GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/fcombat.c b/src/mame/drivers/fcombat.c
index e2a8e31da68..8d37315bac8 100644
--- a/src/mame/drivers/fcombat.c
+++ b/src/mame/drivers/fcombat.c
@@ -329,18 +329,18 @@ MACHINE_CONFIG_END
*
*************************************/
-static DRIVER_INIT( fcombat )
+DRIVER_INIT_MEMBER(fcombat_state,fcombat)
{
UINT32 oldaddr, newaddr, length;
UINT8 *src, *dst, *temp;
/* allocate some temporary space */
- temp = auto_alloc_array(machine, UINT8, 0x10000);
+ temp = auto_alloc_array(machine(), UINT8, 0x10000);
/* make a temporary copy of the character data */
src = temp;
- dst = machine.root_device().memregion("gfx1")->base();
- length = machine.root_device().memregion("gfx1")->bytes();
+ dst = machine().root_device().memregion("gfx1")->base();
+ length = machine().root_device().memregion("gfx1")->bytes();
memcpy(src, dst, length);
/* decode the characters */
@@ -357,8 +357,8 @@ static DRIVER_INIT( fcombat )
/* make a temporary copy of the sprite data */
src = temp;
- dst = machine.root_device().memregion("gfx2")->base();
- length = machine.root_device().memregion("gfx2")->bytes();
+ dst = machine().root_device().memregion("gfx2")->base();
+ length = machine().root_device().memregion("gfx2")->bytes();
memcpy(src, dst, length);
/* decode the sprites */
@@ -378,8 +378,8 @@ static DRIVER_INIT( fcombat )
/* make a temporary copy of the character data */
src = temp;
- dst = machine.root_device().memregion("gfx3")->base();
- length = machine.root_device().memregion("gfx3")->bytes();
+ dst = machine().root_device().memregion("gfx3")->base();
+ length = machine().root_device().memregion("gfx3")->bytes();
memcpy(src, dst, length);
/* decode the characters */
@@ -397,8 +397,8 @@ static DRIVER_INIT( fcombat )
}
src = temp;
- dst = machine.root_device().memregion("user1")->base();
- length = machine.root_device().memregion("user1")->bytes();
+ dst = machine().root_device().memregion("user1")->base();
+ length = machine().root_device().memregion("user1")->bytes();
memcpy(src, dst, length);
for (oldaddr = 0; oldaddr < 32; oldaddr++)
@@ -409,8 +409,8 @@ static DRIVER_INIT( fcombat )
src = temp;
- dst = machine.root_device().memregion("user2")->base();
- length = machine.root_device().memregion("user2")->bytes();
+ dst = machine().root_device().memregion("user2")->base();
+ length = machine().root_device().memregion("user2")->bytes();
memcpy(src, dst, length);
for (oldaddr = 0; oldaddr < 32; oldaddr++)
@@ -419,7 +419,7 @@ static DRIVER_INIT( fcombat )
memcpy(&dst[oldaddr * 32 * 8 * 2 + 32 * 8], &src[oldaddr * 32 * 8 + 0x2000], 32 * 8);
}
- auto_free(machine, temp);
+ auto_free(machine(), temp);
}
ROM_START( fcombat )
diff --git a/src/mame/drivers/feversoc.c b/src/mame/drivers/feversoc.c
index 3852b06f799..905520dcfba 100644
--- a/src/mame/drivers/feversoc.c
+++ b/src/mame/drivers/feversoc.c
@@ -76,6 +76,7 @@ public:
DECLARE_WRITE32_MEMBER(fs_paletteram_w);
DECLARE_READ32_MEMBER(in0_r);
DECLARE_WRITE32_MEMBER(output_w);
+ DECLARE_DRIVER_INIT(feversoc);
};
@@ -295,9 +296,9 @@ ROM_START( feversoc )
ROM_LOAD( "pcm.u0743", 0x00000, 0x80000, CRC(20b0c0e3) SHA1(dcf2f620a8fe695688057dbaf5c431a32a832440) )
ROM_END
-static DRIVER_INIT( feversoc )
+DRIVER_INIT_MEMBER(feversoc_state,feversoc)
{
- seibuspi_rise11_sprite_decrypt_feversoc(machine.root_device().memregion("gfx1")->base(), 0x200000);
+ seibuspi_rise11_sprite_decrypt_feversoc(machine().root_device().memregion("gfx1")->base(), 0x200000);
}
GAME( 2004, feversoc, 0, feversoc, feversoc, feversoc_state, feversoc, ROT0, "Seibu Kaihatsu", "Fever Soccer", 0 )
diff --git a/src/mame/drivers/fgoal.c b/src/mame/drivers/fgoal.c
index f980c1bc8af..0518c981e82 100644
--- a/src/mame/drivers/fgoal.c
+++ b/src/mame/drivers/fgoal.c
@@ -435,5 +435,5 @@ ROM_START( fgoala )
ROM_END
-GAME( 1979, fgoal, 0, fgoal, fgoal, fgoal_state, 0, ROT90, "Taito", "Field Goal", GAME_NO_SOUND )
-GAME( 1979, fgoala, fgoal, fgoal, fgoal, fgoal_state, 0, ROT90, "Taito", "Field Goal (different)", GAME_NO_SOUND )
+GAME( 1979, fgoal, 0, fgoal, fgoal, driver_device, 0, ROT90, "Taito", "Field Goal", GAME_NO_SOUND )
+GAME( 1979, fgoala, fgoal, fgoal, fgoal, driver_device, 0, ROT90, "Taito", "Field Goal (different)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/finalizr.c b/src/mame/drivers/finalizr.c
index cd11f802d69..9f3f54b91d6 100644
--- a/src/mame/drivers/finalizr.c
+++ b/src/mame/drivers/finalizr.c
@@ -366,9 +366,9 @@ ROM_START( finalizrb )
ROM_END
-static DRIVER_INIT( finalizr )
+DRIVER_INIT_MEMBER(finalizr_state,finalizr)
{
- konami1_decode(machine, "maincpu");
+ konami1_decode(machine(), "maincpu");
}
diff --git a/src/mame/drivers/firebeat.c b/src/mame/drivers/firebeat.c
index 491fdf9e06f..5d80e827382 100644
--- a/src/mame/drivers/firebeat.c
+++ b/src/mame/drivers/firebeat.c
@@ -177,6 +177,9 @@ public:
int m_ibutton_read_subkey_ptr;
UINT8 m_ibutton_subkey_data[0x40];
DECLARE_READ8_MEMBER(soundram_r);
+ DECLARE_DRIVER_INIT(ppd);
+ DECLARE_DRIVER_INIT(kbm);
+ DECLARE_DRIVER_INIT(ppp);
};
@@ -2241,19 +2244,18 @@ static void init_firebeat(running_machine &machine)
init_lights(machine, FUNC_NULL, FUNC_NULL, FUNC_NULL);
}
-static DRIVER_INIT(ppp)
+DRIVER_INIT_MEMBER(firebeat_state,ppp)
{
- init_firebeat(machine);
- init_lights(machine, FUNC(lamp_output_ppp_w), FUNC(lamp_output2_ppp_w), FUNC(lamp_output3_ppp_w));
+ init_firebeat(machine());
+ init_lights(machine(), FUNC(lamp_output_ppp_w), FUNC(lamp_output2_ppp_w), FUNC(lamp_output3_ppp_w));
}
-static DRIVER_INIT(ppd)
+DRIVER_INIT_MEMBER(firebeat_state,ppd)
{
- firebeat_state *state = machine.driver_data<firebeat_state>();
- init_firebeat(machine);
- init_lights(machine, FUNC(lamp_output_ppp_w), FUNC(lamp_output2_ppp_w), FUNC(lamp_output3_ppp_w));
+ init_firebeat(machine());
+ init_lights(machine(), FUNC(lamp_output_ppp_w), FUNC(lamp_output2_ppp_w), FUNC(lamp_output3_ppp_w));
- state->m_cur_cab_data = ppd_cab_data;
+ m_cur_cab_data = ppd_cab_data;
}
static void init_keyboard(running_machine &machine)
@@ -2264,15 +2266,14 @@ static void init_keyboard(running_machine &machine)
state->m_keyboard_timer->adjust(attotime::from_msec(10), 0, attotime::from_msec(10));
}
-static DRIVER_INIT(kbm)
+DRIVER_INIT_MEMBER(firebeat_state,kbm)
{
- firebeat_state *state = machine.driver_data<firebeat_state>();
- init_firebeat(machine);
- init_lights(machine, FUNC(lamp_output_kbm_w), FUNC_NULL, FUNC_NULL);
+ init_firebeat(machine());
+ init_lights(machine(), FUNC(lamp_output_kbm_w), FUNC_NULL, FUNC_NULL);
- init_keyboard(machine);
+ init_keyboard(machine());
- state->m_cur_cab_data = kbm_cab_data;
+ m_cur_cab_data = kbm_cab_data;
}
diff --git a/src/mame/drivers/firefox.c b/src/mame/drivers/firefox.c
index 4d9632ab72b..e13261dd4fb 100644
--- a/src/mame/drivers/firefox.c
+++ b/src/mame/drivers/firefox.c
@@ -853,5 +853,5 @@ ROM_END
*
*************************************/
-GAME( 1984, firefox, 0, firefox, firefox, firefox_state, 0, ROT0, "Atari", "Fire Fox (set 1)", 0 )
-GAME( 1984, firefoxa, firefox, firefox, firefox, firefox_state, 0, ROT0, "Atari", "Fire Fox (set 2)", 0 )
+GAME( 1984, firefox, 0, firefox, firefox, driver_device, 0, ROT0, "Atari", "Fire Fox (set 1)", 0 )
+GAME( 1984, firefoxa, firefox, firefox, firefox, driver_device, 0, ROT0, "Atari", "Fire Fox (set 2)", 0 )
diff --git a/src/mame/drivers/firetrap.c b/src/mame/drivers/firetrap.c
index 83f58a3fa8f..ad1588caf72 100644
--- a/src/mame/drivers/firetrap.c
+++ b/src/mame/drivers/firetrap.c
@@ -920,6 +920,6 @@ ROM_END
-GAME( 1986, firetrap, 0, firetrap, firetrap, firetrap_state, 0, ROT90, "Wood Place Inc. (Data East USA license)", "Fire Trap (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, firetrapj, firetrap, firetrap, firetrapj, firetrap_state, 0, ROT90, "Wood Place Inc.", "Fire Trap (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, firetrapbl, firetrap, firetrapbl, firetrapbl, firetrap_state, 0, ROT90, "bootleg", "Fire Trap (Japan bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1986, firetrap, 0, firetrap, firetrap, driver_device, 0, ROT90, "Wood Place Inc. (Data East USA license)", "Fire Trap (US)", GAME_SUPPORTS_SAVE )
+GAME( 1986, firetrapj, firetrap, firetrap, firetrapj, driver_device, 0, ROT90, "Wood Place Inc.", "Fire Trap (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, firetrapbl, firetrap, firetrapbl, firetrapbl, driver_device, 0, ROT90, "bootleg", "Fire Trap (Japan bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/firetrk.c b/src/mame/drivers/firetrk.c
index b0b01635e61..c7cf85f4849 100644
--- a/src/mame/drivers/firetrk.c
+++ b/src/mame/drivers/firetrk.c
@@ -1024,6 +1024,6 @@ ROM_START( montecar )
ROM_END
-GAME( 1977, superbug, 0, superbug, superbug, firetrk_state, 0, ROT270, "Atari (Kee Games)", "Super Bug", 0 )
-GAME( 1978, firetrk, 0, firetrk, firetrk, firetrk_state, 0, ROT270, "Atari", "Fire Truck / Smokey Joe", 0 )
-GAME( 1979, montecar, 0, montecar, montecar, firetrk_state, 0, ROT270, "Atari", "Monte Carlo", 0 )
+GAME( 1977, superbug, 0, superbug, superbug, driver_device, 0, ROT270, "Atari (Kee Games)", "Super Bug", 0 )
+GAME( 1978, firetrk, 0, firetrk, firetrk, driver_device, 0, ROT270, "Atari", "Fire Truck / Smokey Joe", 0 )
+GAME( 1979, montecar, 0, montecar, montecar, driver_device, 0, ROT270, "Atari", "Monte Carlo", 0 )
diff --git a/src/mame/drivers/fitfight.c b/src/mame/drivers/fitfight.c
index 1c5f3aa02cc..cc462806e33 100644
--- a/src/mame/drivers/fitfight.c
+++ b/src/mame/drivers/fitfight.c
@@ -1000,34 +1000,30 @@ ROM_END
/* INIT */
-static DRIVER_INIT( fitfight )
+DRIVER_INIT_MEMBER(fitfight_state,fitfight)
{
-// UINT16 *mem16 = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+// UINT16 *mem16 = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// mem16[0x0165B2/2] = 0x4e71; // for now so it boots
- fitfight_state *state = machine.driver_data<fitfight_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x700000, 0x700001, read16_delegate(FUNC(fitfight_state::fitfight_700000_r),state));
- state->m_bbprot_kludge = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x700000, 0x700001, read16_delegate(FUNC(fitfight_state::fitfight_700000_r),this));
+ m_bbprot_kludge = 0;
}
-static DRIVER_INIT( histryma )
+DRIVER_INIT_MEMBER(fitfight_state,histryma)
{
-// UINT16 *mem16 = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+// UINT16 *mem16 = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// mem16[0x017FDC/2] = 0x4e71; // for now so it boots
- fitfight_state *state = machine.driver_data<fitfight_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x700000, 0x700001, read16_delegate(FUNC(fitfight_state::histryma_700000_r),state));
- state->m_bbprot_kludge = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x700000, 0x700001, read16_delegate(FUNC(fitfight_state::histryma_700000_r),this));
+ m_bbprot_kludge = 0;
}
-static DRIVER_INIT( bbprot )
+DRIVER_INIT_MEMBER(fitfight_state,bbprot)
{
- fitfight_state *state = machine.driver_data<fitfight_state>();
- state->m_bbprot_kludge = 1;
+ m_bbprot_kludge = 1;
}
-DRIVER_INIT( hotmindff )
+DRIVER_INIT_MEMBER(fitfight_state,hotmindff)
{
- fitfight_state *state = machine.driver_data<fitfight_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200001, 0, 0, read16_delegate(FUNC(fitfight_state::hotmindff_unk_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200001, 0, 0, read16_delegate(FUNC(fitfight_state::hotmindff_unk_r),this));
DRIVER_INIT_CALL(fitfight);
}
diff --git a/src/mame/drivers/flicker.c b/src/mame/drivers/flicker.c
index db468151ba8..7b62d6d0dfa 100644
--- a/src/mame/drivers/flicker.c
+++ b/src/mame/drivers/flicker.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(flicker);
};
@@ -41,7 +43,7 @@ void flicker_state::machine_reset()
{
}
-static DRIVER_INIT( flicker )
+DRIVER_INIT_MEMBER(flicker_state,flicker)
{
}
diff --git a/src/mame/drivers/flipjack.c b/src/mame/drivers/flipjack.c
index 43ad82a2d3d..20148d3cf15 100644
--- a/src/mame/drivers/flipjack.c
+++ b/src/mame/drivers/flipjack.c
@@ -536,4 +536,4 @@ ROM_START( flipjack )
ROM_END
-GAME( 1983?, flipjack, 0, flipjack, flipjack, flipjack_state, 0, ROT90, "Jackson Co., Ltd.", "Flipper Jack", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) // copyright not shown, datecodes on pcb suggests mid-1983
+GAME( 1983?, flipjack, 0, flipjack, flipjack, driver_device, 0, ROT90, "Jackson Co., Ltd.", "Flipper Jack", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) // copyright not shown, datecodes on pcb suggests mid-1983
diff --git a/src/mame/drivers/flkatck.c b/src/mame/drivers/flkatck.c
index c6fbab82b06..59d4db8422b 100644
--- a/src/mame/drivers/flkatck.c
+++ b/src/mame/drivers/flkatck.c
@@ -298,5 +298,5 @@ ROM_END
-GAME( 1987, mx5000, 0, flkatck, flkatck, flkatck_state, 0, ROT90, "Konami", "MX5000", GAME_SUPPORTS_SAVE )
-GAME( 1987, flkatck, mx5000, flkatck, flkatck, flkatck_state, 0, ROT90, "Konami", "Flak Attack (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, mx5000, 0, flkatck, flkatck, driver_device, 0, ROT90, "Konami", "MX5000", GAME_SUPPORTS_SAVE )
+GAME( 1987, flkatck, mx5000, flkatck, flkatck, driver_device, 0, ROT90, "Konami", "Flak Attack (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/flower.c b/src/mame/drivers/flower.c
index cb8bf54f679..bf400da9e92 100644
--- a/src/mame/drivers/flower.c
+++ b/src/mame/drivers/flower.c
@@ -374,5 +374,5 @@ ROM_START( flowerj ) /* Sega/Alpha version. Sega game number 834-5998 */
ROM_END
-GAME( 1986, flower, 0, flower, flower, flower_state, 0, ROT0, "Clarue (Komax license)", "Flower (US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1986, flowerj, flower, flower, flower, flower_state, 0, ROT0, "Clarue (Sega / Alpha Denshi Co. license)", "Flower (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+GAME( 1986, flower, 0, flower, flower, driver_device, 0, ROT0, "Clarue (Komax license)", "Flower (US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1986, flowerj, flower, flower, flower, driver_device, 0, ROT0, "Clarue (Sega / Alpha Denshi Co. license)", "Flower (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
diff --git a/src/mame/drivers/flstory.c b/src/mame/drivers/flstory.c
index 6748b5c90e4..3f591ac1f01 100644
--- a/src/mame/drivers/flstory.c
+++ b/src/mame/drivers/flstory.c
@@ -1607,9 +1607,9 @@ ROM_START( rumba )
ROM_END
-GAME( 1985, flstory, 0, flstory, flstory, flstory_state, 0, ROT180, "Taito", "The FairyLand Story", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, flstoryj, flstory, flstory, flstory, flstory_state, 0, ROT180, "Taito", "The FairyLand Story (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, onna34ro, 0, onna34ro, onna34ro, flstory_state, 0, ROT0, "Taito", "Onna Sansirou - Typhoon Gal (set 1)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, onna34roa, onna34ro, onna34ro, onna34ro, flstory_state, 0, ROT0, "Taito", "Onna Sansirou - Typhoon Gal (set 2)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1984, victnine, 0, victnine, victnine, flstory_state, 0, ROT0, "Taito", "Victorious Nine", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1984, rumba, 0, rumba, rumba, flstory_state, 0, ROT270, "Taito", "Rumba Lumber", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1985, flstory, 0, flstory, flstory, driver_device, 0, ROT180, "Taito", "The FairyLand Story", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, flstoryj, flstory, flstory, flstory, driver_device, 0, ROT180, "Taito", "The FairyLand Story (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, onna34ro, 0, onna34ro, onna34ro, driver_device, 0, ROT0, "Taito", "Onna Sansirou - Typhoon Gal (set 1)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, onna34roa, onna34ro, onna34ro, onna34ro, driver_device, 0, ROT0, "Taito", "Onna Sansirou - Typhoon Gal (set 2)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, victnine, 0, victnine, victnine, driver_device, 0, ROT0, "Taito", "Victorious Nine", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, rumba, 0, rumba, rumba, driver_device, 0, ROT270, "Taito", "Rumba Lumber", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/flyball.c b/src/mame/drivers/flyball.c
index ee0761a9775..6310c7751c3 100644
--- a/src/mame/drivers/flyball.c
+++ b/src/mame/drivers/flyball.c
@@ -492,5 +492,5 @@ ROM_END
*
*************************************/
-GAME( 1976, flyball, 0, flyball, flyball, flyball_state, 0, 0, "Atari", "Flyball (rev 2)", GAME_NO_SOUND )
-GAME( 1976, flyball1, flyball, flyball, flyball, flyball_state, 0, 0, "Atari", "Flyball (rev 1)", GAME_NO_SOUND )
+GAME( 1976, flyball, 0, flyball, flyball, driver_device, 0, 0, "Atari", "Flyball (rev 2)", GAME_NO_SOUND )
+GAME( 1976, flyball1, flyball, flyball, flyball, driver_device, 0, 0, "Atari", "Flyball (rev 1)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/foodf.c b/src/mame/drivers/foodf.c
index 664b4ae450d..25b752a83a3 100644
--- a/src/mame/drivers/foodf.c
+++ b/src/mame/drivers/foodf.c
@@ -475,6 +475,6 @@ ROM_END
*
*************************************/
-GAME( 1982, foodf, 0, foodf, foodf, foodf_state, 0, ROT0, "General Computer Corporation (Atari license)", "Food Fight (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1982, foodf2, foodf, foodf, foodf, foodf_state, 0, ROT0, "General Computer Corporation (Atari license)", "Food Fight (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, foodfc, foodf, foodf, foodf, foodf_state, 0, ROT0, "General Computer Corporation (Atari license)", "Food Fight (cocktail)", GAME_SUPPORTS_SAVE )
+GAME( 1982, foodf, 0, foodf, foodf, driver_device, 0, ROT0, "General Computer Corporation (Atari license)", "Food Fight (rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1982, foodf2, foodf, foodf, foodf, driver_device, 0, ROT0, "General Computer Corporation (Atari license)", "Food Fight (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, foodfc, foodf, foodf, foodf, driver_device, 0, ROT0, "General Computer Corporation (Atari license)", "Food Fight (cocktail)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/forte2.c b/src/mame/drivers/forte2.c
index a3b691cf62f..06c9654e202 100644
--- a/src/mame/drivers/forte2.c
+++ b/src/mame/drivers/forte2.c
@@ -36,6 +36,7 @@ public:
DECLARE_READ8_MEMBER(forte2_ay8910_read_input);
DECLARE_WRITE8_MEMBER(forte2_ay8910_set_input_mask);
DECLARE_WRITE_LINE_MEMBER(vdp_interrupt);
+ DECLARE_DRIVER_INIT(pesadelo);
};
@@ -142,11 +143,11 @@ static MACHINE_CONFIG_START( pesadelo, forte2_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-static DRIVER_INIT(pesadelo)
+DRIVER_INIT_MEMBER(forte2_state,pesadelo)
{
int i;
- UINT8 *mem = machine.root_device().memregion("maincpu")->base();
- int memsize = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *mem = machine().root_device().memregion("maincpu")->base();
+ int memsize = machine().root_device().memregion("maincpu")->bytes();
UINT8 *buf;
// data swap
@@ -156,13 +157,13 @@ static DRIVER_INIT(pesadelo)
}
// address line swap
- buf = auto_alloc_array(machine, UINT8, memsize);
+ buf = auto_alloc_array(machine(), UINT8, memsize);
memcpy(buf, mem, memsize);
for ( i = 0; i < memsize; i++ )
{
mem[BITSWAP16(i,11,9,8,13,14,15,12,7,6,5,4,3,2,1,0,10)] = buf[i];
}
- auto_free(machine, buf);
+ auto_free(machine(), buf);
}
diff --git a/src/mame/drivers/fortecar.c b/src/mame/drivers/fortecar.c
index 17e95ac7453..2e0f89ed51d 100644
--- a/src/mame/drivers/fortecar.c
+++ b/src/mame/drivers/fortecar.c
@@ -339,6 +339,7 @@ public:
DECLARE_READ8_MEMBER(ppi0_portc_r);
DECLARE_WRITE8_MEMBER(ayporta_w);
DECLARE_WRITE8_MEMBER(ayportb_w);
+ DECLARE_DRIVER_INIT(fortecar);
};
@@ -764,7 +765,7 @@ ROM_START( fortecrd )
ROM_END
-static DRIVER_INIT( fortecar )
+DRIVER_INIT_MEMBER(fortecar_state,fortecar)
{
// ...
}
diff --git a/src/mame/drivers/freekick.c b/src/mame/drivers/freekick.c
index 6d05f6a48f9..a403d93e5b2 100644
--- a/src/mame/drivers/freekick.c
+++ b/src/mame/drivers/freekick.c
@@ -1128,21 +1128,21 @@ ROM_END
*
*************************************/
-static DRIVER_INIT(gigasb)
+DRIVER_INIT_MEMBER(freekick_state,gigasb)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->set_decrypted_region(0x0000, 0xbfff, machine.root_device().memregion("maincpu")->base() + 0x10000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->set_decrypted_region(0x0000, 0xbfff, machine().root_device().memregion("maincpu")->base() + 0x10000);
}
-static DRIVER_INIT( pbillrds )
+DRIVER_INIT_MEMBER(freekick_state,pbillrds)
{
- mc8123_decrypt_rom(machine, "maincpu", "user1", "bank1", 2);
+ mc8123_decrypt_rom(machine(), "maincpu", "user1", "bank1", 2);
}
-static DRIVER_INIT( gigas )
+DRIVER_INIT_MEMBER(freekick_state,gigas)
{
- mc8123_decrypt_rom(machine, "maincpu", "user1", NULL, 1);
+ mc8123_decrypt_rom(machine(), "maincpu", "user1", NULL, 1);
}
@@ -1158,13 +1158,13 @@ GAME( 1986, gigas, 0, gigas, gigas, freekick_state, gigas,
GAME( 1986, gigasb, gigas, gigas, gigas, freekick_state, gigasb, ROT270, "bootleg", "Gigas (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1986, oigas, gigas , oigas, gigas, freekick_state, gigasb, ROT270, "bootleg", "Oigas (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1986, gigasm2b, 0, gigas, gigasm2, freekick_state, gigasb, ROT270, "bootleg", "Gigas Mark II (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, pbillrd, 0, pbillrd, pbillrd, freekick_state, 0, ROT0, "Nihon System", "Perfect Billiard", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1987, pbillrd, 0, pbillrd, pbillrd, driver_device, 0, ROT0, "Nihon System", "Perfect Billiard", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1987, pbillrds, pbillrd, pbillrd, pbillrd, freekick_state, pbillrds, ROT0, "Nihon System", "Perfect Billiard (MC-8123, 317-0030)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, freekick, 0, freekickb, freekck, freekick_state, 0, ROT270, "Nihon System (Merit license)", "Free Kick (NS6201-A 1987.10)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, freekicka, freekick, freekickb, freekck, freekick_state, 0, ROT270, "Nihon System", "Free Kick (NS6201-A 1987.9)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, freekickb1,freekick, freekickb, freekck, freekick_state, 0, ROT270, "bootleg", "Free Kick (bootleg set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, freekickb2,freekick, freekickb, freekck, freekick_state, 0, ROT270, "bootleg", "Free Kick (bootleg set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1988, countrun, 0, freekickb, countrun, freekick_state, 0, ROT0, "Nihon System (Sega license)", "Counter Run (NS6201-A 1988.3)", GAME_NO_COCKTAIL | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // CPU module not dumped
-GAME( 1988, countrunb, countrun, freekickb, countrun, freekick_state, 0, ROT0, "bootleg", "Counter Run (bootleg set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1988, countrunb2,countrun, freekickb, countrun, freekick_state, 0, ROT0, "bootleg", "Counter Run (bootleg set 2)", GAME_NO_COCKTAIL | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1987, freekick, 0, freekickb, freekck, driver_device, 0, ROT270, "Nihon System (Merit license)", "Free Kick (NS6201-A 1987.10)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1987, freekicka, freekick, freekickb, freekck, driver_device, 0, ROT270, "Nihon System", "Free Kick (NS6201-A 1987.9)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1987, freekickb1,freekick, freekickb, freekck, driver_device, 0, ROT270, "bootleg", "Free Kick (bootleg set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1987, freekickb2,freekick, freekickb, freekck, driver_device, 0, ROT270, "bootleg", "Free Kick (bootleg set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1988, countrun, 0, freekickb, countrun, driver_device, 0, ROT0, "Nihon System (Sega license)", "Counter Run (NS6201-A 1988.3)", GAME_NO_COCKTAIL | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // CPU module not dumped
+GAME( 1988, countrunb, countrun, freekickb, countrun, driver_device, 0, ROT0, "bootleg", "Counter Run (bootleg set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1988, countrunb2,countrun, freekickb, countrun, driver_device, 0, ROT0, "bootleg", "Counter Run (bootleg set 2)", GAME_NO_COCKTAIL | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/fromanc2.c b/src/mame/drivers/fromanc2.c
index 41a97c6bc3d..0656e86e165 100644
--- a/src/mame/drivers/fromanc2.c
+++ b/src/mame/drivers/fromanc2.c
@@ -808,18 +808,16 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( fromanc2 )
+DRIVER_INIT_MEMBER(fromanc2_state,fromanc2)
{
- fromanc2_state *state = machine.driver_data<fromanc2_state>();
- state->m_subcpu_nmi_flag = 1;
- state->m_subcpu_int_flag = 1;
- state->m_sndcpu_nmi_flag = 1;
+ m_subcpu_nmi_flag = 1;
+ m_subcpu_int_flag = 1;
+ m_sndcpu_nmi_flag = 1;
}
-static DRIVER_INIT( fromanc4 )
+DRIVER_INIT_MEMBER(fromanc2_state,fromanc4)
{
- fromanc2_state *state = machine.driver_data<fromanc2_state>();
- state->m_sndcpu_nmi_flag = 1;
+ m_sndcpu_nmi_flag = 1;
}
diff --git a/src/mame/drivers/fromance.c b/src/mame/drivers/fromance.c
index 804eb784681..27c5c6d6c3e 100644
--- a/src/mame/drivers/fromance.c
+++ b/src/mame/drivers/fromance.c
@@ -1327,11 +1327,11 @@ ROM_END
*
*************************************/
-GAME( 1988, nekkyoku, 0, nekkyoku, nekkyoku, fromance_state, 0, ROT0, "Video System Co.", "Rettou Juudan Nekkyoku Janshi - Higashi Nippon Hen (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1988, idolmj, 0, idolmj, idolmj, fromance_state, 0, ROT0, "System Service", "Idol-Mahjong Housoukyoku (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mjnatsu, 0, fromance, mjnatsu, fromance_state, 0, ROT0, "Video System Co.", "Mahjong Natsu Monogatari (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, natsuiro, mjnatsu, fromance, mjnatsu, fromance_state, 0, ROT0, "Video System Co.", "Natsuiro Mahjong (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mfunclub, 0, fromance, mfunclub, fromance_state, 0, ROT0, "Video System Co.", "Mahjong Fun Club - Idol Saizensen (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, daiyogen, 0, fromance, daiyogen, fromance_state, 0, ROT0, "Video System Co.", "Mahjong Daiyogen (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, nmsengen, 0, fromance, nmsengen, fromance_state, 0, ROT0, "Video System Co.", "Nekketsu Mahjong Sengen! AFTER 5 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, fromance, 0, fromance, fromance, fromance_state, 0, ROT0, "Video System Co.", "Idol-Mahjong Final Romance (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, nekkyoku, 0, nekkyoku, nekkyoku, driver_device, 0, ROT0, "Video System Co.", "Rettou Juudan Nekkyoku Janshi - Higashi Nippon Hen (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1988, idolmj, 0, idolmj, idolmj, driver_device, 0, ROT0, "System Service", "Idol-Mahjong Housoukyoku (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, mjnatsu, 0, fromance, mjnatsu, driver_device, 0, ROT0, "Video System Co.", "Mahjong Natsu Monogatari (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, natsuiro, mjnatsu, fromance, mjnatsu, driver_device, 0, ROT0, "Video System Co.", "Natsuiro Mahjong (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, mfunclub, 0, fromance, mfunclub, driver_device, 0, ROT0, "Video System Co.", "Mahjong Fun Club - Idol Saizensen (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, daiyogen, 0, fromance, daiyogen, driver_device, 0, ROT0, "Video System Co.", "Mahjong Daiyogen (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, nmsengen, 0, fromance, nmsengen, driver_device, 0, ROT0, "Video System Co.", "Nekketsu Mahjong Sengen! AFTER 5 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, fromance, 0, fromance, fromance, driver_device, 0, ROT0, "Video System Co.", "Idol-Mahjong Final Romance (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/funkball.c b/src/mame/drivers/funkball.c
index ab92952794a..7770d5bed00 100644
--- a/src/mame/drivers/funkball.c
+++ b/src/mame/drivers/funkball.c
@@ -1188,4 +1188,4 @@ ROM_START( funkball )
ROM_END
-GAME(1998, funkball, 0, funkball, funkball, funkball_state, 0, ROT0, "dgPIX Entertainment Inc.", "Funky Ball", GAME_IS_SKELETON)
+GAME(1998, funkball, 0, funkball, funkball, driver_device, 0, ROT0, "dgPIX Entertainment Inc.", "Funky Ball", GAME_IS_SKELETON)
diff --git a/src/mame/drivers/funkybee.c b/src/mame/drivers/funkybee.c
index 8e074a7c427..976750b56c7 100644
--- a/src/mame/drivers/funkybee.c
+++ b/src/mame/drivers/funkybee.c
@@ -431,7 +431,7 @@ ROM_START( skylancre )
ROM_LOAD( "18s030.1a", 0x0000, 0x0020, CRC(e645bacb) SHA1(5f4c299c4cf165fd229731c0e5799a34892bf28e) )
ROM_END
-GAME( 1982, funkybee, 0, funkybee, funkybee, funkybee_state, 0, ROT90, "Orca", "Funky Bee", GAME_SUPPORTS_SAVE )
-GAME( 1982, funkybeeb, funkybee, funkybee, funkybeeb, funkybee_state,0, ROT90, "bootleg", "Funky Bee (bootleg, harder)", GAME_SUPPORTS_SAVE )
-GAME( 1983, skylancr, 0, funkybee, skylancr, funkybee_state, 0, ROT90, "Orca", "Sky Lancer", GAME_SUPPORTS_SAVE )
-GAME( 1983, skylancre, skylancr, funkybee, skylancre, funkybee_state,0, ROT90, "Orca (Esco Trading Co license)", "Sky Lancer (Esco Trading Co license)", GAME_SUPPORTS_SAVE )
+GAME( 1982, funkybee, 0, funkybee, funkybee, driver_device, 0, ROT90, "Orca", "Funky Bee", GAME_SUPPORTS_SAVE )
+GAME( 1982, funkybeeb, funkybee, funkybee, funkybeeb, driver_device,0, ROT90, "bootleg", "Funky Bee (bootleg, harder)", GAME_SUPPORTS_SAVE )
+GAME( 1983, skylancr, 0, funkybee, skylancr, driver_device, 0, ROT90, "Orca", "Sky Lancer", GAME_SUPPORTS_SAVE )
+GAME( 1983, skylancre, skylancr, funkybee, skylancre, driver_device,0, ROT90, "Orca (Esco Trading Co license)", "Sky Lancer (Esco Trading Co license)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/funkyjet.c b/src/mame/drivers/funkyjet.c
index 2f0401c7d6d..e4436699816 100644
--- a/src/mame/drivers/funkyjet.c
+++ b/src/mame/drivers/funkyjet.c
@@ -405,9 +405,9 @@ ROM_START( sotsugyo )
ROM_LOAD( "sb030.15h", 0x00000, 0x20000, CRC(1ea43f48) SHA1(74cc8c740f1c7fa94c2cb460ea4ee7aa0c490ed7) )
ROM_END
-static DRIVER_INIT( funkyjet )
+DRIVER_INIT_MEMBER(funkyjet_state,funkyjet)
{
- deco74_decrypt_gfx(machine, "gfx1");
+ deco74_decrypt_gfx(machine(), "gfx1");
}
/******************************************************************************/
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index 7bbceacd3a2..e56ad2f5d27 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -4324,7 +4324,7 @@ ROM_END
* Driver Initialization *
**************************/
-static DRIVER_INIT( tabblue )
+DRIVER_INIT_MEMBER(funworld_state,tabblue)
{
/****************************************************************************************************
@@ -4346,7 +4346,7 @@ static DRIVER_INIT( tabblue )
*****************************************************************************************************/
int x, na, nb, nad, nbd;
- UINT8 *src = machine.root_device().memregion( "gfx1" )->base();
+ UINT8 *src = machine().root_device().memregion( "gfx1" )->base();
for (x=0x0000; x < 0x10000; x++)
@@ -4361,7 +4361,7 @@ static DRIVER_INIT( tabblue )
}
}
-static DRIVER_INIT( magicd2a )
+DRIVER_INIT_MEMBER(funworld_state,magicd2a)
/*****************************************************************
For a serie of Mexican Rockwell's 65c02
@@ -4376,17 +4376,17 @@ static DRIVER_INIT( magicd2a )
******************************************************************/
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xc1c6] = 0x92;
}
-static DRIVER_INIT( magicd2b )
+DRIVER_INIT_MEMBER(funworld_state,magicd2b)
/*** same as blue TAB PCB, with the magicd2a patch ***/
{
int x, na, nb, nad, nbd;
- UINT8 *src = machine.root_device().memregion( "gfx1" )->base();
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *src = machine().root_device().memregion( "gfx1" )->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (x=0x0000; x < 0x10000; x++)
{
@@ -4402,10 +4402,10 @@ static DRIVER_INIT( magicd2b )
ROM[0xc1c6] = 0x92;
}
-static DRIVER_INIT( soccernw )
+DRIVER_INIT_MEMBER(funworld_state,soccernw)
{
/* temporary patch to avoid hardware errors for debug purposes */
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x80b2] = 0xa9;
ROM[0x80b3] = 0x00;
@@ -4418,7 +4418,7 @@ static DRIVER_INIT( soccernw )
// ROM[0xa33c] = 0xea;
}
-static DRIVER_INIT( saloon )
+DRIVER_INIT_MEMBER(funworld_state,saloon)
/*************************************************
LEOPARDO 5 Hardware
@@ -4440,16 +4440,16 @@ static DRIVER_INIT( saloon )
*************************************************/
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- int size = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ int size = machine().root_device().memregion("maincpu")->bytes();
int start = 0x8000;
- UINT8 *gfxrom = machine.root_device().memregion("gfx1")->base();
- int sizeg = machine.root_device().memregion("gfx1")->bytes();
+ UINT8 *gfxrom = machine().root_device().memregion("gfx1")->base();
+ int sizeg = machine().root_device().memregion("gfx1")->bytes();
int startg = 0;
- UINT8 *prom = machine.root_device().memregion("proms")->base();
- int sizep = machine.root_device().memregion("proms")->bytes();
+ UINT8 *prom = machine().root_device().memregion("proms")->base();
+ int sizep = machine().root_device().memregion("proms")->bytes();
int startp = 0;
UINT8 *buffer;
@@ -4466,7 +4466,7 @@ static DRIVER_INIT( saloon )
rom[i] = BITSWAP8(rom[i], 7, 6, 5, 4, 3, 0, 1, 2);
}
- buffer = auto_alloc_array(machine, UINT8, size);
+ buffer = auto_alloc_array(machine(), UINT8, size);
memcpy(buffer, rom, size);
@@ -4478,14 +4478,14 @@ static DRIVER_INIT( saloon )
rom[a] = buffer[i];
}
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
/******************************
* Graphics ROM decryption *
******************************/
- buffer = auto_alloc_array(machine, UINT8, sizeg);
+ buffer = auto_alloc_array(machine(), UINT8, sizeg);
memcpy(buffer, gfxrom, sizeg);
/* address lines swap: fedcba9876543210 -> fedcb67584a39012 */
@@ -4496,7 +4496,7 @@ static DRIVER_INIT( saloon )
gfxrom[a] = buffer[i];
}
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
/****************************
@@ -4510,7 +4510,7 @@ static DRIVER_INIT( saloon )
prom[i] = BITSWAP8(prom[i], 2, 3, 5, 4, 6, 7, 1, 0);
}
- buffer = auto_alloc_array(machine, UINT8, sizep);
+ buffer = auto_alloc_array(machine(), UINT8, sizep);
memcpy(buffer, prom, sizep);
@@ -4522,11 +4522,11 @@ static DRIVER_INIT( saloon )
prom[a] = buffer[i];
}
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
-static DRIVER_INIT( multiwin )
+DRIVER_INIT_MEMBER(funworld_state,multiwin)
/*****************************************************
This only decrypt the text strings.
@@ -4534,8 +4534,8 @@ static DRIVER_INIT( multiwin )
******************************************************/
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int x;
@@ -4553,10 +4553,10 @@ static DRIVER_INIT( multiwin )
ROM[x+0x10000] = code;
}
- space->set_decrypted_region(0x8000, 0xffff, machine.root_device().memregion("maincpu")->base() + 0x18000);
+ space->set_decrypted_region(0x8000, 0xffff, machine().root_device().memregion("maincpu")->base() + 0x18000);
}
-static DRIVER_INIT( royalcdc )
+DRIVER_INIT_MEMBER(funworld_state,royalcdc)
{
/*****************************************************
@@ -4567,8 +4567,8 @@ static DRIVER_INIT( royalcdc )
******************************************************/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int x;
@@ -4606,7 +4606,7 @@ static DRIVER_INIT( royalcdc )
ROM[x+0x10000] = code;
}
- space->set_decrypted_region(0x6000, 0xffff, machine.root_device().memregion("maincpu")->base() + 0x16000);
+ space->set_decrypted_region(0x6000, 0xffff, machine().root_device().memregion("maincpu")->base() + 0x16000);
}
@@ -4615,57 +4615,57 @@ static DRIVER_INIT( royalcdc )
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1985, jollycrd, 0, fw1stpal, funworld, funworld_state, 0, ROT0, "TAB Austria", "Jolly Card (Austrian)", 0, layout_jollycrd )
-GAMEL( 1985, jolyc3x3, jollycrd, fw1stpal, funworld, funworld_state, 0, ROT0, "TAB Austria", "Jolly Card (3x3 deal)", 0, layout_jollycrd )
-GAMEL( 1993, jolycmzs, jollycrd, cuoreuno, jolyc980, funworld_state, 0, ROT0, "MZS Tech", "Jolly Card Professional 2.0 (MZS Tech)", 0, layout_jollycrd )
-GAMEL( 2000, jolyc980, jollycrd, cuoreuno, jolyc980, funworld_state, 0, ROT0, "Spale Soft", "Jolly Card Professional 2.0 (Spale Soft)", 0, layout_jollycrd )
-GAMEL( 1998, jolycdev, jollycrd, fw1stpal, funworld, funworld_state, 0, ROT0, "TAB Austria / Evona Electronic", "Jolly Card (Evona Electronic)", 0, layout_jollycrd )
-GAMEL( 1985, jolyccra, jollycrd, cuoreuno, jolycdcr, funworld_state, 0, ROT0, "TAB Austria", "Jolly Card (Croatian, set 1)", 0, layout_jollycrd )
-GAMEL( 1993, jolyccrb, jollycrd, cuoreuno, jolycdcr, funworld_state, 0, ROT0, "Soft Design", "Jolly Card (Croatian, set 2)", 0, layout_jollycrd )
+GAMEL( 1985, jollycrd, 0, fw1stpal, funworld, driver_device, 0, ROT0, "TAB Austria", "Jolly Card (Austrian)", 0, layout_jollycrd )
+GAMEL( 1985, jolyc3x3, jollycrd, fw1stpal, funworld, driver_device, 0, ROT0, "TAB Austria", "Jolly Card (3x3 deal)", 0, layout_jollycrd )
+GAMEL( 1993, jolycmzs, jollycrd, cuoreuno, jolyc980, driver_device, 0, ROT0, "MZS Tech", "Jolly Card Professional 2.0 (MZS Tech)", 0, layout_jollycrd )
+GAMEL( 2000, jolyc980, jollycrd, cuoreuno, jolyc980, driver_device, 0, ROT0, "Spale Soft", "Jolly Card Professional 2.0 (Spale Soft)", 0, layout_jollycrd )
+GAMEL( 1998, jolycdev, jollycrd, fw1stpal, funworld, driver_device, 0, ROT0, "TAB Austria / Evona Electronic", "Jolly Card (Evona Electronic)", 0, layout_jollycrd )
+GAMEL( 1985, jolyccra, jollycrd, cuoreuno, jolycdcr, driver_device, 0, ROT0, "TAB Austria", "Jolly Card (Croatian, set 1)", 0, layout_jollycrd )
+GAMEL( 1993, jolyccrb, jollycrd, cuoreuno, jolycdcr, driver_device, 0, ROT0, "Soft Design", "Jolly Card (Croatian, set 2)", 0, layout_jollycrd )
GAMEL( 199?, jolycdit, jollycrd, cuoreuno, jolycdit, funworld_state, tabblue, ROT0, "bootleg", "Jolly Card (Italian, blue TAB board, encrypted)", 0, layout_royalcrd )
GAMEL( 1990, jolycdib, jollycrd, cuoreuno, jolycdib, funworld_state, tabblue, ROT0, "bootleg", "Jolly Card (Italian, encrypted bootleg)", 0, layout_jollycrd ) /* not a real TAB blue PCB */
-GAMEL( 1985, sjcd2kx3, jollycrd, fw1stpal, funworld, funworld_state, 0, ROT0, "M.P.", "Super Joly 2000 - 3x", 0, layout_jollycrd )
-GAME( 1986, jolycdab, jollycrd, fw1stpal, funworld, funworld_state, 0, ROT0, "Inter Games", "Jolly Card (Austrian, Funworld, bootleg)", GAME_NOT_WORKING )
-GAMEL( 1986, bigdeal, 0, fw2ndpal, bigdeal, funworld_state, 0, ROT0, "Funworld", "Big Deal (Hungarian, set 1)", GAME_IMPERFECT_COLORS, layout_bigdeal )
-GAMEL( 1986, bigdealb, bigdeal, fw2ndpal, bigdeal, funworld_state, 0, ROT0, "Funworld", "Big Deal (Hungarian, set 2)", GAME_IMPERFECT_COLORS, layout_bigdeal )
-GAMEL( 1986, jolycdat, bigdeal, fw2ndpal, bigdeal, funworld_state, 0, ROT0, "Funworld", "Jolly Card (Austrian, Funworld)", GAME_IMPERFECT_COLORS, layout_bigdeal )
-GAMEL( 1996, cuoreuno, 0, cuoreuno, cuoreuno, funworld_state, 0, ROT0, "C.M.C.", "Cuore 1 (Italian)", 0, layout_jollycrd )
-GAMEL( 1997, elephfam, 0, cuoreuno, cuoreuno, funworld_state, 0, ROT0, "C.M.C.", "Elephant Family (Italian, new)", 0, layout_jollycrd )
-GAMEL( 1996, elephfmb, elephfam, cuoreuno, cuoreuno, funworld_state, 0, ROT0, "C.M.C.", "Elephant Family (Italian, old)", 0, layout_jollycrd )
-GAMEL( 1996, pool10, 0, cuoreuno, pool10, funworld_state, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 1)", 0, layout_jollycrd )
-GAMEL( 1996, pool10b, pool10, cuoreuno, cuoreuno, funworld_state, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 2)", 0, layout_jollycrd )
-GAMEL( 1996, pool10c, pool10, cuoreuno, cuoreuno, funworld_state, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 3)", 0, layout_jollycrd )
-GAMEL( 1997, pool10d, pool10, cuoreuno, cuoreuno, funworld_state, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 4)", 0, layout_jollycrd )
-GAMEL( 1997, tortufam, 0, cuoreuno, cuoreuno, funworld_state, 0, ROT0, "C.M.C.", "Tortuga Family (Italian)", 0, layout_jollycrd )
-GAMEL( 1996, potgame, 0, cuoreuno, cuoreuno, funworld_state, 0, ROT0, "C.M.C.", "Pot Game (Italian)", 0, layout_jollycrd )
-GAMEL( 1996, bottle10, 0, cuoreuno, cuoreuno, funworld_state, 0, ROT0, "C.M.C.", "Bottle 10 (Italian, set 1)", 0, layout_jollycrd )
-GAMEL( 1996, bottl10b, bottle10, cuoreuno, cuoreuno, funworld_state, 0, ROT0, "C.M.C.", "Bottle 10 (Italian, set 2)", 0, layout_jollycrd )
-GAMEL( 1991, royalcrd, 0, royalcd2, royalcrd, funworld_state, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 1)", 0, layout_jollycrd )
-GAMEL( 1991, royalcrda, royalcrd, royalcd2, royalcrd, funworld_state, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 2)", 0, layout_jollycrd )
-GAMEL( 1991, royalcrdb, royalcrd, royalcd1, royalcrd, funworld_state, 0, ROT0, "TAB Austria", "Royal Card (Austrian/Polish, set 3)", 0, layout_jollycrd )
-GAMEL( 1991, royalcrdc, royalcrd, royalcd2, royalcrd, funworld_state, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 4)", GAME_IMPERFECT_GRAPHICS, layout_jollycrd )
-GAMEL( 1991, royalcrdd, royalcrd, royalcd1, royalcrd, funworld_state, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 5)", 0, layout_royalcrd )
-GAMEL( 1991, royalcrde, royalcrd, royalcd1, royalcrd, funworld_state, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 6)", 0, layout_jollycrd )
-GAMEL( 1991, royalcrdt, royalcrd, royalcd1, royalcrd, funworld_state, 0, ROT0, "TAB Austria", "Royal Card (TAB original)", 0, layout_jollycrd )
+GAMEL( 1985, sjcd2kx3, jollycrd, fw1stpal, funworld, driver_device, 0, ROT0, "M.P.", "Super Joly 2000 - 3x", 0, layout_jollycrd )
+GAME( 1986, jolycdab, jollycrd, fw1stpal, funworld, driver_device, 0, ROT0, "Inter Games", "Jolly Card (Austrian, Funworld, bootleg)", GAME_NOT_WORKING )
+GAMEL( 1986, bigdeal, 0, fw2ndpal, bigdeal, driver_device, 0, ROT0, "Funworld", "Big Deal (Hungarian, set 1)", GAME_IMPERFECT_COLORS, layout_bigdeal )
+GAMEL( 1986, bigdealb, bigdeal, fw2ndpal, bigdeal, driver_device, 0, ROT0, "Funworld", "Big Deal (Hungarian, set 2)", GAME_IMPERFECT_COLORS, layout_bigdeal )
+GAMEL( 1986, jolycdat, bigdeal, fw2ndpal, bigdeal, driver_device, 0, ROT0, "Funworld", "Jolly Card (Austrian, Funworld)", GAME_IMPERFECT_COLORS, layout_bigdeal )
+GAMEL( 1996, cuoreuno, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Cuore 1 (Italian)", 0, layout_jollycrd )
+GAMEL( 1997, elephfam, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Elephant Family (Italian, new)", 0, layout_jollycrd )
+GAMEL( 1996, elephfmb, elephfam, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Elephant Family (Italian, old)", 0, layout_jollycrd )
+GAMEL( 1996, pool10, 0, cuoreuno, pool10, driver_device, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 1)", 0, layout_jollycrd )
+GAMEL( 1996, pool10b, pool10, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 2)", 0, layout_jollycrd )
+GAMEL( 1996, pool10c, pool10, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 3)", 0, layout_jollycrd )
+GAMEL( 1997, pool10d, pool10, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 4)", 0, layout_jollycrd )
+GAMEL( 1997, tortufam, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Tortuga Family (Italian)", 0, layout_jollycrd )
+GAMEL( 1996, potgame, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pot Game (Italian)", 0, layout_jollycrd )
+GAMEL( 1996, bottle10, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Bottle 10 (Italian, set 1)", 0, layout_jollycrd )
+GAMEL( 1996, bottl10b, bottle10, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Bottle 10 (Italian, set 2)", 0, layout_jollycrd )
+GAMEL( 1991, royalcrd, 0, royalcd2, royalcrd, driver_device, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 1)", 0, layout_jollycrd )
+GAMEL( 1991, royalcrda, royalcrd, royalcd2, royalcrd, driver_device, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 2)", 0, layout_jollycrd )
+GAMEL( 1991, royalcrdb, royalcrd, royalcd1, royalcrd, driver_device, 0, ROT0, "TAB Austria", "Royal Card (Austrian/Polish, set 3)", 0, layout_jollycrd )
+GAMEL( 1991, royalcrdc, royalcrd, royalcd2, royalcrd, driver_device, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 4)", GAME_IMPERFECT_GRAPHICS, layout_jollycrd )
+GAMEL( 1991, royalcrdd, royalcrd, royalcd1, royalcrd, driver_device, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 5)", 0, layout_royalcrd )
+GAMEL( 1991, royalcrde, royalcrd, royalcd1, royalcrd, driver_device, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 6)", 0, layout_jollycrd )
+GAMEL( 1991, royalcrdt, royalcrd, royalcd1, royalcrd, driver_device, 0, ROT0, "TAB Austria", "Royal Card (TAB original)", 0, layout_jollycrd )
GAME( 1991, royalcrdf, royalcrd, royalcd1, royalcrd, funworld_state, royalcdc, ROT0, "Evona Electronic","Royal Card (Slovak, encrypted)", GAME_NOT_WORKING )
-GAME( 1993, royalcrdp, royalcrd, cuoreuno, royalcrd, funworld_state, 0, ROT0, "Digital Dreams", "Royal Card v2.0 Professional", GAME_NOT_WORKING )
-GAMEL( 1991, lluck3x3, royalcrd, cuoreuno, royalcrd, funworld_state, 0, ROT0, "TAB Austria", "Lucky Lady (3x3 deal)", 0, layout_jollycrd )
-GAMEL( 1991, lluck4x1, royalcrd, royalcd1, royalcrd, funworld_state, 0, ROT0, "TAB Austria", "Lucky Lady (4x1 aces)", 0, layout_jollycrd )
-GAMEL( 1996, magicrd2, 0, magicrd2, magicrd2, funworld_state, 0, ROT0, "Impera", "Magic Card II (Bulgarian)", GAME_IMPERFECT_SOUND, layout_jollycrd )
+GAME( 1993, royalcrdp, royalcrd, cuoreuno, royalcrd, driver_device, 0, ROT0, "Digital Dreams", "Royal Card v2.0 Professional", GAME_NOT_WORKING )
+GAMEL( 1991, lluck3x3, royalcrd, cuoreuno, royalcrd, driver_device, 0, ROT0, "TAB Austria", "Lucky Lady (3x3 deal)", 0, layout_jollycrd )
+GAMEL( 1991, lluck4x1, royalcrd, royalcd1, royalcrd, driver_device, 0, ROT0, "TAB Austria", "Lucky Lady (4x1 aces)", 0, layout_jollycrd )
+GAMEL( 1996, magicrd2, 0, magicrd2, magicrd2, driver_device, 0, ROT0, "Impera", "Magic Card II (Bulgarian)", GAME_IMPERFECT_SOUND, layout_jollycrd )
GAME( 1996, magicd2a, magicrd2, magicrd2, magicrd2, funworld_state, magicd2a, ROT0, "Impera", "Magic Card II (green TAB or Impera board)", GAME_NOT_WORKING )
GAME( 1996, magicd2b, magicrd2, magicrd2, magicrd2, funworld_state, magicd2b, ROT0, "Impera", "Magic Card II (blue TAB board, encrypted)", GAME_NOT_WORKING )
-GAMEL( 1993, vegasslw, 0, fw2ndpal, vegasslw, funworld_state, 0, ROT0, "Funworld", "Royal Vegas Joker Card (slow deal)", 0, layout_jollycrd )
-GAMEL( 1993, vegasfst, vegasslw, fw2ndpal, vegasfst, funworld_state, 0, ROT0, "Soft Design", "Royal Vegas Joker Card (fast deal)", 0, layout_jollycrd )
-GAMEL( 1993, vegasfte, vegasslw, fw2ndpal, vegasfte, funworld_state, 0, ROT0, "Soft Design", "Royal Vegas Joker Card (fast deal, English gfx)", 0, layout_jollycrd )
-GAMEL( 1993, vegasmil, vegasslw, fw2ndpal, vegasmil, funworld_state, 0, ROT0, "Mile", "Royal Vegas Joker Card (fast deal, Mile)", 0, layout_jollycrd )
-GAMEL( 198?, jolyjokr, 0, fw1stpal, funworld, funworld_state, 0, ROT0, "Impera", "Jolly Joker (98bet, set 1)", 0, layout_jollycrd )
-GAMEL( 198?, jolyjokra, jolyjokr, fw1stpal, jolyjokra, funworld_state, 0, ROT0, "Impera", "Jolly Joker (98bet, set 2)", 0, layout_jollycrd )
-GAMEL( 198?, jolyjokrb, jolyjokr, fw1stpal, funworld, funworld_state, 0, ROT0, "Impera", "Jolly Joker (40bet, Croatian hack)", 0, layout_jollycrd )
+GAMEL( 1993, vegasslw, 0, fw2ndpal, vegasslw, driver_device, 0, ROT0, "Funworld", "Royal Vegas Joker Card (slow deal)", 0, layout_jollycrd )
+GAMEL( 1993, vegasfst, vegasslw, fw2ndpal, vegasfst, driver_device, 0, ROT0, "Soft Design", "Royal Vegas Joker Card (fast deal)", 0, layout_jollycrd )
+GAMEL( 1993, vegasfte, vegasslw, fw2ndpal, vegasfte, driver_device, 0, ROT0, "Soft Design", "Royal Vegas Joker Card (fast deal, English gfx)", 0, layout_jollycrd )
+GAMEL( 1993, vegasmil, vegasslw, fw2ndpal, vegasmil, driver_device, 0, ROT0, "Mile", "Royal Vegas Joker Card (fast deal, Mile)", 0, layout_jollycrd )
+GAMEL( 198?, jolyjokr, 0, fw1stpal, funworld, driver_device, 0, ROT0, "Impera", "Jolly Joker (98bet, set 1)", 0, layout_jollycrd )
+GAMEL( 198?, jolyjokra, jolyjokr, fw1stpal, jolyjokra, driver_device, 0, ROT0, "Impera", "Jolly Joker (98bet, set 2)", 0, layout_jollycrd )
+GAMEL( 198?, jolyjokrb, jolyjokr, fw1stpal, funworld, driver_device, 0, ROT0, "Impera", "Jolly Joker (40bet, Croatian hack)", 0, layout_jollycrd )
GAME( 1992, multiwin, 0, fw1stpal, funworld, funworld_state, multiwin, ROT0, "Funworld", "Multi Win (Ver.0167, encrypted)", GAME_NOT_WORKING )
-GAME( 1993, jokercrd, 0, fw2ndpal, funworld, funworld_state, 0, ROT0, "Vesely Svet", "Joker Card (Ver.A267BC, encrypted)", GAME_NOT_WORKING )
-GAME( 199?, mongolnw, 0, royalcd1, royalcrd, funworld_state, 0, ROT0, "bootleg", "Mongolfier New (Italian)", GAME_NOT_WORKING )
+GAME( 1993, jokercrd, 0, fw2ndpal, funworld, driver_device, 0, ROT0, "Vesely Svet", "Joker Card (Ver.A267BC, encrypted)", GAME_NOT_WORKING )
+GAME( 199?, mongolnw, 0, royalcd1, royalcrd, driver_device, 0, ROT0, "bootleg", "Mongolfier New (Italian)", GAME_NOT_WORKING )
GAME( 199?, soccernw, 0, royalcd1, royalcrd, funworld_state, soccernw, ROT0, "bootleg", "Soccer New (Italian)", GAME_NOT_WORKING )
GAME( 198?, saloon, 0, saloon, saloon, funworld_state, saloon, ROT0, "<unknown>", "Saloon (French, encrypted)", GAME_NOT_WORKING )
-GAME( 198?, funquiz, 0, funquiz, funquiz, funworld_state, 0, ROT0, "Funworld / " O_UMLAUT "hlinger", "Fun World Quiz (Austrian)", 0 )
-GAMEL( 199?, witchryl, 0, witchryl, witchryl, funworld_state, 0, ROT0, "Video Klein", "Witch Royal (Export version 2.1)", 0, layout_jollycrd )
-GAMEL( 1986, novoplay, 0, fw2ndpal, novoplay, funworld_state, 0, ROT0, "Admiral/Novomatic", "Novo Play Multi Card / Club Card", 0, layout_novoplay )
+GAME( 198?, funquiz, 0, funquiz, funquiz, driver_device, 0, ROT0, "Funworld / " O_UMLAUT "hlinger", "Fun World Quiz (Austrian)", 0 )
+GAMEL( 199?, witchryl, 0, witchryl, witchryl, driver_device, 0, ROT0, "Video Klein", "Witch Royal (Export version 2.1)", 0, layout_jollycrd )
+GAMEL( 1986, novoplay, 0, fw2ndpal, novoplay, driver_device, 0, ROT0, "Admiral/Novomatic", "Novo Play Multi Card / Club Card", 0, layout_novoplay )
diff --git a/src/mame/drivers/funybubl.c b/src/mame/drivers/funybubl.c
index 1b70326f0f6..1b599773b8d 100644
--- a/src/mame/drivers/funybubl.c
+++ b/src/mame/drivers/funybubl.c
@@ -313,5 +313,5 @@ ROM_START( funybublc )
ROM_END
-GAME( 1999, funybubl, 0, funybubl, funybubl, funybubl_state, 0, ROT0, "In Chang Electronic Co", "Funny Bubble", GAME_SUPPORTS_SAVE )
-GAME( 1999, funybublc,funybubl, funybubl, funybubl, funybubl_state, 0, ROT0, "Comad", "Funny Bubble (Comad version)", GAME_SUPPORTS_SAVE )
+GAME( 1999, funybubl, 0, funybubl, funybubl, driver_device, 0, ROT0, "In Chang Electronic Co", "Funny Bubble", GAME_SUPPORTS_SAVE )
+GAME( 1999, funybublc,funybubl, funybubl, funybubl, driver_device, 0, ROT0, "Comad", "Funny Bubble (Comad version)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c
index 635df2e2e35..80ddfa7bfe3 100644
--- a/src/mame/drivers/fuukifg2.c
+++ b/src/mame/drivers/fuukifg2.c
@@ -680,6 +680,6 @@ ROM_END
***************************************************************************/
-GAME( 1995, gogomile, 0, fuuki16, gogomile, fuuki16_state, 0, ROT0, "Fuuki", "Go Go! Mile Smile", GAME_IMPERFECT_SOUND )
-GAME( 1995, gogomilej,gogomile, fuuki16, gogomilej, fuuki16_state,0, ROT0, "Fuuki", "Susume! Mile Smile (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1996, pbancho, 0, fuuki16, pbancho, fuuki16_state, 0, ROT0, "Fuuki", "Gyakuten!! Puzzle Bancho (Japan)", 0)
+GAME( 1995, gogomile, 0, fuuki16, gogomile, driver_device, 0, ROT0, "Fuuki", "Go Go! Mile Smile", GAME_IMPERFECT_SOUND )
+GAME( 1995, gogomilej,gogomile, fuuki16, gogomilej, driver_device,0, ROT0, "Fuuki", "Susume! Mile Smile (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1996, pbancho, 0, fuuki16, pbancho, driver_device, 0, ROT0, "Fuuki", "Gyakuten!! Puzzle Bancho (Japan)", 0)
diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c
index ab021c35b55..6dab29a899c 100644
--- a/src/mame/drivers/fuukifg3.c
+++ b/src/mame/drivers/fuukifg3.c
@@ -739,5 +739,5 @@ ROM_END
***************************************************************************/
-GAME( 1998, asurabld, 0, fuuki32, asurabld, fuuki32_state, 0, ROT0, "Fuuki", "Asura Blade - Sword of Dynasty (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
-GAME( 2000, asurabus, 0, fuuki32, asurabus, fuuki32_state, 0, ROT0, "Fuuki", "Asura Buster - Eternal Warriors (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
+GAME( 1998, asurabld, 0, fuuki32, asurabld, driver_device, 0, ROT0, "Fuuki", "Asura Blade - Sword of Dynasty (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
+GAME( 2000, asurabus, 0, fuuki32, asurabus, driver_device, 0, ROT0, "Fuuki", "Asura Buster - Eternal Warriors (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
diff --git a/src/mame/drivers/g627.c b/src/mame/drivers/g627.c
index 739dc9c85a4..7a938d52069 100644
--- a/src/mame/drivers/g627.c
+++ b/src/mame/drivers/g627.c
@@ -25,6 +25,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(g627);
};
@@ -39,7 +41,7 @@ void g627_state::machine_reset()
{
}
-static DRIVER_INIT( g627 )
+DRIVER_INIT_MEMBER(g627_state,g627)
{
}
diff --git a/src/mame/drivers/gaelco.c b/src/mame/drivers/gaelco.c
index 0def6d26d2e..aaab0aab0e5 100644
--- a/src/mame/drivers/gaelco.c
+++ b/src/mame/drivers/gaelco.c
@@ -858,9 +858,9 @@ ROM_END
*
*************************************/
-GAME( 1991, bigkarnk, 0, bigkarnk, bigkarnk, gaelco_state, 0, ROT0, "Gaelco", "Big Karnak", GAME_SUPPORTS_SAVE )
-GAME( 1995, biomtoy, 0, maniacsq, biomtoy, gaelco_state, 0, ROT0, "Gaelco", "Biomechanical Toy (Ver. 1.0.1885)", GAME_SUPPORTS_SAVE )
-GAME( 1995, biomtoya, biomtoy, maniacsq, biomtoy, gaelco_state, 0, ROT0, "Gaelco", "Biomechanical Toy (Ver. 1.0.1884)", GAME_SUPPORTS_SAVE )
-GAME( 1996, maniacsp, maniacsq, maniacsq, maniacsq, gaelco_state, 0, ROT0, "Gaelco", "Maniac Square (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1992, squash, 0, squash, squash, gaelco_state, 0, ROT0, "Gaelco", "Squash (Ver. 1.0)", GAME_SUPPORTS_SAVE )
-GAME( 1992, thoop, 0, thoop, thoop, gaelco_state, 0, ROT0, "Gaelco", "Thunder Hoop (Ver. 1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, bigkarnk, 0, bigkarnk, bigkarnk, driver_device, 0, ROT0, "Gaelco", "Big Karnak", GAME_SUPPORTS_SAVE )
+GAME( 1995, biomtoy, 0, maniacsq, biomtoy, driver_device, 0, ROT0, "Gaelco", "Biomechanical Toy (Ver. 1.0.1885)", GAME_SUPPORTS_SAVE )
+GAME( 1995, biomtoya, biomtoy, maniacsq, biomtoy, driver_device, 0, ROT0, "Gaelco", "Biomechanical Toy (Ver. 1.0.1884)", GAME_SUPPORTS_SAVE )
+GAME( 1996, maniacsp, maniacsq, maniacsq, maniacsq, driver_device, 0, ROT0, "Gaelco", "Maniac Square (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1992, squash, 0, squash, squash, driver_device, 0, ROT0, "Gaelco", "Squash (Ver. 1.0)", GAME_SUPPORTS_SAVE )
+GAME( 1992, thoop, 0, thoop, thoop, driver_device, 0, ROT0, "Gaelco", "Thunder Hoop (Ver. 1)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gaelco2.c b/src/mame/drivers/gaelco2.c
index 660a8d1ee06..4123f273dab 100644
--- a/src/mame/drivers/gaelco2.c
+++ b/src/mame/drivers/gaelco2.c
@@ -1442,11 +1442,11 @@ GAME( 1994, aligatorun,aligator,alighunt, alighunt, gaelco2_state, alighunt, ROT
GAME( 1995, touchgo, 0, touchgo, touchgo, gaelco2_state, touchgo, ROT0, "Gaelco", "Touch & Go (World)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1995, touchgon, touchgo, touchgo, touchgo, gaelco2_state, touchgo, ROT0, "Gaelco", "Touch & Go (Non North America)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1995, touchgoe, touchgo, touchgo, touchgo, gaelco2_state, touchgo, ROT0, "Gaelco", "Touch & Go (earlier revision)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1995, wrally2, 0, wrally2, wrally2, gaelco2_state, 0, ROT0, "Gaelco", "World Rally 2: Twin Racing", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1996, maniacsq, 0, maniacsq, maniacsq, gaelco2_state, 0, ROT0, "Gaelco", "Maniac Square (unprotected)", 0 )
-GAME( 1996, snowboar, 0, snowboar, snowboar, gaelco2_state, 0, ROT0, "Gaelco", "Snow Board Championship (Version 2.1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1995, wrally2, 0, wrally2, wrally2, driver_device, 0, ROT0, "Gaelco", "World Rally 2: Twin Racing", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1996, maniacsq, 0, maniacsq, maniacsq, driver_device, 0, ROT0, "Gaelco", "Maniac Square (unprotected)", 0 )
+GAME( 1996, snowboar, 0, snowboar, snowboar, driver_device, 0, ROT0, "Gaelco", "Snow Board Championship (Version 2.1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1996, snowboara,snowboar, snowboar, snowboar, gaelco2_state, snowboar, ROT0, "Gaelco", "Snow Board Championship (Version 2.0)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1998, bang, 0, bang, bang, gaelco2_state, bang, ROT0, "Gaelco", "Bang!", 0 )
GAME( 1998, bangj, bang, bang, bang, gaelco2_state, bang, ROT0, "Gaelco", "Gun Gabacho (Japan)", 0 )
-GAME( 1999, grtesoro, 0, maniacsq, maniacsq, gaelco2_state, 0, ROT0, "Nova Desitec", "Gran Tesoro? / Play 2000 (v5.01) (Italy)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1999, grtesoro4, grtesoro,maniacsq, maniacsq, gaelco2_state, 0, ROT0, "Nova Desitec", "Gran Tesoro? / Play 2000 (v4.0) (Italy)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1999, grtesoro, 0, maniacsq, maniacsq, driver_device, 0, ROT0, "Nova Desitec", "Gran Tesoro? / Play 2000 (v5.01) (Italy)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1999, grtesoro4, grtesoro,maniacsq, maniacsq, driver_device, 0, ROT0, "Nova Desitec", "Gran Tesoro? / Play 2000 (v4.0) (Italy)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/gaelco3d.c b/src/mame/drivers/gaelco3d.c
index cae281f4191..1fccb82f4da 100644
--- a/src/mame/drivers/gaelco3d.c
+++ b/src/mame/drivers/gaelco3d.c
@@ -1208,7 +1208,7 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( gaelco3d )
+DRIVER_INIT_MEMBER(gaelco3d_state,gaelco3d)
{
}
diff --git a/src/mame/drivers/gaiden.c b/src/mame/drivers/gaiden.c
index cc6546debfb..91803a9b164 100644
--- a/src/mame/drivers/gaiden.c
+++ b/src/mame/drivers/gaiden.c
@@ -1482,38 +1482,35 @@ ROM_START( drgnbowl )
ROM_END
-static DRIVER_INIT( shadoww )
+DRIVER_INIT_MEMBER(gaiden_state,shadoww)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
/* sprite size Y = sprite size X */
- state->m_sprite_sizey = 0;
- state->m_raiga_jumppoints = jumppoints_00;
+ m_sprite_sizey = 0;
+ m_raiga_jumppoints = jumppoints_00;
}
-static DRIVER_INIT( wildfang )
+DRIVER_INIT_MEMBER(gaiden_state,wildfang)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
/* sprite size Y = sprite size X */
- state->m_sprite_sizey = 0;
- state->m_raiga_jumppoints = jumppoints_00;
+ m_sprite_sizey = 0;
+ m_raiga_jumppoints = jumppoints_00;
- state->m_prot = 0;
- state->m_jumpcode = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x07a006, 0x07a007, read16_delegate(FUNC(gaiden_state::wildfang_protection_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07a804, 0x07a805, write16_delegate(FUNC(gaiden_state::wildfang_protection_w),state));
+ m_prot = 0;
+ m_jumpcode = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x07a006, 0x07a007, read16_delegate(FUNC(gaiden_state::wildfang_protection_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07a804, 0x07a805, write16_delegate(FUNC(gaiden_state::wildfang_protection_w),this));
}
-static DRIVER_INIT( raiga )
+DRIVER_INIT_MEMBER(gaiden_state,raiga)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
/* sprite size Y independent from sprite size X */
- state->m_sprite_sizey = 2;
- state->m_raiga_jumppoints = jumppoints_00;
+ m_sprite_sizey = 2;
+ m_raiga_jumppoints = jumppoints_00;
- state->m_prot = 0;
- state->m_jumpcode = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x07a006, 0x07a007, read16_delegate(FUNC(gaiden_state::raiga_protection_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07a804, 0x07a805, write16_delegate(FUNC(gaiden_state::raiga_protection_w),state));
+ m_prot = 0;
+ m_jumpcode = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x07a006, 0x07a007, read16_delegate(FUNC(gaiden_state::raiga_protection_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07a804, 0x07a805, write16_delegate(FUNC(gaiden_state::raiga_protection_w),this));
}
static void descramble_drgnbowl_gfx(running_machine &machine)
@@ -1555,12 +1552,11 @@ static void descramble_drgnbowl_gfx(running_machine &machine)
auto_free(machine, buffer);
}
-static DRIVER_INIT( drgnbowl )
+DRIVER_INIT_MEMBER(gaiden_state,drgnbowl)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
- state->m_raiga_jumppoints = jumppoints_00;
+ m_raiga_jumppoints = jumppoints_00;
- descramble_drgnbowl_gfx(machine);
+ descramble_drgnbowl_gfx(machine());
}
static void descramble_mastninj_gfx(running_machine &machine, UINT8* src)
@@ -1604,11 +1600,11 @@ static void descramble_mastninj_gfx(running_machine &machine, UINT8* src)
}
}
-static DRIVER_INIT(mastninj)
+DRIVER_INIT_MEMBER(gaiden_state,mastninj)
{
// rearrange the graphic roms into a format that MAME can decode
- descramble_mastninj_gfx(machine, machine.root_device().memregion("gfx2")->base());
- descramble_mastninj_gfx(machine, machine.root_device().memregion("gfx3")->base());
+ descramble_mastninj_gfx(machine(), machine().root_device().memregion("gfx2")->base());
+ descramble_mastninj_gfx(machine(), machine().root_device().memregion("gfx3")->base());
DRIVER_INIT_CALL(shadoww);
}
diff --git a/src/mame/drivers/gal3.c b/src/mame/drivers/gal3.c
index bce98902e73..364c93a4a51 100644
--- a/src/mame/drivers/gal3.c
+++ b/src/mame/drivers/gal3.c
@@ -898,5 +898,5 @@ ROM_START( gal3 )
ROM_END
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS */
-GAMEL( 199?, gal3, 0, gal3, gal3, gal3_state, 0, ROT0, "Namco", "Galaxian 3 - Theater 6 : Project Dragoon", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dualhsxs )
-//GAMEL( 199?, gal3zlgr, 0, gal3, gal3, gal3_state, 0, ROT0, "Namco", "Galaxian 3 - Theater 6 J2 : Attack of The Zolgear", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dualhsxs )
+GAMEL( 199?, gal3, 0, gal3, gal3, driver_device, 0, ROT0, "Namco", "Galaxian 3 - Theater 6 : Project Dragoon", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dualhsxs )
+//GAMEL( 199?, gal3zlgr, 0, gal3, gal3, driver_device, 0, ROT0, "Namco", "Galaxian 3 - Theater 6 J2 : Attack of The Zolgear", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dualhsxs )
diff --git a/src/mame/drivers/galaga.c b/src/mame/drivers/galaga.c
index 9681d7312a5..88c92c8ef7f 100644
--- a/src/mame/drivers/galaga.c
+++ b/src/mame/drivers/galaga.c
@@ -3256,11 +3256,11 @@ ROM_START( digsid )
ROM_LOAD( "136007.109", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* timing - not used */
ROM_END
-static DRIVER_INIT (galaga)
+DRIVER_INIT_MEMBER(galaga_state,galaga)
{
/* swap bytes for flipped character so we can decode them together with normal characters */
- UINT8 *rom = machine.root_device().memregion("gfx1")->base();
- int i, len = machine.root_device().memregion("gfx1")->bytes();
+ UINT8 *rom = machine().root_device().memregion("gfx1")->base();
+ int i, len = machine().root_device().memregion("gfx1")->bytes();
for (i = 0;i < len;i++)
{
@@ -3273,41 +3273,40 @@ static DRIVER_INIT (galaga)
}
}
-static DRIVER_INIT (gatsbee)
+DRIVER_INIT_MEMBER(galaga_state,gatsbee)
{
DRIVER_INIT_CALL(galaga);
/* Gatsbee has a larger character ROM, we need a handler for banking */
- galaga_state *state = machine.driver_data<galaga_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1000, 0x1000, write8_delegate(FUNC(galaga_state::gatsbee_bank_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1000, 0x1000, write8_delegate(FUNC(galaga_state::gatsbee_bank_w),this));
}
-static DRIVER_INIT( xevious )
+DRIVER_INIT_MEMBER(xevious_state,xevious)
{
UINT8 *rom;
int i;
- rom = machine.root_device().memregion("gfx3")->base() + 0x5000;
+ rom = machine().root_device().memregion("gfx3")->base() + 0x5000;
for (i = 0;i < 0x2000;i++)
rom[i + 0x2000] = rom[i] >> 4;
}
-static DRIVER_INIT( xevios )
+DRIVER_INIT_MEMBER(xevious_state,xevios)
{
int A;
UINT8 *rom;
/* convert one of the sprite ROMs to the format used by Xevious */
- rom = machine.root_device().memregion("gfx3")->base();
+ rom = machine().root_device().memregion("gfx3")->base();
for (A = 0x5000;A < 0x7000;A++)
{
rom[A] = BITSWAP8(rom[A],1,3,5,7,0,2,4,6);
}
/* convert one of tile map ROMs to the format used by Xevious */
- rom = machine.root_device().memregion("gfx4")->base();
+ rom = machine().root_device().memregion("gfx4")->base();
for (A = 0x0000;A < 0x1000;A++)
{
rom[A] = BITSWAP8(rom[A],3,7,5,1,2,6,4,0);
@@ -3317,11 +3316,11 @@ static DRIVER_INIT( xevios )
}
-static DRIVER_INIT( battles )
+DRIVER_INIT_MEMBER(xevious_state,battles)
{
/* replace the Namco I/O handlers with interface to the 4th CPU */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x7000, 0x700f, FUNC(battles_customio_data0_r), FUNC(battles_customio_data0_w) );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x7100, 0x7100, FUNC(battles_customio0_r), FUNC(battles_customio0_w) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x7000, 0x700f, FUNC(battles_customio_data0_r), FUNC(battles_customio_data0_w) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x7100, 0x7100, FUNC(battles_customio0_r), FUNC(battles_customio0_w) );
DRIVER_INIT_CALL(xevious);
}
@@ -3330,11 +3329,11 @@ static DRIVER_INIT( battles )
/* Original Namco hardware, with Namco Customs */
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1981, bosco, 0, bosco, bosco, bosco_state, 0, ROT0, "Namco", "Bosconian (new version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, boscoo, bosco, bosco, bosco, bosco_state, 0, ROT0, "Namco", "Bosconian (old version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, boscoo2, bosco, bosco, bosco, bosco_state, 0, ROT0, "Namco", "Bosconian (older version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, boscomd, bosco, bosco, boscomd, bosco_state, 0, ROT0, "Namco (Midway license)", "Bosconian (Midway, new version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, boscomdo, bosco, bosco, boscomd, bosco_state, 0, ROT0, "Namco (Midway license)", "Bosconian (Midway, old version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1981, bosco, 0, bosco, bosco, driver_device, 0, ROT0, "Namco", "Bosconian (new version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1981, boscoo, bosco, bosco, bosco, driver_device, 0, ROT0, "Namco", "Bosconian (old version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1981, boscoo2, bosco, bosco, bosco, driver_device, 0, ROT0, "Namco", "Bosconian (older version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1981, boscomd, bosco, bosco, boscomd, driver_device, 0, ROT0, "Namco (Midway license)", "Bosconian (Midway, new version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1981, boscomdo, bosco, bosco, boscomd, driver_device, 0, ROT0, "Namco (Midway license)", "Bosconian (Midway, old version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galaga, 0, galaga, galaga, galaga_state, galaga, ROT90, "Namco", "Galaga (Namco rev. B)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galagao, galaga, galaga, galaga, galaga_state, galaga, ROT90, "Namco", "Galaga (Namco)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
@@ -3349,11 +3348,11 @@ GAME( 1982, xeviousc, xevious, xevious, xeviousa, xevious_state, xevious, ROT90
GAME( 1984, sxevious, xevious, xevious, sxevious, xevious_state, xevious, ROT90, "Namco", "Super Xevious", GAME_SUPPORTS_SAVE )
GAME( 1984, sxeviousj, xevious, xevious, sxevious, xevious_state, xevious, ROT90, "Namco", "Super Xevious (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1982, digdug, 0, digdug, digdug, digdug_state, 0, ROT90, "Namco", "Dig Dug (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, digdug1, digdug, digdug, digdug, digdug_state, 0, ROT90, "Namco", "Dig Dug (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, digdugat, digdug, digdug, digdug, digdug_state, 0, ROT90, "Namco (Atari license)", "Dig Dug (Atari, rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, digdugat1, digdug, digdug, digdug, digdug_state, 0, ROT90, "Namco (Atari license)", "Dig Dug (Atari, rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, digsid, digdug, digdug, digdug, digdug_state, 0, ROT90, "Namco (Sidam license)", "Dig Dug (manufactured by Sidam)", GAME_SUPPORTS_SAVE )
+GAME( 1982, digdug, 0, digdug, digdug, driver_device, 0, ROT90, "Namco", "Dig Dug (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, digdug1, digdug, digdug, digdug, driver_device, 0, ROT90, "Namco", "Dig Dug (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, digdugat, digdug, digdug, digdug, driver_device, 0, ROT90, "Namco (Atari license)", "Dig Dug (Atari, rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, digdugat1, digdug, digdug, digdug, driver_device, 0, ROT90, "Namco (Atari license)", "Dig Dug (Atari, rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, digsid, digdug, digdug, digdug, driver_device, 0, ROT90, "Namco (Sidam license)", "Dig Dug (manufactured by Sidam)", GAME_SUPPORTS_SAVE )
/* Bootlegs with replacement I/O chips */
@@ -3363,4 +3362,4 @@ GAME( 1984, gatsbee, galaga, galagab, gatsbee, galaga_state, gatsbee, ROT90,
GAME( 1982, xevios, xevious, xevious, xevious, xevious_state, xevios, ROT90, "bootleg", "Xevios", GAME_SUPPORTS_SAVE )
GAME( 1982, battles, xevious, battles, xevious, xevious_state, battles, ROT90, "bootleg", "Battles", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, dzigzag, digdug, dzigzag, digdug, digdug_state, 0, ROT90, "bootleg", "Zig Zag (Dig Dug hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1982, dzigzag, digdug, dzigzag, digdug, driver_device, 0, ROT90, "bootleg", "Zig Zag (Dig Dug hardware)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/galastrm.c b/src/mame/drivers/galastrm.c
index 3011ccd97b9..d2c4e1f9f62 100644
--- a/src/mame/drivers/galastrm.c
+++ b/src/mame/drivers/galastrm.c
@@ -374,4 +374,4 @@ ROM_START( galastrm )
ROM_END
-GAME( 1992, galastrm, 0, galastrm, galastrm, galastrm_state, 0, ROT0, "Taito Corporation", "Galactic Storm (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, galastrm, 0, galastrm, galastrm, driver_device, 0, ROT0, "Taito Corporation", "Galactic Storm (Japan)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/galaxi.c b/src/mame/drivers/galaxi.c
index 4f2a8ea8a00..78b4266012a 100644
--- a/src/mame/drivers/galaxi.c
+++ b/src/mame/drivers/galaxi.c
@@ -482,5 +482,5 @@ ROM_END
***************************************************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 2000, galaxi, 0, galaxi, galaxi, galaxi_state, 0, ROT0, "B.R.L.", "Galaxi (v2.0)", GAME_SUPPORTS_SAVE, layout_galaxi )
-GAMEL( 2000, magjoker, 0, magjoker, magjoker, galaxi_state, 0, ROT0, "B.R.L.", "Magic Joker (v1.25.10.2000)", GAME_SUPPORTS_SAVE, layout_galaxi )
+GAMEL( 2000, galaxi, 0, galaxi, galaxi, driver_device, 0, ROT0, "B.R.L.", "Galaxi (v2.0)", GAME_SUPPORTS_SAVE, layout_galaxi )
+GAMEL( 2000, magjoker, 0, magjoker, magjoker, driver_device, 0, ROT0, "B.R.L.", "Magic Joker (v1.25.10.2000)", GAME_SUPPORTS_SAVE, layout_galaxi )
diff --git a/src/mame/drivers/galaxia.c b/src/mame/drivers/galaxia.c
index 210834e54c1..bcd2e57106e 100644
--- a/src/mame/drivers/galaxia.c
+++ b/src/mame/drivers/galaxia.c
@@ -409,5 +409,5 @@ ROM_START( astrowar )
ROM_END
-GAME( 1979, galaxia, 0, galaxia, galaxia, galaxia_state, 0, ROT90, "Zaccaria / Zelco", "Galaxia", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_GRAPHICS )
-GAME( 1980, astrowar, 0, astrowar, galaxia, galaxia_state, 0, ROT90, "Zaccaria / Zelco", "Astro Wars", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_GRAPHICS )
+GAME( 1979, galaxia, 0, galaxia, galaxia, driver_device, 0, ROT90, "Zaccaria / Zelco", "Galaxia", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_GRAPHICS )
+GAME( 1980, astrowar, 0, astrowar, galaxia, driver_device, 0, ROT90, "Zaccaria / Zelco", "Astro Wars", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c
index df2b6806620..bf05e381261 100644
--- a/src/mame/drivers/galaxian.c
+++ b/src/mame/drivers/galaxian.c
@@ -2759,15 +2759,15 @@ static void unmap_galaxian_sound(running_machine &machine, offs_t base)
*
*************************************/
-static DRIVER_INIT( galaxian )
+DRIVER_INIT_MEMBER(galaxian_state,galaxian)
{
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, NULL);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, NULL, NULL);
}
-static DRIVER_INIT( nolock )
+DRIVER_INIT_MEMBER(galaxian_state,nolock)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* same as galaxian... */
DRIVER_INIT_CALL(galaxian);
@@ -2777,68 +2777,65 @@ static DRIVER_INIT( nolock )
}
-static DRIVER_INIT( azurian )
+DRIVER_INIT_MEMBER(galaxian_state,azurian)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* yellow bullets instead of white ones */
- common_init(machine, scramble_draw_bullet, galaxian_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, galaxian_draw_background, NULL, NULL);
/* coin lockout disabled */
space->unmap_write(0x6002, 0x6002, 0, 0x7f8);
}
-static DRIVER_INIT( gmgalax )
+DRIVER_INIT_MEMBER(galaxian_state,gmgalax)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, gmgalax_extend_tile_info, gmgalax_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, gmgalax_extend_tile_info, gmgalax_extend_sprite_info);
/* ROM is banked */
space->install_read_bank(0x0000, 0x3fff, "bank1");
- state->membank("bank1")->configure_entries(0, 2, state->memregion("maincpu")->base() + 0x10000, 0x4000);
+ membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x10000, 0x4000);
/* callback when the game select is toggled */
- state->gmgalax_game_changed(*machine.ioport().first_port()->first_field(), NULL, 0, 0);
- state_save_register_global(machine, state->m_gmgalax_selected_game);
+ gmgalax_game_changed(*machine().ioport().first_port()->first_field(), NULL, 0, 0);
+ state_save_register_global(machine(), m_gmgalax_selected_game);
}
-static DRIVER_INIT( pisces )
+DRIVER_INIT_MEMBER(galaxian_state,pisces)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, pisces_extend_tile_info, pisces_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, pisces_extend_tile_info, pisces_extend_sprite_info);
/* coin lockout replaced by graphics bank */
- space->install_write_handler(0x6002, 0x6002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::galaxian_gfxbank_w),state));
+ space->install_write_handler(0x6002, 0x6002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::galaxian_gfxbank_w),this));
}
-static DRIVER_INIT( batman2 )
+DRIVER_INIT_MEMBER(galaxian_state,batman2)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, batman2_extend_tile_info, upper_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, batman2_extend_tile_info, upper_extend_sprite_info);
/* coin lockout replaced by graphics bank */
- space->install_write_handler(0x6002, 0x6002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::galaxian_gfxbank_w),state));
+ space->install_write_handler(0x6002, 0x6002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::galaxian_gfxbank_w),this));
}
-static DRIVER_INIT( frogg )
+DRIVER_INIT_MEMBER(galaxian_state,frogg)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* same as galaxian... */
- common_init(machine, galaxian_draw_bullet, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info);
/* ...but needs a full 2k of RAM */
space->install_ram(0x4000, 0x47ff);
@@ -2852,46 +2849,45 @@ static DRIVER_INIT( frogg )
*
*************************************/
-static DRIVER_INIT( mooncrst )
+DRIVER_INIT_MEMBER(galaxian_state,mooncrst)
{
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
/* decrypt program code */
- decode_mooncrst(machine, 0x8000, machine.root_device().memregion("maincpu")->base());
+ decode_mooncrst(machine(), 0x8000, machine().root_device().memregion("maincpu")->base());
}
-static DRIVER_INIT( mooncrsu )
+DRIVER_INIT_MEMBER(galaxian_state,mooncrsu)
{
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
}
-static DRIVER_INIT( mooncrgx )
+DRIVER_INIT_MEMBER(galaxian_state,mooncrgx)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
/* LEDs and coin lockout replaced by graphics banking */
- space->install_write_handler(0x6000, 0x6002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::galaxian_gfxbank_w),state));
+ space->install_write_handler(0x6000, 0x6002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::galaxian_gfxbank_w),this));
}
-static DRIVER_INIT( moonqsr )
+DRIVER_INIT_MEMBER(galaxian_state,moonqsr)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, 0x8000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, 0x8000);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, moonqsr_extend_tile_info, moonqsr_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, moonqsr_extend_tile_info, moonqsr_extend_sprite_info);
/* decrypt program code */
- decode_mooncrst(machine, 0x8000, decrypt);
+ decode_mooncrst(machine(), 0x8000, decrypt);
space->set_decrypted_region(0x0000, 0x7fff, decrypt);
}
@@ -2900,16 +2896,15 @@ WRITE8_MEMBER(galaxian_state::artic_gfxbank_w)
// printf("artic_gfxbank_w %02x\n",data);
}
-static DRIVER_INIT( pacmanbl )
+DRIVER_INIT_MEMBER(galaxian_state,pacmanbl)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* same as galaxian... */
DRIVER_INIT_CALL(galaxian);
/* ...but coin lockout disabled/disconnected */
- space->install_write_handler(0x6002, 0x6002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::artic_gfxbank_w),state));
+ space->install_write_handler(0x6002, 0x6002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::artic_gfxbank_w),this));
}
READ8_MEMBER(galaxian_state::tenspot_dsw_read)
@@ -2961,16 +2956,15 @@ void tenspot_set_game_bank(running_machine& machine, int bank, int from_game)
PALETTE_INIT_CALL(galaxian);
}
-static DRIVER_INIT( tenspot )
+DRIVER_INIT_MEMBER(galaxian_state,tenspot)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* these are needed for batman part 2 to work properly, this banking is probably a property of the artic board,
which tenspot appears to have copied */
/* video extensions */
- //common_init(machine, galaxian_draw_bullet, galaxian_draw_background, batman2_extend_tile_info, upper_extend_sprite_info);
+ //common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, batman2_extend_tile_info, upper_extend_sprite_info);
/* coin lockout replaced by graphics bank */
//space->install_legacy_write_handler(0x6002, 0x6002, 0, 0x7f8, FUNC(galaxian_gfxbank_w));
@@ -2978,180 +2972,173 @@ static DRIVER_INIT( tenspot )
DRIVER_INIT_CALL(galaxian);
- space->install_write_handler(0x6002, 0x6002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::artic_gfxbank_w),state));
+ space->install_write_handler(0x6002, 0x6002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::artic_gfxbank_w),this));
- state->m_tenspot_current_game = 0;
+ m_tenspot_current_game = 0;
- tenspot_set_game_bank(machine, state->m_tenspot_current_game, 0);
+ tenspot_set_game_bank(machine(), m_tenspot_current_game, 0);
- space->install_read_handler(0x7000, 0x7000, read8_delegate(FUNC(galaxian_state::tenspot_dsw_read),state));
+ space->install_read_handler(0x7000, 0x7000, read8_delegate(FUNC(galaxian_state::tenspot_dsw_read),this));
}
-static DRIVER_INIT( devilfsg )
+DRIVER_INIT_MEMBER(galaxian_state,devilfsg)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, NULL);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, NULL, NULL);
/* IRQ line is INT, not NMI */
- state->m_irq_line = 0;
+ m_irq_line = 0;
}
-static DRIVER_INIT( zigzag )
+DRIVER_INIT_MEMBER(galaxian_state,zigzag)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, NULL, galaxian_draw_background, NULL, NULL);
- state->m_draw_bullet_ptr = NULL;
+ common_init(machine(), NULL, galaxian_draw_background, NULL, NULL);
+ m_draw_bullet_ptr = NULL;
/* two sprite generators */
- state->m_numspritegens = 2;
+ m_numspritegens = 2;
/* make ROMs 2 & 3 swappable */
space->install_read_bank(0x2000, 0x2fff, "bank1");
space->install_read_bank(0x3000, 0x3fff, "bank2");
- state->membank("bank1")->configure_entries(0, 2, state->memregion("maincpu")->base() + 0x2000, 0x1000);
- state->membank("bank2")->configure_entries(0, 2, state->memregion("maincpu")->base() + 0x2000, 0x1000);
+ membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x2000, 0x1000);
+ membank("bank2")->configure_entries(0, 2, memregion("maincpu")->base() + 0x2000, 0x1000);
/* also re-install the fixed ROM area as a bank in order to inform the memory system that
the fixed area only extends to 0x1fff */
space->install_read_bank(0x0000, 0x1fff, "bank3");
- state->membank("bank3")->set_base(state->memregion("maincpu")->base() + 0x0000);
+ membank("bank3")->set_base(memregion("maincpu")->base() + 0x0000);
/* handler for doing the swaps */
- space->install_write_handler(0x7002, 0x7002, 0, 0x07f8, write8_delegate(FUNC(galaxian_state::zigzag_bankswap_w),state));
- state->zigzag_bankswap_w(*space, 0, 0);
+ space->install_write_handler(0x7002, 0x7002, 0, 0x07f8, write8_delegate(FUNC(galaxian_state::zigzag_bankswap_w),this));
+ zigzag_bankswap_w(*space, 0, 0);
/* coin lockout disabled */
space->unmap_write(0x6002, 0x6002, 0, 0x7f8);
/* remove the galaxian sound hardware */
- unmap_galaxian_sound(machine, 0x6000);
+ unmap_galaxian_sound(machine(), 0x6000);
/* install our AY-8910 handler */
- space->install_write_handler(0x4800, 0x4fff, write8_delegate(FUNC(galaxian_state::zigzag_ay8910_w),state));
+ space->install_write_handler(0x4800, 0x4fff, write8_delegate(FUNC(galaxian_state::zigzag_ay8910_w),this));
}
-static DRIVER_INIT( jumpbug )
+DRIVER_INIT_MEMBER(galaxian_state,jumpbug)
{
/* video extensions */
- common_init(machine, scramble_draw_bullet, jumpbug_draw_background, jumpbug_extend_tile_info, jumpbug_extend_sprite_info);
+ common_init(machine(), scramble_draw_bullet, jumpbug_draw_background, jumpbug_extend_tile_info, jumpbug_extend_sprite_info);
}
-static DRIVER_INIT( checkman )
+DRIVER_INIT_MEMBER(galaxian_state,checkman)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
- galaxian_state *state = machine.driver_data<galaxian_state>();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
/* move the interrupt enable from $b000 to $b001 */
space->unmap_write(0xb000, 0xb000, 0, 0x7f8);
- space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::irq_enable_w),state));
+ space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::irq_enable_w),this));
/* attach the sound command handler */
- iospace->install_write_handler(0x00, 0x00, 0, 0xffff, write8_delegate(FUNC(galaxian_state::checkman_sound_command_w),state));
+ iospace->install_write_handler(0x00, 0x00, 0, 0xffff, write8_delegate(FUNC(galaxian_state::checkman_sound_command_w),this));
/* decrypt program code */
- decode_checkman(machine);
+ decode_checkman(machine());
}
-static DRIVER_INIT( checkmaj )
+DRIVER_INIT_MEMBER(galaxian_state,checkmaj)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, NULL);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, NULL, NULL);
/* attach the sound command handler */
- space->install_write_handler(0x7800, 0x7800, 0, 0x7ff, write8_delegate(FUNC(galaxian_state::checkman_sound_command_w),state));
+ space->install_write_handler(0x7800, 0x7800, 0, 0x7ff, write8_delegate(FUNC(galaxian_state::checkman_sound_command_w),this));
/* for the title screen */
- space->install_read_handler(0x3800, 0x3800, read8_delegate(FUNC(galaxian_state::checkmaj_protection_r),state));
+ space->install_read_handler(0x3800, 0x3800, read8_delegate(FUNC(galaxian_state::checkmaj_protection_r),this));
}
-static DRIVER_INIT( dingo )
+DRIVER_INIT_MEMBER(galaxian_state,dingo)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, NULL);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, NULL, NULL);
/* attach the sound command handler */
- space->install_write_handler(0x7800, 0x7800, 0, 0x7ff, write8_delegate(FUNC(galaxian_state::checkman_sound_command_w),state));
+ space->install_write_handler(0x7800, 0x7800, 0, 0x7ff, write8_delegate(FUNC(galaxian_state::checkman_sound_command_w),this));
- space->install_read_handler(0x3000, 0x3000, read8_delegate(FUNC(galaxian_state::dingo_3000_r),state));
- space->install_read_handler(0x3035, 0x3035, read8_delegate(FUNC(galaxian_state::dingo_3035_r),state));
+ space->install_read_handler(0x3000, 0x3000, read8_delegate(FUNC(galaxian_state::dingo_3000_r),this));
+ space->install_read_handler(0x3035, 0x3035, read8_delegate(FUNC(galaxian_state::dingo_3035_r),this));
}
-static DRIVER_INIT( dingoe )
+DRIVER_INIT_MEMBER(galaxian_state,dingoe)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
/* move the interrupt enable from $b000 to $b001 */
space->unmap_write(0xb000, 0xb000, 0, 0x7f8);
- space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::irq_enable_w),state));
+ space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::irq_enable_w),this));
/* attach the sound command handler */
- iospace->install_write_handler(0x00, 0x00, 0, 0xffff, write8_delegate(FUNC(galaxian_state::checkman_sound_command_w),state));
+ iospace->install_write_handler(0x00, 0x00, 0, 0xffff, write8_delegate(FUNC(galaxian_state::checkman_sound_command_w),this));
- space->install_read_handler(0x3001, 0x3001, read8_delegate(FUNC(galaxian_state::dingoe_3001_r),state)); /* Protection check */
+ space->install_read_handler(0x3001, 0x3001, read8_delegate(FUNC(galaxian_state::dingoe_3001_r),this)); /* Protection check */
/* decrypt program code */
- decode_dingoe(machine);
+ decode_dingoe(machine());
}
-static DRIVER_INIT( skybase )
+DRIVER_INIT_MEMBER(galaxian_state,skybase)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, pisces_extend_tile_info, pisces_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, pisces_extend_tile_info, pisces_extend_sprite_info);
/* coin lockout replaced by graphics bank */
- space->install_write_handler(0xa002, 0xa002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::galaxian_gfxbank_w),state));
+ space->install_write_handler(0xa002, 0xa002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::galaxian_gfxbank_w),this));
/* needs a full 2k of RAM */
space->install_ram(0x8000, 0x87ff);
/* extend ROM */
- space->install_rom(0x0000, 0x5fff, state->memregion("maincpu")->base());
+ space->install_rom(0x0000, 0x5fff, memregion("maincpu")->base());
}
-static DRIVER_INIT( kong )
+DRIVER_INIT_MEMBER(galaxian_state,kong)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, upper_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, NULL, upper_extend_sprite_info);
/* needs a full 2k of RAM */
space->install_ram(0x8000, 0x87ff);
/* extend ROM */
- space->install_rom(0x0000, 0x7fff, machine.root_device().memregion("maincpu")->base());
+ space->install_rom(0x0000, 0x7fff, machine().root_device().memregion("maincpu")->base());
}
@@ -3182,9 +3169,8 @@ static void mshuttle_decode(running_machine &machine, const UINT8 convtable[8][1
}
-static DRIVER_INIT( mshuttle )
+DRIVER_INIT_MEMBER(galaxian_state,mshuttle)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
static const UINT8 convtable[8][16] =
{
/* -1 marks spots which are unused and therefore unknown */
@@ -3199,19 +3185,18 @@ static DRIVER_INIT( mshuttle )
};
/* video extensions */
- common_init(machine, mshuttle_draw_bullet, galaxian_draw_background, mshuttle_extend_tile_info, mshuttle_extend_sprite_info);
+ common_init(machine(), mshuttle_draw_bullet, galaxian_draw_background, mshuttle_extend_tile_info, mshuttle_extend_sprite_info);
/* IRQ line is INT, not NMI */
- state->m_irq_line = 0;
+ m_irq_line = 0;
/* decrypt the code */
- mshuttle_decode(machine, convtable);
+ mshuttle_decode(machine(), convtable);
}
-static DRIVER_INIT( mshuttlj )
+DRIVER_INIT_MEMBER(galaxian_state,mshuttlj)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
static const UINT8 convtable[8][16] =
{
{ 0x41,0x54,0x51,0x14,0x05,0x10,0x01,0x55,0x44,0x11,0x00,0x50,0x15,0x40,0x04,0x45 },
@@ -3225,28 +3210,27 @@ static DRIVER_INIT( mshuttlj )
};
/* video extensions */
- common_init(machine, mshuttle_draw_bullet, galaxian_draw_background, mshuttle_extend_tile_info, mshuttle_extend_sprite_info);
+ common_init(machine(), mshuttle_draw_bullet, galaxian_draw_background, mshuttle_extend_tile_info, mshuttle_extend_sprite_info);
/* IRQ line is INT, not NMI */
- state->m_irq_line = 0;
+ m_irq_line = 0;
/* decrypt the code */
- mshuttle_decode(machine, convtable);
+ mshuttle_decode(machine(), convtable);
}
-static DRIVER_INIT( fantastc )
+DRIVER_INIT_MEMBER(galaxian_state,fantastc)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, upper_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, NULL, upper_extend_sprite_info);
/* two sprite generators */
- state->m_numspritegens = 2;
+ m_numspritegens = 2;
/* bullets moved from $60 to $c0 */
- state->m_bullets_base = 0xc0;
+ m_bullets_base = 0xc0;
/* decode code */
static const UINT16 lut_am_unscramble[32] = {
@@ -3260,8 +3244,8 @@ static DRIVER_INIT( fantastc )
3, 7, 7, 7 // ok!
};
- UINT8* romdata = machine.root_device().memregion("maincpu")->base();
- assert(machine.root_device().memregion("maincpu")->bytes() == 0x8000);
+ UINT8* romdata = machine().root_device().memregion("maincpu")->base();
+ assert(machine().root_device().memregion("maincpu")->bytes() == 0x8000);
UINT8 buf[0x8000];
memcpy(buf, romdata, 0x8000);
@@ -3270,38 +3254,36 @@ static DRIVER_INIT( fantastc )
}
-static DRIVER_INIT( kingball )
+DRIVER_INIT_MEMBER(galaxian_state,kingball)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, NULL, NULL);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, NULL, NULL);
- space->install_write_handler(0xb000, 0xb000, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::kingball_sound1_w),state));
- space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::irq_enable_w),state));
- space->install_write_handler(0xb002, 0xb002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::kingball_sound2_w),state));
- space->install_write_handler(0xb003, 0xb003, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::kingball_speech_dip_w),state));
+ space->install_write_handler(0xb000, 0xb000, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::kingball_sound1_w),this));
+ space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::irq_enable_w),this));
+ space->install_write_handler(0xb002, 0xb002, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::kingball_sound2_w),this));
+ space->install_write_handler(0xb003, 0xb003, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::kingball_speech_dip_w),this));
- state_save_register_global(machine, state->m_kingball_speech_dip);
- state_save_register_global(machine, state->m_kingball_sound);
+ state_save_register_global(machine(), m_kingball_speech_dip);
+ state_save_register_global(machine(), m_kingball_sound);
}
-static DRIVER_INIT( scorpnmc )
+DRIVER_INIT_MEMBER(galaxian_state,scorpnmc)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, batman2_extend_tile_info, upper_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, batman2_extend_tile_info, upper_extend_sprite_info);
/* move the interrupt enable from $b000 to $b001 */
space->unmap_write(0xb000, 0xb000, 0, 0x7f8);
- space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::irq_enable_w),state));
+ space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::irq_enable_w),this));
/* extra ROM */
- space->install_rom(0x5000, 0x67ff, state->memregion("maincpu")->base() + 0x5000);
+ space->install_rom(0x5000, 0x67ff, memregion("maincpu")->base() + 0x5000);
/* install RAM at $4000-$4800 */
space->install_ram(0x4000, 0x47ff);
@@ -3310,23 +3292,22 @@ static DRIVER_INIT( scorpnmc )
space->unmap_readwrite(0x8000, 0x87ff);
}
-static DRIVER_INIT( thepitm )
+DRIVER_INIT_MEMBER(galaxian_state,thepitm)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
+ common_init(machine(), galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info);
/* move the interrupt enable from $b000 to $b001 */
space->unmap_write(0xb000, 0xb000, 0, 0x7f8);
- space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::irq_enable_w),state));
+ space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::irq_enable_w),this));
/* disable the stars */
space->unmap_write(0xb004, 0xb004, 0, 0x07f8);
/* extend ROM */
- space->install_rom(0x0000, 0x47ff, state->memregion("maincpu")->base());
+ space->install_rom(0x0000, 0x47ff, memregion("maincpu")->base());
}
/*************************************
@@ -3335,35 +3316,34 @@ static DRIVER_INIT( thepitm )
*
*************************************/
-static DRIVER_INIT( theend )
+DRIVER_INIT_MEMBER(galaxian_state,theend)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, theend_draw_bullet, galaxian_draw_background, NULL, NULL);
+ common_init(machine(), theend_draw_bullet, galaxian_draw_background, NULL, NULL);
/* coin counter on the upper bit of port C */
space->unmap_write(0x6802, 0x6802, 0, 0x7f8);
}
-static DRIVER_INIT( scramble )
+DRIVER_INIT_MEMBER(galaxian_state,scramble)
{
/* video extensions */
- common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, scramble_draw_background, NULL, NULL);
}
-static DRIVER_INIT( explorer )
+DRIVER_INIT_MEMBER(galaxian_state,explorer)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, scramble_draw_background, NULL, NULL);
/* watchdog works for writes as well? (or is it just disabled?) */
- space->install_write_handler(0x7000, 0x7000, 0, 0x7ff, write8_delegate(FUNC(galaxian_state::watchdog_reset_w),state));
+ space->install_write_handler(0x7000, 0x7000, 0, 0x7ff, write8_delegate(FUNC(galaxian_state::watchdog_reset_w),this));
/* I/O appears to be direct, not via PPIs */
space->unmap_readwrite(0x8000, 0xffff);
@@ -3371,135 +3351,130 @@ static DRIVER_INIT( explorer )
space->install_read_port(0x8001, 0x8001, 0, 0xffc, "IN1");
space->install_read_port(0x8002, 0x8002, 0, 0xffc, "IN2");
space->install_read_port(0x8003, 0x8003, 0, 0xffc, "IN3");
- space->install_write_handler(0x8000, 0x8000, 0, 0xfff, write8_delegate(FUNC(galaxian_state::soundlatch_byte_w),state));
- space->install_write_handler(0x9000, 0x9000, 0, 0xfff, write8_delegate(FUNC(galaxian_state::explorer_sound_control_w),state));
+ space->install_write_handler(0x8000, 0x8000, 0, 0xfff, write8_delegate(FUNC(galaxian_state::soundlatch_byte_w),this));
+ space->install_write_handler(0x9000, 0x9000, 0, 0xfff, write8_delegate(FUNC(galaxian_state::explorer_sound_control_w),this));
}
-static DRIVER_INIT( sfx )
+DRIVER_INIT_MEMBER(galaxian_state,sfx)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
/* basic configuration */
- common_init(machine, scramble_draw_bullet, scramble_draw_background, upper_extend_tile_info, NULL);
- state->m_sfx_tilemap = TRUE;
+ common_init(machine(), scramble_draw_bullet, scramble_draw_background, upper_extend_tile_info, NULL);
+ m_sfx_tilemap = TRUE;
/* sound board has space for extra ROM */
- machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1");
- state->membank("bank1")->set_base(state->memregion("audiocpu")->base());
+ machine().device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1");
+ membank("bank1")->set_base(memregion("audiocpu")->base());
}
-static DRIVER_INIT( atlantis )
+DRIVER_INIT_MEMBER(galaxian_state,atlantis)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, scramble_draw_background, NULL, NULL);
/* watchdog is at $7800? (or is it just disabled?) */
space->unmap_read(0x7000, 0x7000, 0, 0x7ff);
- space->install_read_handler(0x7800, 0x7800, 0, 0x7ff, read8_delegate(FUNC(galaxian_state::watchdog_reset_r),state));
+ space->install_read_handler(0x7800, 0x7800, 0, 0x7ff, read8_delegate(FUNC(galaxian_state::watchdog_reset_r),this));
}
-static DRIVER_INIT( scobra )
+DRIVER_INIT_MEMBER(galaxian_state,scobra)
{
/* video extensions */
- common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, scramble_draw_background, NULL, NULL);
}
-static DRIVER_INIT( losttomb )
+DRIVER_INIT_MEMBER(galaxian_state,losttomb)
{
/* video extensions */
- common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, scramble_draw_background, NULL, NULL);
/* decrypt */
- decode_losttomb_gfx(machine);
+ decode_losttomb_gfx(machine());
}
-static DRIVER_INIT( frogger )
+DRIVER_INIT_MEMBER(galaxian_state,frogger)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
/* video extensions */
- common_init(machine, NULL, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info);
- state->m_frogger_adjust = TRUE;
+ common_init(machine(), NULL, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info);
+ m_frogger_adjust = TRUE;
/* decrypt */
- decode_frogger_sound(machine);
- decode_frogger_gfx(machine);
+ decode_frogger_sound(machine());
+ decode_frogger_gfx(machine());
}
-static DRIVER_INIT( froggrmc )
+DRIVER_INIT_MEMBER(galaxian_state,froggrmc)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
- common_init(machine, NULL, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info);
+ common_init(machine(), NULL, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info);
- space->install_write_handler(0xa800, 0xa800, 0, 0x7ff, write8_delegate(FUNC(galaxian_state::soundlatch_byte_w),state));
- space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::froggrmc_sound_control_w),state));
+ space->install_write_handler(0xa800, 0xa800, 0, 0x7ff, write8_delegate(FUNC(galaxian_state::soundlatch_byte_w),this));
+ space->install_write_handler(0xb001, 0xb001, 0, 0x7f8, write8_delegate(FUNC(galaxian_state::froggrmc_sound_control_w),this));
/* actually needs 2k of RAM */
space->install_ram(0x8000, 0x87ff);
/* decrypt */
- decode_frogger_sound(machine);
+ decode_frogger_sound(machine());
}
-static DRIVER_INIT( froggers )
+DRIVER_INIT_MEMBER(galaxian_state,froggers)
{
/* video extensions */
- common_init(machine, NULL, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info);
+ common_init(machine(), NULL, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info);
/* decrypt */
- decode_frogger_sound(machine);
+ decode_frogger_sound(machine());
}
-static DRIVER_INIT( turtles )
+DRIVER_INIT_MEMBER(galaxian_state,turtles)
{
/* video extensions */
- common_init(machine, NULL, turtles_draw_background, NULL, NULL);
+ common_init(machine(), NULL, turtles_draw_background, NULL, NULL);
}
#ifdef UNUSED_FUNCTION
-static DRIVER_INIT( amidar )
+DRIVER_INIT_MEMBER(galaxian_state,amidar)
{
/* no existing amidar sets run on Amidar hardware as described by Amidar schematics! */
/* video extensions */
- common_init(machine, scramble_draw_bullet, amidar_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, amidar_draw_background, NULL, NULL);
}
#endif
-static DRIVER_INIT( scorpion )
+DRIVER_INIT_MEMBER(galaxian_state,scorpion)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- common_init(machine, scramble_draw_bullet, scramble_draw_background, batman2_extend_tile_info, upper_extend_sprite_info);
+ common_init(machine(), scramble_draw_bullet, scramble_draw_background, batman2_extend_tile_info, upper_extend_sprite_info);
/* hook up AY8910 */
- machine.device("audiocpu")->memory().space(AS_IO)->install_readwrite_handler(0x00, 0xff, read8_delegate(FUNC(galaxian_state::scorpion_ay8910_r),state), write8_delegate(FUNC(galaxian_state::scorpion_ay8910_w),state));
+ machine().device("audiocpu")->memory().space(AS_IO)->install_readwrite_handler(0x00, 0xff, read8_delegate(FUNC(galaxian_state::scorpion_ay8910_r),this), write8_delegate(FUNC(galaxian_state::scorpion_ay8910_w),this));
/* extra ROM */
space->install_read_bank(0x5800, 0x67ff, "bank1");
- state->membank("bank1")->set_base(state->memregion("maincpu")->base() + 0x5800);
+ membank("bank1")->set_base(memregion("maincpu")->base() + 0x5800);
/* no background related */
// space->nop_write(0x6803, 0x6803);
- machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3000, 0x3000, read8_delegate(FUNC(galaxian_state::scorpion_digitalker_intr_r),state));
+ machine().device("audiocpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3000, 0x3000, read8_delegate(FUNC(galaxian_state::scorpion_digitalker_intr_r),this));
/*
{
- const UINT8 *rom = state->memregion("speech")->base();
+ const UINT8 *rom = memregion("speech")->base();
int i;
for (i = 0; i < 0x2c; i++)
@@ -3517,47 +3492,46 @@ static DRIVER_INIT( scorpion )
}
-static DRIVER_INIT( anteater )
+DRIVER_INIT_MEMBER(galaxian_state,anteater)
{
/* video extensions */
- common_init(machine, scramble_draw_bullet, anteater_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, anteater_draw_background, NULL, NULL);
/* decode graphics */
- decode_anteater_gfx(machine);
+ decode_anteater_gfx(machine());
}
-static DRIVER_INIT( anteateruk )
+DRIVER_INIT_MEMBER(galaxian_state,anteateruk)
{
/* video extensions */
- common_init(machine, scramble_draw_bullet, anteater_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, anteater_draw_background, NULL, NULL);
}
-static DRIVER_INIT( superbon )
+DRIVER_INIT_MEMBER(galaxian_state,superbon)
{
/* video extensions */
- common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, scramble_draw_background, NULL, NULL);
/* decode code */
- decode_superbon(machine);
+ decode_superbon(machine());
}
-static DRIVER_INIT( calipso )
+DRIVER_INIT_MEMBER(galaxian_state,calipso)
{
/* video extensions */
- common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, calipso_extend_sprite_info);
+ common_init(machine(), scramble_draw_bullet, scramble_draw_background, NULL, calipso_extend_sprite_info);
}
-static DRIVER_INIT( moonwar )
+DRIVER_INIT_MEMBER(galaxian_state,moonwar)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
/* video extensions */
- common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL);
+ common_init(machine(), scramble_draw_bullet, scramble_draw_background, NULL, NULL);
- state_save_register_global(machine, state->m_moonwar_port_select);
+ state_save_register_global(machine(), m_moonwar_port_select);
}
diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c
index 41d19e24cc5..d058969dfe0 100644
--- a/src/mame/drivers/galaxold.c
+++ b/src/mame/drivers/galaxold.c
@@ -3192,30 +3192,30 @@ ROM_START( bullsdrtg )
ROM_END
/* Z80 games */
-GAME( 1980, vpool, hustler, mooncrst, vpool, galaxold_state, 0, ROT90, "bootleg", "Video Pool (bootleg on Moon Cresta hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1981, rockclim, 0, rockclim, rockclim, galaxold_state, 0, ROT180, "Taito", "Rock Climber", GAME_SUPPORTS_SAVE )
-GAME( 1981, ckongg, ckong, ckongg, ckongg, galaxold_state, 0, ROT90, "bootleg", "Crazy Kong (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1981, ckongmc, ckong, ckongmc, ckongmc, galaxold_state, 0, ROT90, "bootleg", "Crazy Kong (bootleg on Moon Cresta hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) // set was marked as 'King Kong on Galaxian'
-GAME( 1981, scramblb, scramble, scramblb, scramblb, galaxold_state, 0, ROT90, "bootleg", "Scramble (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1981, scramb2, scramble, scramb2, scramb2, galaxold_state, 0, ROT90, "bootleg", "Scramble (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1980, vpool, hustler, mooncrst, vpool, driver_device, 0, ROT90, "bootleg", "Video Pool (bootleg on Moon Cresta hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1981, rockclim, 0, rockclim, rockclim, driver_device, 0, ROT180, "Taito", "Rock Climber", GAME_SUPPORTS_SAVE )
+GAME( 1981, ckongg, ckong, ckongg, ckongg, driver_device, 0, ROT90, "bootleg", "Crazy Kong (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1981, ckongmc, ckong, ckongmc, ckongmc, driver_device, 0, ROT90, "bootleg", "Crazy Kong (bootleg on Moon Cresta hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) // set was marked as 'King Kong on Galaxian'
+GAME( 1981, scramblb, scramble, scramblb, scramblb, driver_device, 0, ROT90, "bootleg", "Scramble (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1981, scramb2, scramble, scramb2, scramb2, driver_device, 0, ROT90, "bootleg", "Scramble (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1981, 4in1, 0, 4in1, 4in1, galaxold_state, 4in1, ROT90, "Armenia / Food and Fun", "4 Fun in 1", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, bagmanmc, bagman, bagmanmc, bagmanmc, galaxold_state, 0, ROT90, "bootleg", "Bagman (bootleg on Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjrm, dkongjr, dkongjrm, dkongjrm, galaxold_state, 0, ROT90, "bootleg", "Donkey Kong Jr. (bootleg on Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1982, porter, dockman, mooncrst, porter, galaxold_state, 0, ROT90, "bootleg", "Port Man (bootleg on Moon Cresta hardware)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL ) // missing GFX bank switch!
-GAME( 1982, tazzmang, tazmania, tazzmang, tazzmang, galaxold_state, 0, ROT90, "bootleg", "Tazz-Mania (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1983, bongo, 0, bongo, bongo, galaxold_state, 0, ROT90, "Jetsoft", "Bongo", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1983, ozon1, 0, ozon1, ozon1, galaxold_state, 0, ROT90, "Proma", "Ozon I", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1982, bagmanmc, bagman, bagmanmc, bagmanmc, driver_device, 0, ROT90, "bootleg", "Bagman (bootleg on Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1982, dkongjrm, dkongjr, dkongjrm, dkongjrm, driver_device, 0, ROT90, "bootleg", "Donkey Kong Jr. (bootleg on Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1982, porter, dockman, mooncrst, porter, driver_device, 0, ROT90, "bootleg", "Port Man (bootleg on Moon Cresta hardware)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL ) // missing GFX bank switch!
+GAME( 1982, tazzmang, tazmania, tazzmang, tazzmang, driver_device, 0, ROT90, "bootleg", "Tazz-Mania (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1983, bongo, 0, bongo, bongo, driver_device, 0, ROT90, "Jetsoft", "Bongo", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1983, ozon1, 0, ozon1, ozon1, driver_device, 0, ROT90, "Proma", "Ozon I", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1983, ladybugg, ladybug, batman2, ladybugg, galaxold_state, ladybugg, ROT270, "bootleg", "Lady Bug (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1982, vstars, 0, mooncrst, porter, galaxold_state, 0, ROT90, "Competitive Video?", "Video Stars", GAME_NOT_WORKING )
-GAME( 1983, harem, 0, harem, harem, galaxold_state, 0, ROT90, "I.G.R.", "Harem", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1982, vstars, 0, mooncrst, porter, driver_device, 0, ROT90, "Competitive Video?", "Video Stars", GAME_NOT_WORKING )
+GAME( 1983, harem, 0, harem, harem, driver_device, 0, ROT90, "I.G.R.", "Harem", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
/* S2650 games */
-GAME( 1983, hunchbkg, hunchbak, hunchbkg, hunchbkg, galaxold_state, 0, ROT90, "Century Electronics", "Hunchback (Galaxian hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1984, drivfrcg, drivfrcp, drivfrcg, drivfrcg, galaxold_state, 0, ROT90, "Shinkai Inc. (Magic Eletronics USA license)", "Driving Force (Galaxian conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, drivfrct, drivfrcp, drivfrcg, drivfrcg, galaxold_state, 0, ROT90, "bootleg (EMT Germany)", "Top Racer (bootleg of Driving Force)", GAME_SUPPORTS_SAVE ) // Video Klein PCB
-GAME( 1985, drivfrcb, drivfrcp, drivfrcg, drivfrcg, galaxold_state, 0, ROT90, "bootleg (Elsys Software)", "Driving Force (Galaxian conversion bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, racknrol, 0, racknrol, racknrol, galaxold_state, 0, ROT0, "Senko Industries (Status license from Shinkai Inc.)", "Rack + Roll", GAME_SUPPORTS_SAVE )
-GAME( 1986, hexpool, racknrol, racknrol, racknrol, galaxold_state, 0, ROT90, "Senko Industries (Shinkai Inc. license)", "Hex Pool (Shinkai)", GAME_SUPPORTS_SAVE ) // still has Senko logo in gfx rom
-GAME( 1985, hexpoola, racknrol, hexpoola, racknrol, galaxold_state, 0, ROT90, "Senko Industries", "Hex Pool (Senko)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvchlng, 0, racknrol, trvchlng, galaxold_state, 0, ROT90, "Joyland (Senko license)", "Trivia Challenge", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1983, hunchbkg, hunchbak, hunchbkg, hunchbkg, driver_device, 0, ROT90, "Century Electronics", "Hunchback (Galaxian hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1984, drivfrcg, drivfrcp, drivfrcg, drivfrcg, driver_device, 0, ROT90, "Shinkai Inc. (Magic Eletronics USA license)", "Driving Force (Galaxian conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1984, drivfrct, drivfrcp, drivfrcg, drivfrcg, driver_device, 0, ROT90, "bootleg (EMT Germany)", "Top Racer (bootleg of Driving Force)", GAME_SUPPORTS_SAVE ) // Video Klein PCB
+GAME( 1985, drivfrcb, drivfrcp, drivfrcg, drivfrcg, driver_device, 0, ROT90, "bootleg (Elsys Software)", "Driving Force (Galaxian conversion bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1986, racknrol, 0, racknrol, racknrol, driver_device, 0, ROT0, "Senko Industries (Status license from Shinkai Inc.)", "Rack + Roll", GAME_SUPPORTS_SAVE )
+GAME( 1986, hexpool, racknrol, racknrol, racknrol, driver_device, 0, ROT90, "Senko Industries (Shinkai Inc. license)", "Hex Pool (Shinkai)", GAME_SUPPORTS_SAVE ) // still has Senko logo in gfx rom
+GAME( 1985, hexpoola, racknrol, hexpoola, racknrol, driver_device, 0, ROT90, "Senko Industries", "Hex Pool (Senko)", GAME_SUPPORTS_SAVE )
+GAME( 1985, trvchlng, 0, racknrol, trvchlng, driver_device, 0, ROT90, "Joyland (Senko license)", "Trivia Challenge", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
GAME( 1985, bullsdrtg,bullsdrt, bullsdrtg,racknrol, galaxold_state, bullsdrtg,ROT90, "Senko Industries", "Bulls Eye Darts (Galaxian conversion)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS )
diff --git a/src/mame/drivers/galdrvr.c b/src/mame/drivers/galdrvr.c
index 2fce1ac61a9..cdecbf5b444 100644
--- a/src/mame/drivers/galdrvr.c
+++ b/src/mame/drivers/galdrvr.c
@@ -6672,13 +6672,13 @@ GAME( 1985, superbon, 0, scobra, superbon, galaxian_state, superbon,
//GAME( 1983, mrkougb, mrkougar, theend /*mrkougb*/, mrkougar, XXX_CLASS, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 1)", GAME_SUPPORTS_SAVE )
//GAME( 1983, mrkougb2, mrkougar, theend /*mrkougb*/, mrkougar, XXX_CLASS, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 2)", GAME_SUPPORTS_SAVE )
//GAME( 1982, hotshock, 0, theend /*hotshock*/, hotshock, XXX_CLASS, hotshock, ROT90, "E.G. Felaco", "Hot Shocker", GAME_SUPPORTS_SAVE )
-//GAME( 1982, conquer, 0, theend /*hotshock*/, hotshock, XXX_CLASS, 0, ROT90, "<unknown>", "Conquer", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
+//GAME( 1982, conquer, 0, theend /*hotshock*/, hotshock, driver_device, 0, ROT90, "<unknown>", "Conquer", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
//GAME( 1983, hunchbks, hunchbak, theend /*hunchbks*/, hunchbks, XXX_CLASS, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)", GAME_SUPPORTS_SAVE )
//GAME( 1984, hncholms, huncholy, theend /*hncholms*/, hncholms, XXX_CLASS, scramble_ppi, ROT90, "Century Electronics", "Hunchback Olympic (Scramble hardware)", GAME_SUPPORTS_SAVE )
//GAME( 1983, cavelon, 0, theend /*cavelon*/, cavelon, XXX_CLASS, cavelon, ROT90, "Jetsoft", "Cavelon", GAME_SUPPORTS_SAVE )
//GAME( 1982, mimonscr, mimonkey, theend /*mimonscr*/, mimonscr, XXX_CLASS, mimonscr, ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", GAME_SUPPORTS_SAVE )
//GAME( 1983, ad2083, 0, theend /*ad2083*/, ad2083, XXX_CLASS, ad2083, ROT90, "Midcoin", "A. D. 2083", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-//GAME( 1981, turpins, turtles, turtles, turpins, galaxian_state, 0, ROT90, "bootleg", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet
+//GAME( 1981, turpins, turtles, turtles, turpins, driver_device, 0, ROT90, "bootleg", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet
/* currently in scobra.c and should be moved here */
//GAME( 1981, stratgyx, 0, scobra/*stratgyx*/, stratgyx, XXX_CLASS, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE )
@@ -6700,4 +6700,4 @@ GAME( 1985, superbon, 0, scobra, superbon, galaxian_state, superbon,
/* misc stuff that should eventually be moved here */
//GAME( 1981, scramblb, scramble, scramblb, scramblb, galaxian_state, galaxian, ROT90, "bootleg", "Scramble (Galaxian hardware)", GAME_SUPPORTS_SAVE )
-//GAME( 1981, scramb2, scramble, scramb2, scramb2, galaxian_state, 0, ROT90, "bootleg", "Scramble (bootleg)", GAME_SUPPORTS_SAVE )
+//GAME( 1981, scramb2, scramble, scramb2, scramb2, driver_device, 0, ROT90, "bootleg", "Scramble (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/galgame.c b/src/mame/drivers/galgame.c
index 1cf5ee74d6e..b05d9e86d19 100644
--- a/src/mame/drivers/galgame.c
+++ b/src/mame/drivers/galgame.c
@@ -44,6 +44,7 @@ public:
DECLARE_READ16_MEMBER(y_r);
DECLARE_WRITE16_MEMBER(y_w);
DECLARE_WRITE16_MEMBER(clk_w);
+ DECLARE_DRIVER_INIT(galaxygame);
};
/*************************************
@@ -394,10 +395,10 @@ static UINT8 read_uint8(UINT8 *pval, int pos, const UINT8* line, int linelen)
return 1;
}
-static DRIVER_INIT(galaxygame)
+DRIVER_INIT_MEMBER(galaxygame_state,galaxygame)
{
- address_space *main = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *code = machine.root_device().memregion("code")->base();
+ address_space *main = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *code = machine().root_device().memregion("code")->base();
int filepos = 0, linepos, linelen;
UINT8 line[256];
diff --git a/src/mame/drivers/galivan.c b/src/mame/drivers/galivan.c
index 69794684a1f..27a1d1ac183 100644
--- a/src/mame/drivers/galivan.c
+++ b/src/mame/drivers/galivan.c
@@ -1080,36 +1080,35 @@ WRITE8_MEMBER(galivan_state::youmab_86_w)
m_shift_scroll = 0;
}
-static DRIVER_INIT( youmab )
+DRIVER_INIT_MEMBER(galivan_state,youmab)
{
- galivan_state *state = machine.driver_data<galivan_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x82, 0x82, write8_delegate(FUNC(galivan_state::youmab_extra_bank_w),state)); // banks rom at 0x8000? writes 0xff and 0x00 before executing code there
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x7fff, "bank3");
- state->membank("bank3")->set_base(state->memregion("maincpu")->base());
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x82, 0x82, write8_delegate(FUNC(galivan_state::youmab_extra_bank_w),this)); // banks rom at 0x8000? writes 0xff and 0x00 before executing code there
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x7fff, "bank3");
+ membank("bank3")->set_base(memregion("maincpu")->base());
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x8000, 0xbfff, "bank2");
- state->membank("bank2")->configure_entries(0, 2, state->memregion("user2")->base(), 0x4000);
- state->membank("bank2")->set_entry(0);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x8000, 0xbfff, "bank2");
+ membank("bank2")->configure_entries(0, 2, memregion("user2")->base(), 0x4000);
+ membank("bank2")->set_entry(0);
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x81, 0x81, write8_delegate(FUNC(galivan_state::youmab_81_w),state)); // ?? often, alternating values
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x84, 0x84, write8_delegate(FUNC(galivan_state::youmab_84_w),state)); // ?? often, sequence..
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x81, 0x81, write8_delegate(FUNC(galivan_state::youmab_81_w),this)); // ?? often, alternating values
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x84, 0x84, write8_delegate(FUNC(galivan_state::youmab_84_w),this)); // ?? often, sequence..
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xd800, 0xd81f); // scrolling isn't here..
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xd800, 0xd81f); // scrolling isn't here..
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x8a, 0x8a, read8_delegate(FUNC(galivan_state::youmab_8a_r),state)); // ???
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x8a, 0x8a, read8_delegate(FUNC(galivan_state::youmab_8a_r),this)); // ???
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x86, 0x86, write8_delegate(FUNC(galivan_state::youmab_86_w),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x86, 0x86, write8_delegate(FUNC(galivan_state::youmab_86_w),this));
}
-GAME( 1985, galivan, 0, galivan, galivan, galivan_state, 0, ROT270, "Nichibutsu", "Galivan - Cosmo Police (12/26/1985)", GAME_SUPPORTS_SAVE )
-GAME( 1985, galivan2, galivan, galivan, galivan, galivan_state, 0, ROT270, "Nichibutsu", "Galivan - Cosmo Police (12/16/1985)", GAME_SUPPORTS_SAVE )
-GAME( 1985, galivan3, galivan, galivan, galivan, galivan_state, 0, ROT270, "Nichibutsu", "Galivan - Cosmo Police (12/11/1985)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dangar, 0, galivan, dangar, galivan_state, 0, ROT270, "Nichibutsu", "Dangar - Ufo Robo (12/1/1986)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dangar2, dangar, galivan, dangar2, galivan_state, 0, ROT270, "Nichibutsu", "Dangar - Ufo Robo (9/26/1986)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dangarb, dangar, galivan, dangarb, galivan_state, 0, ROT270, "bootleg", "Dangar - Ufo Robo (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ninjemak, 0, ninjemak, ninjemak, galivan_state, 0, ROT270, "Nichibutsu", "Ninja Emaki (US)", GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION )
-GAME( 1986, youma, ninjemak, ninjemak, ninjemak, galivan_state, 0, ROT270, "Nichibutsu", "Youma Ninpou Chou (Japan)", GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION )
-GAME( 1986, youma2, ninjemak, ninjemak, ninjemak, galivan_state, 0, ROT270, "Nichibutsu", "Youma Ninpou Chou (Japan, alt)", GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION )
+GAME( 1985, galivan, 0, galivan, galivan, driver_device, 0, ROT270, "Nichibutsu", "Galivan - Cosmo Police (12/26/1985)", GAME_SUPPORTS_SAVE )
+GAME( 1985, galivan2, galivan, galivan, galivan, driver_device, 0, ROT270, "Nichibutsu", "Galivan - Cosmo Police (12/16/1985)", GAME_SUPPORTS_SAVE )
+GAME( 1985, galivan3, galivan, galivan, galivan, driver_device, 0, ROT270, "Nichibutsu", "Galivan - Cosmo Police (12/11/1985)", GAME_SUPPORTS_SAVE )
+GAME( 1986, dangar, 0, galivan, dangar, driver_device, 0, ROT270, "Nichibutsu", "Dangar - Ufo Robo (12/1/1986)", GAME_SUPPORTS_SAVE )
+GAME( 1986, dangar2, dangar, galivan, dangar2, driver_device, 0, ROT270, "Nichibutsu", "Dangar - Ufo Robo (9/26/1986)", GAME_SUPPORTS_SAVE )
+GAME( 1986, dangarb, dangar, galivan, dangarb, driver_device, 0, ROT270, "bootleg", "Dangar - Ufo Robo (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ninjemak, 0, ninjemak, ninjemak, driver_device, 0, ROT270, "Nichibutsu", "Ninja Emaki (US)", GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION )
+GAME( 1986, youma, ninjemak, ninjemak, ninjemak, driver_device, 0, ROT270, "Nichibutsu", "Youma Ninpou Chou (Japan)", GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION )
+GAME( 1986, youma2, ninjemak, ninjemak, ninjemak, driver_device, 0, ROT270, "Nichibutsu", "Youma Ninpou Chou (Japan, alt)", GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION )
GAME( 1986, youmab, ninjemak, ninjemak, ninjemak, galivan_state, youmab, ROT270, "bootleg", "Youma Ninpou Chou (Game Electronics bootleg, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION ) // player is invincible
GAME( 1986, youmab2, ninjemak, ninjemak, ninjemak, galivan_state, youmab, ROT270, "bootleg", "Youma Ninpou Chou (Game Electronics bootleg, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION ) // ""
diff --git a/src/mame/drivers/galpani2.c b/src/mame/drivers/galpani2.c
index e020596ecad..589d4f1cba7 100644
--- a/src/mame/drivers/galpani2.c
+++ b/src/mame/drivers/galpani2.c
@@ -1008,12 +1008,12 @@ ROM_START( gp2quiz )
ROM_LOAD( "gp2-101-0044.u60", 0x200000, 0x100000, CRC(3c45134f) SHA1(a5362bfcc6beb6e776c1bce4544475f8947fccea) )
ROM_END
-GAME( 1993, galpani2, 0, galpani2, galpani2, galpani2_state, 0, ROT90, "Kaneko", "Gals Panic II (Asia)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1993, galpani2g, galpani2, galpani2, galpani2, galpani2_state, 0, ROT90, "Kaneko", "Gals Panic II (Germany)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1993, galpani2i, galpani2, galpani2, galpani2, galpani2_state, 0, ROT90, "Kaneko", "Gals Panic II (Italy)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1993, galpani2t, galpani2, galpani2, galpani2, galpani2_state, 0, ROT90, "Kaneko", "Gals Panic II (Taiwan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1993, galpani2j, galpani2, galpani2, galpani2, galpani2_state, 0, ROT90, "Kaneko", "Gals Panic II (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION ) // it is a 'quiz edition' but the title screen doesn't say, maybe all Japanese versions have the Quiz
+GAME( 1993, galpani2, 0, galpani2, galpani2, driver_device, 0, ROT90, "Kaneko", "Gals Panic II (Asia)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1993, galpani2g, galpani2, galpani2, galpani2, driver_device, 0, ROT90, "Kaneko", "Gals Panic II (Germany)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1993, galpani2i, galpani2, galpani2, galpani2, driver_device, 0, ROT90, "Kaneko", "Gals Panic II (Italy)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1993, galpani2t, galpani2, galpani2, galpani2, driver_device, 0, ROT90, "Kaneko", "Gals Panic II (Taiwan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1993, galpani2j, galpani2, galpani2, galpani2, driver_device, 0, ROT90, "Kaneko", "Gals Panic II (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION ) // it is a 'quiz edition' but the title screen doesn't say, maybe all Japanese versions have the Quiz
-GAME( 1993, gp2quiz, 0, galpani2, galpani2, galpani2_state, 0, ROT90, "Kaneko", "Gals Panic II - Quiz Version", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION ) // this one has 'quiz edition' on the title screen
+GAME( 1993, gp2quiz, 0, galpani2, galpani2, driver_device, 0, ROT90, "Kaneko", "Gals Panic II - Quiz Version", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION ) // this one has 'quiz edition' on the title screen
-GAME( 1994, gp2se, 0, galpani2, gp2se, galpani2_state, 0, ROT90, "Kaneko", "Gals Panic II' - Special Edition (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1994, gp2se, 0, galpani2, gp2se, driver_device, 0, ROT90, "Kaneko", "Gals Panic II' - Special Edition (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/galpani3.c b/src/mame/drivers/galpani3.c
index fd4bf482ec7..a052e8cf639 100644
--- a/src/mame/drivers/galpani3.c
+++ b/src/mame/drivers/galpani3.c
@@ -169,6 +169,7 @@ public:
DECLARE_WRITE16_MEMBER(galpani3_framebuffer1_bgcol_w);
DECLARE_WRITE16_MEMBER(galpani3_framebuffer2_bgcol_w);
DECLARE_WRITE16_MEMBER(galpani3_framebuffer3_bgcol_w);
+ DECLARE_DRIVER_INIT(galpani3);
};
@@ -1076,12 +1077,11 @@ ROM_START( galpani3j ) /* Some game text in Japanese, but no "For use in Japan"
ROM_END
-static DRIVER_INIT( galpani3 )
+DRIVER_INIT_MEMBER(galpani3_state,galpani3)
{
- galpani3_state *state = machine.driver_data<galpani3_state>();
- DRIVER_INIT_CALL( decrypt_toybox_rom );
+ DRIVER_INIT_CALL(decrypt_toybox_rom);
- memset(state->m_mcu_com, 0, 4 * sizeof( UINT16) );
+ memset(m_mcu_com, 0, 4 * sizeof( UINT16) );
}
GAME( 1995, galpani3, 0, galpani3, galpani3, galpani3_state, galpani3, ROT90, "Kaneko", "Gals Panic 3 (Euro)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/galpanic.c b/src/mame/drivers/galpanic.c
index 44b2f1ff406..6d751958531 100644
--- a/src/mame/drivers/galpanic.c
+++ b/src/mame/drivers/galpanic.c
@@ -999,15 +999,15 @@ ROM_START( supmodel )
ROM_LOAD( "music2.2", 0xc0000, 0x80000, CRC(cccae65a) SHA1(5e4e2e51884eaf191f103aa189ff33371fc91d6d) )
ROM_END
-GAME( 1990, galpanic, 0, galpanic, galpanic, galpanic_state, 0, ROT90, "Kaneko", "Gals Panic (Unprotected)", GAME_NO_COCKTAIL )
-GAME( 1990, galpanica,galpanic, galpanica,galpanica, galpanic_state,0, ROT90, "Kaneko", "Gals Panic (MCU Protected)", GAME_NO_COCKTAIL )
-GAME( 1994, supmodel, 0, supmodel, fantasia, galpanic_state, 0, ROT90, "Comad & New Japan System", "Super Model",GAME_NO_COCKTAIL )
-GAME( 1995, newfant, 0, comad, fantasia, galpanic_state, 0, ROT90, "Comad & New Japan System", "New Fantasia", GAME_NO_COCKTAIL )
-GAME( 1995, fantsy95, 0, comad, fantasia, galpanic_state, 0, ROT90, "Hi-max Technology Inc.", "Fantasy '95", GAME_NO_COCKTAIL )
-GAME( 1996, missw96, 0, comad, missw96, galpanic_state, 0, ROT0, "Comad", "Miss World '96 (Nude)", GAME_NO_COCKTAIL )
-GAME( 1996, missmw96, missw96, comad, missw96, galpanic_state, 0, ROT0, "Comad", "Miss Mister World '96 (Nude)", GAME_NO_COCKTAIL )
-GAME( 1997, fantsia2, 0, fantsia2, missw96, galpanic_state, 0, ROT0, "Comad", "Fantasia II (Explicit)", GAME_NO_COCKTAIL )
-GAME( 1997, fantsia2a,fantsia2, fantsia2, missw96, galpanic_state, 0, ROT0, "Comad", "Fantasia II (Less Explicit)", GAME_NO_COCKTAIL )
-GAME( 2002, wownfant, 0, fantsia2, missw96, galpanic_state, 0, ROT0, "Comad", "WOW New Fantasia", GAME_NO_COCKTAIL )
-GAME( 1997, galhustl, 0, galhustl, galhustl, galpanic_state, 0, ROT0, "ACE International", "Gals Hustler", 0 )
-GAME( 1995, zipzap, 0, zipzap, zipzap, galpanic_state, 0, ROT90, "Barko Corp", "Zip & Zap", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1990, galpanic, 0, galpanic, galpanic, driver_device, 0, ROT90, "Kaneko", "Gals Panic (Unprotected)", GAME_NO_COCKTAIL )
+GAME( 1990, galpanica,galpanic, galpanica,galpanica, driver_device,0, ROT90, "Kaneko", "Gals Panic (MCU Protected)", GAME_NO_COCKTAIL )
+GAME( 1994, supmodel, 0, supmodel, fantasia, driver_device, 0, ROT90, "Comad & New Japan System", "Super Model",GAME_NO_COCKTAIL )
+GAME( 1995, newfant, 0, comad, fantasia, driver_device, 0, ROT90, "Comad & New Japan System", "New Fantasia", GAME_NO_COCKTAIL )
+GAME( 1995, fantsy95, 0, comad, fantasia, driver_device, 0, ROT90, "Hi-max Technology Inc.", "Fantasy '95", GAME_NO_COCKTAIL )
+GAME( 1996, missw96, 0, comad, missw96, driver_device, 0, ROT0, "Comad", "Miss World '96 (Nude)", GAME_NO_COCKTAIL )
+GAME( 1996, missmw96, missw96, comad, missw96, driver_device, 0, ROT0, "Comad", "Miss Mister World '96 (Nude)", GAME_NO_COCKTAIL )
+GAME( 1997, fantsia2, 0, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Explicit)", GAME_NO_COCKTAIL )
+GAME( 1997, fantsia2a,fantsia2, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "Fantasia II (Less Explicit)", GAME_NO_COCKTAIL )
+GAME( 2002, wownfant, 0, fantsia2, missw96, driver_device, 0, ROT0, "Comad", "WOW New Fantasia", GAME_NO_COCKTAIL )
+GAME( 1997, galhustl, 0, galhustl, galhustl, driver_device, 0, ROT0, "ACE International", "Gals Hustler", 0 )
+GAME( 1995, zipzap, 0, zipzap, zipzap, driver_device, 0, ROT90, "Barko Corp", "Zip & Zap", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/galspnbl.c b/src/mame/drivers/galspnbl.c
index 1543b5938aa..b519e9f1f8e 100644
--- a/src/mame/drivers/galspnbl.c
+++ b/src/mame/drivers/galspnbl.c
@@ -323,5 +323,5 @@ ROM_START( hotpinbl )
ROM_END
-GAME( 1995, hotpinbl, 0, galspnbl, hotpinbl, galspnbl_state, 0, ROT90, "Comad & New Japan System", "Hot Pinball", GAME_SUPPORTS_SAVE )
-GAME( 1996, galspnbl, 0, galspnbl, galspnbl, galspnbl_state, 0, ROT90, "Comad", "Gals Pinball", GAME_SUPPORTS_SAVE )
+GAME( 1995, hotpinbl, 0, galspnbl, hotpinbl, driver_device, 0, ROT90, "Comad & New Japan System", "Hot Pinball", GAME_SUPPORTS_SAVE )
+GAME( 1996, galspnbl, 0, galspnbl, galspnbl, driver_device, 0, ROT90, "Comad", "Gals Pinball", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gamecstl.c b/src/mame/drivers/gamecstl.c
index 76c3f647b4e..9439087e66c 100644
--- a/src/mame/drivers/gamecstl.c
+++ b/src/mame/drivers/gamecstl.c
@@ -115,6 +115,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(pc_dack3_w);
DECLARE_WRITE_LINE_MEMBER(gamecstl_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
+ DECLARE_DRIVER_INIT(gamecstl);
};
@@ -761,16 +762,15 @@ static void gamecstl_set_keyb_int(running_machine &machine, int state)
pic8259_ir1_w(drvstate->m_pic8259_1, state);
}
-static DRIVER_INIT( gamecstl )
+DRIVER_INIT_MEMBER(gamecstl_state,gamecstl)
{
- gamecstl_state *state = machine.driver_data<gamecstl_state>();
- state->m_bios_ram = auto_alloc_array(machine, UINT32, 0x10000/4);
+ m_bios_ram = auto_alloc_array(machine(), UINT32, 0x10000/4);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, gamecstl_set_keyb_int);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, gamecstl_set_keyb_int);
- intel82439tx_init(machine);
+ intel82439tx_init(machine());
- kbdc8042_init(machine, &at8042);
+ kbdc8042_init(machine(), &at8042);
}
/*****************************************************************************/
diff --git a/src/mame/drivers/gameplan.c b/src/mame/drivers/gameplan.c
index d112e9c54df..fba3054cc63 100644
--- a/src/mame/drivers/gameplan.c
+++ b/src/mame/drivers/gameplan.c
@@ -1185,11 +1185,11 @@ ROM_END
*
*************************************/
-GAME( 1980, killcom, 0, gameplan, killcom, gameplan_state, 0, ROT0, "Game Plan (Centuri license)", "Killer Comet", GAME_SUPPORTS_SAVE )
-GAME( 1980, megatack, 0, gameplan, megatack, gameplan_state, 0, ROT0, "Game Plan (Centuri license)", "Megatack", GAME_SUPPORTS_SAVE )
-GAME( 1981, challeng, 0, gameplan, challeng, gameplan_state, 0, ROT0, "Game Plan (Centuri license)", "Challenger", GAME_SUPPORTS_SAVE )
-GAME( 1981, kaos, 0, gameplan, kaos, gameplan_state, 0, ROT270, "Game Plan", "Kaos", GAME_SUPPORTS_SAVE )
-GAME( 1982, leprechn, 0, leprechn, leprechn, gameplan_state, 0, ROT0, "Tong Electronic", "Leprechaun", GAME_SUPPORTS_SAVE )
-GAME( 1982, potogold, leprechn, leprechn, potogold, gameplan_state, 0, ROT0, "Tong Electronic (Game Plan license)", "Pot of Gold", GAME_SUPPORTS_SAVE )
-GAME( 1982, leprechp, leprechn, leprechn, potogold, gameplan_state, 0, ROT0, "Tong Electronic (Pacific Polytechnical license)", "Leprechaun (Pacific)", GAME_SUPPORTS_SAVE )
-GAME( 1982, piratetr, 0, leprechn, piratetr, gameplan_state, 0, ROT0, "Tong Electronic", "Pirate Treasure", GAME_SUPPORTS_SAVE )
+GAME( 1980, killcom, 0, gameplan, killcom, driver_device, 0, ROT0, "Game Plan (Centuri license)", "Killer Comet", GAME_SUPPORTS_SAVE )
+GAME( 1980, megatack, 0, gameplan, megatack, driver_device, 0, ROT0, "Game Plan (Centuri license)", "Megatack", GAME_SUPPORTS_SAVE )
+GAME( 1981, challeng, 0, gameplan, challeng, driver_device, 0, ROT0, "Game Plan (Centuri license)", "Challenger", GAME_SUPPORTS_SAVE )
+GAME( 1981, kaos, 0, gameplan, kaos, driver_device, 0, ROT270, "Game Plan", "Kaos", GAME_SUPPORTS_SAVE )
+GAME( 1982, leprechn, 0, leprechn, leprechn, driver_device, 0, ROT0, "Tong Electronic", "Leprechaun", GAME_SUPPORTS_SAVE )
+GAME( 1982, potogold, leprechn, leprechn, potogold, driver_device, 0, ROT0, "Tong Electronic (Game Plan license)", "Pot of Gold", GAME_SUPPORTS_SAVE )
+GAME( 1982, leprechp, leprechn, leprechn, potogold, driver_device, 0, ROT0, "Tong Electronic (Pacific Polytechnical license)", "Leprechaun (Pacific)", GAME_SUPPORTS_SAVE )
+GAME( 1982, piratetr, 0, leprechn, piratetr, driver_device, 0, ROT0, "Tong Electronic", "Pirate Treasure", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gamtor.c b/src/mame/drivers/gamtor.c
index 5a1340b944e..f40a65ba099 100644
--- a/src/mame/drivers/gamtor.c
+++ b/src/mame/drivers/gamtor.c
@@ -34,6 +34,7 @@ public:
gaminator_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag){ }
DECLARE_WRITE32_MEMBER(gamtor_unk_w);
+ DECLARE_DRIVER_INIT(gaminator);
};
WRITE32_MEMBER(gaminator_state::gamtor_unk_w)
@@ -1250,10 +1251,10 @@ ROM_END
static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
-DRIVER_INIT( gaminator )
+DRIVER_INIT_MEMBER(gaminator_state,gaminator)
{
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_gamtor_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0x44000000, machine.device("maincpu")->memory().space(AS_PROGRAM), 0x40000000);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_gamtor_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0x44000000, machine().device("maincpu")->memory().space(AS_PROGRAM), 0x40000000);
}
diff --git a/src/mame/drivers/gaplus.c b/src/mame/drivers/gaplus.c
index 3908caeb308..d49daf9a254 100644
--- a/src/mame/drivers/gaplus.c
+++ b/src/mame/drivers/gaplus.c
@@ -867,16 +867,16 @@ ROM_START( galaga3m )
ROM_END
-static DRIVER_INIT( gaplus )
+DRIVER_INIT_MEMBER(gaplus_state,gaplus)
{
UINT8 *rom;
int i;
- rom = machine.root_device().memregion("gfx1")->base();
+ rom = machine().root_device().memregion("gfx1")->base();
for (i = 0;i < 0x2000;i++)
rom[i + 0x2000] = rom[i] >> 4;
- rom = machine.root_device().memregion("gfx2")->base() + 0x6000;
+ rom = machine().root_device().memregion("gfx2")->base() + 0x6000;
for (i = 0;i < 0x2000;i++)
rom[i + 0x2000] = rom[i] << 4;
}
diff --git a/src/mame/drivers/gatron.c b/src/mame/drivers/gatron.c
index 003f52e1b80..826464551cf 100644
--- a/src/mame/drivers/gatron.c
+++ b/src/mame/drivers/gatron.c
@@ -506,5 +506,5 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1983, poker41, 0, gat, poker41, gatron_state, 0, ROT0, "Game-A-Tron", "Poker 4-1", 0, layout_poker41 )
-GAMEL( 1983, pulltabs, 0, gat, pulltabs, gatron_state, 0, ROT0, "Game-A-Tron", "Pull Tabs", 0, layout_pulltabs )
+GAMEL( 1983, poker41, 0, gat, poker41, driver_device, 0, ROT0, "Game-A-Tron", "Poker 4-1", 0, layout_poker41 )
+GAMEL( 1983, pulltabs, 0, gat, pulltabs, driver_device, 0, ROT0, "Game-A-Tron", "Pull Tabs", 0, layout_pulltabs )
diff --git a/src/mame/drivers/gauntlet.c b/src/mame/drivers/gauntlet.c
index d143f2d0e0d..15d902c9959 100644
--- a/src/mame/drivers/gauntlet.c
+++ b/src/mame/drivers/gauntlet.c
@@ -1637,31 +1637,31 @@ static void gauntlet_common_init(running_machine &machine, int slapstic, int vin
}
-static DRIVER_INIT( gauntlet )
+DRIVER_INIT_MEMBER(gauntlet_state,gauntlet)
{
- gauntlet_common_init(machine, 104, 0);
+ gauntlet_common_init(machine(), 104, 0);
}
-static DRIVER_INIT( gaunt2p )
+DRIVER_INIT_MEMBER(gauntlet_state,gaunt2p)
{
- gauntlet_common_init(machine, 107, 0);
+ gauntlet_common_init(machine(), 107, 0);
}
-static DRIVER_INIT( gauntlet2 )
+DRIVER_INIT_MEMBER(gauntlet_state,gauntlet2)
{
- gauntlet_common_init(machine, 106, 0);
+ gauntlet_common_init(machine(), 106, 0);
}
-static DRIVER_INIT( vindctr2 )
+DRIVER_INIT_MEMBER(gauntlet_state,vindctr2)
{
- UINT8 *gfx2_base = machine.root_device().memregion("gfx2")->base();
- UINT8 *data = auto_alloc_array(machine, UINT8, 0x8000);
+ UINT8 *gfx2_base = machine().root_device().memregion("gfx2")->base();
+ UINT8 *data = auto_alloc_array(machine(), UINT8, 0x8000);
int i;
- gauntlet_common_init(machine, 118, 1);
+ gauntlet_common_init(machine(), 118, 1);
/* highly strange -- the address bits on the chip at 2J (and only that
chip) are scrambled -- this is verified on the schematics! */
@@ -1672,7 +1672,7 @@ static DRIVER_INIT( vindctr2 )
int srcoffs = (i & 0x4000) | ((i << 11) & 0x3800) | ((i >> 3) & 0x07ff);
gfx2_base[0x88000 + i] = data[srcoffs];
}
- auto_free(machine, data);
+ auto_free(machine(), data);
}
diff --git a/src/mame/drivers/gberet.c b/src/mame/drivers/gberet.c
index 62b05137fcc..df21ed3f554 100644
--- a/src/mame/drivers/gberet.c
+++ b/src/mame/drivers/gberet.c
@@ -571,10 +571,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( mrgoemon )
+DRIVER_INIT_MEMBER(gberet_state,mrgoemon)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x800);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x800);
}
@@ -584,7 +584,7 @@ static DRIVER_INIT( mrgoemon )
*
*************************************/
-GAME( 1985, gberet, 0, gberet, gberet, gberet_state, 0, ROT0, "Konami", "Green Beret", GAME_SUPPORTS_SAVE )
-GAME( 1985, rushatck, gberet, gberet, gberet, gberet_state, 0, ROT0, "Konami", "Rush'n Attack (US)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gberetb, gberet, gberetb, gberetb, gberet_state, 0, ROT0, "bootleg", "Green Beret (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gberet, 0, gberet, gberet, driver_device, 0, ROT0, "Konami", "Green Beret", GAME_SUPPORTS_SAVE )
+GAME( 1985, rushatck, gberet, gberet, gberet, driver_device, 0, ROT0, "Konami", "Rush'n Attack (US)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gberetb, gberet, gberetb, gberetb, driver_device, 0, ROT0, "bootleg", "Green Beret (bootleg)", GAME_SUPPORTS_SAVE )
GAME( 1986, mrgoemon, 0, mrgoemon, mrgoemon, gberet_state, mrgoemon, ROT0, "Konami", "Mr. Goemon (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gbusters.c b/src/mame/drivers/gbusters.c
index cd2d6aa4d0e..004eb5128b8 100644
--- a/src/mame/drivers/gbusters.c
+++ b/src/mame/drivers/gbusters.c
@@ -438,6 +438,6 @@ static KONAMI_SETLINES_CALLBACK( gbusters_banking )
}
-GAME( 1988, gbusters, 0, gbusters, gbusters, gbusters_state, 0, ROT90, "Konami", "Gang Busters (set 1)", GAME_SUPPORTS_SAVE ) /* N02 & J03 program roms */
-GAME( 1988, gbustersa, gbusters, gbusters, gbusters, gbusters_state, 0, ROT90, "Konami", "Gang Busters (set 2)", GAME_SUPPORTS_SAVE ) /* unknown region program roms */
-GAME( 1988, crazycop, gbusters, gbusters, gbusters, gbusters_state, 0, ROT90, "Konami", "Crazy Cop (Japan)", GAME_SUPPORTS_SAVE ) /* M02 & J03 program roms */
+GAME( 1988, gbusters, 0, gbusters, gbusters, driver_device, 0, ROT90, "Konami", "Gang Busters (set 1)", GAME_SUPPORTS_SAVE ) /* N02 & J03 program roms */
+GAME( 1988, gbustersa, gbusters, gbusters, gbusters, driver_device, 0, ROT90, "Konami", "Gang Busters (set 2)", GAME_SUPPORTS_SAVE ) /* unknown region program roms */
+GAME( 1988, crazycop, gbusters, gbusters, gbusters, driver_device, 0, ROT90, "Konami", "Crazy Cop (Japan)", GAME_SUPPORTS_SAVE ) /* M02 & J03 program roms */
diff --git a/src/mame/drivers/gcpinbal.c b/src/mame/drivers/gcpinbal.c
index 3b31f54aaa8..c6dd77fcb8f 100644
--- a/src/mame/drivers/gcpinbal.c
+++ b/src/mame/drivers/gcpinbal.c
@@ -502,4 +502,4 @@ ROM_END
-GAME( 1994, gcpinbal, 0, gcpinbal, gcpinbal, gcpinbal_state, 0, ROT270, "Excellent System", "Grand Cross", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1994, gcpinbal, 0, gcpinbal, gcpinbal, driver_device, 0, ROT270, "Excellent System", "Grand Cross", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gei.c b/src/mame/drivers/gei.c
index 59d09ae51dc..0f15d12109c 100644
--- a/src/mame/drivers/gei.c
+++ b/src/mame/drivers/gei.c
@@ -130,6 +130,8 @@ public:
DECLARE_WRITE8_MEMBER(lamps2_w);
DECLARE_WRITE8_MEMBER(nmi_w);
DECLARE_READ8_MEMBER(portC_r);
+ DECLARE_DRIVER_INIT(geimulti);
+ DECLARE_DRIVER_INIT(setbank);
};
@@ -1888,14 +1890,14 @@ ROM_START( sprtauth )
ROM_END
-static DRIVER_INIT( setbank )
+DRIVER_INIT_MEMBER(gei_state,setbank)
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base() + 0x2000);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base() + 0x2000);
}
-static DRIVER_INIT( geimulti )
+DRIVER_INIT_MEMBER(gei_state,geimulti)
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("bank")->base() + 0x0000);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("bank")->base() + 0x0000);
}
GAME( 1982, jokpoker, 0, gselect, gselect, gei_state, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
@@ -1904,56 +1906,56 @@ GAME( 1983, jokpokerb,jokpoker, jokpokera,gselect, gei_state, setbank, ROT0, "G
GAME( 1983, jokpokerc,jokpoker, jokpokera,gselect, gei_state, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03BI 5-10-85, Poker No Raise ICB 9-30-86)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1982, superbwl, 0, gselect, gselect, gei_state, setbank, ROT0, "Greyhound Electronics", "Super Bowl (Version 16.03B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1982, gs4002, 0, gselect, gselect, gei_state, 0, ROT0, "Greyhound Electronics", "Selection (Version 40.02TMB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1982, gs4002a, gs4002, gselect, gselect, gei_state, 0, ROT0, "Greyhound Electronics", "Selection (Version 40.02TMB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1982, amuse, 0, amuse, gepoker, gei_state, 0, ROT0, "Greyhound Electronics", "Amuse (Version 50.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1982, amuse1, amuse, amuse1, gepoker, gei_state, 0, ROT0, "Greyhound Electronics", "Amuse (Version 30.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1984, gepoker, 0, gepoker, gepoker, gei_state, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gepoker1, gepoker, gepoker, gepoker, gei_state, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gepoker2, gepoker, gepoker, gepoker, gei_state, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 3)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1984, gtsers1, 0, getrivia, getrivia, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers2, gtsers1, getrivia, getrivia, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers3, gtsers1, getrivia, getrivia, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 3)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers4, gtsers1, getrivia, getrivia, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 4)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers5, gtsers1, getrivia, getrivia, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 5)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers7, gtsers1, getrivia, getrivia, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 7)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsersa, gtsers1, getrivia, getrivia, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Alt revision questions set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsersb, gtsers1, getrivia, getrivia, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Alt revision questions set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers8, 0, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 8)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers9, gtsers8, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 9)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers10, gtsers8, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 10)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers10a,gtsers8, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 10 Alt Question Rom)",GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers11, gtsers8, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 11)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers11a,gtsers8, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 11 Alt Question Rom)",GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers12, gtsers8, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 12)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1986, gtsers14, gtsers8, findout, gt103, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 14)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1986, gtsers15, gtsers8, findout, gt103, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 15)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gt103a1, gtsers8, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Unsorted question roms)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gt103aa, gtsers8, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Alt questions 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gt103ab, gtsers8, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Alt questions 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gt103asx, gtsers8, findout, gt103a, gei_state, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Sex questions)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1985, sextriv1, 0, getrivia, sextriv1, gei_state, 0, ROT0, "Kinky Kit and Game Co.", "Sexual Trivia (Version 1.02SB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1985, sextriv2, sextriv1, getrivia, sextriv1, gei_state, 0, ROT0, "Kinky Kit and Game Co.", "Sexual Trivia (Version 1.02SB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1986, gt507uk, 0, findout, gt507uk, gei_state, 0, ROT0, "Grayhound Electronics", "Trivia (UK Version 5.07)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1986, quiz, 0, findout, quiz, gei_state, 0, ROT0, "bootleg", "Quiz (Revision 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1986, quizvid, 0, quizvid, quiz, gei_state, 0, ROT0, "bootleg", "Video Quiz", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1986, reelfun, 0, findout, reelfun, gei_state, 0, ROT0, "Grayhound Electronics", "Reel Fun (Version 7.03)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1986, reelfun1, reelfun, findout, reelfun, gei_state, 0, ROT0, "Grayhound Electronics", "Reel Fun (Version 7.01)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1987, findout, 0, findout, findout, gei_state, 0, ROT0, "Elettronolo", "Find Out (Version 4.04)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1986, suprpokr, 0, suprpokr, suprpokr, gei_state, 0, ROT0, "Grayhound Electronics", "Super Poker (Version 10.19S)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1986, suprpokra,suprpokr, suprpokr, suprpokr, gei_state, 0, ROT0, "Grayhound Electronics", "Super Poker (Version 10.15S)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1986, suprpokrb,suprpokr, suprpokr, suprpokr, gei_state, 0, ROT0, "Grayhound Electronics", "Super Poker (Version 10.10)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1991, quiz211, 0, findout, quiz, gei_state, 0, ROT0, "Elettronolo", "Quiz (Revision 2.11)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1982, gs4002, 0, gselect, gselect, driver_device, 0, ROT0, "Greyhound Electronics", "Selection (Version 40.02TMB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1982, gs4002a, gs4002, gselect, gselect, driver_device, 0, ROT0, "Greyhound Electronics", "Selection (Version 40.02TMB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+
+GAME( 1982, amuse, 0, amuse, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Amuse (Version 50.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1982, amuse1, amuse, amuse1, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Amuse (Version 30.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+
+GAME( 1984, gepoker, 0, gepoker, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gepoker1, gepoker, gepoker, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gepoker2, gepoker, gepoker, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 3)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+
+GAME( 1984, gtsers1, 0, getrivia, getrivia, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers2, gtsers1, getrivia, getrivia, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers3, gtsers1, getrivia, getrivia, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 3)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers4, gtsers1, getrivia, getrivia, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 4)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers5, gtsers1, getrivia, getrivia, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 5)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers7, gtsers1, getrivia, getrivia, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 7)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsersa, gtsers1, getrivia, getrivia, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Alt revision questions set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsersb, gtsers1, getrivia, getrivia, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Alt revision questions set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers8, 0, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 8)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers9, gtsers8, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 9)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers10, gtsers8, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 10)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers10a,gtsers8, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 10 Alt Question Rom)",GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers11, gtsers8, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 11)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers11a,gtsers8, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 11 Alt Question Rom)",GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gtsers12, gtsers8, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 12)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1986, gtsers14, gtsers8, findout, gt103, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 14)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1986, gtsers15, gtsers8, findout, gt103, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 15)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gt103a1, gtsers8, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Unsorted question roms)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gt103aa, gtsers8, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Alt questions 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gt103ab, gtsers8, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Alt questions 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gt103asx, gtsers8, findout, gt103a, driver_device, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Sex questions)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+
+GAME( 1985, sextriv1, 0, getrivia, sextriv1, driver_device, 0, ROT0, "Kinky Kit and Game Co.", "Sexual Trivia (Version 1.02SB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1985, sextriv2, sextriv1, getrivia, sextriv1, driver_device, 0, ROT0, "Kinky Kit and Game Co.", "Sexual Trivia (Version 1.02SB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+
+GAME( 1986, gt507uk, 0, findout, gt507uk, driver_device, 0, ROT0, "Grayhound Electronics", "Trivia (UK Version 5.07)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+
+GAME( 1986, quiz, 0, findout, quiz, driver_device, 0, ROT0, "bootleg", "Quiz (Revision 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+
+GAME( 1986, quizvid, 0, quizvid, quiz, driver_device, 0, ROT0, "bootleg", "Video Quiz", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+
+GAME( 1986, reelfun, 0, findout, reelfun, driver_device, 0, ROT0, "Grayhound Electronics", "Reel Fun (Version 7.03)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1986, reelfun1, reelfun, findout, reelfun, driver_device, 0, ROT0, "Grayhound Electronics", "Reel Fun (Version 7.01)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1987, findout, 0, findout, findout, driver_device, 0, ROT0, "Elettronolo", "Find Out (Version 4.04)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+
+GAME( 1986, suprpokr, 0, suprpokr, suprpokr, driver_device, 0, ROT0, "Grayhound Electronics", "Super Poker (Version 10.19S)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1986, suprpokra,suprpokr, suprpokr, suprpokr, driver_device, 0, ROT0, "Grayhound Electronics", "Super Poker (Version 10.15S)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1986, suprpokrb,suprpokr, suprpokr, suprpokr, driver_device, 0, ROT0, "Grayhound Electronics", "Super Poker (Version 10.10)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+
+GAME( 1991, quiz211, 0, findout, quiz, driver_device, 0, ROT0, "Elettronolo", "Quiz (Revision 2.11)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1992, geimulti, 0, geimulti, geimulti, gei_state, geimulti,ROT0, "Grayhound Electronics", "GEI Multi Game", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1992, sprtauth, 0, sprtauth, sprtauth, gei_state, geimulti,ROT0, "Classic Games", "Sports Authority", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/ggconnie.c b/src/mame/drivers/ggconnie.c
index ca5f2fa1190..460d419bb59 100644
--- a/src/mame/drivers/ggconnie.c
+++ b/src/mame/drivers/ggconnie.c
@@ -31,6 +31,7 @@ public:
DECLARE_WRITE8_MEMBER(lamp_w);
DECLARE_WRITE8_MEMBER(output_w);
+ DECLARE_DRIVER_INIT(ggconnie);
};
@@ -192,9 +193,9 @@ ROM_START(ggconnie)
ROM_LOAD( "adpcm_u31.bin", 0x0000, 0x80000, CRC(de514c2b) SHA1(da73aa825d73646f556f6d4dbb46f43acf7c3357) )
ROM_END
-static DRIVER_INIT(ggconnie)
+DRIVER_INIT_MEMBER(ggconnie_state,ggconnie)
{
- DRIVER_INIT_CALL(pce);
+ init_pce();
}
GAME( 1996, ggconnie, 0, ggconnie, ggconnie, ggconnie_state, ggconnie, ROT0, "Eighting", "Go! Go! Connie chan Jaka Jaka Janken", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/ghosteo.c b/src/mame/drivers/ghosteo.c
index b0f9f864587..a291405d2ac 100644
--- a/src/mame/drivers/ghosteo.c
+++ b/src/mame/drivers/ghosteo.c
@@ -91,6 +91,8 @@ public:
DECLARE_READ32_MEMBER(touryuu_port_10000000_r);
int m_rom_pagesize;
+ DECLARE_DRIVER_INIT(touryuu);
+ DECLARE_DRIVER_INIT(bballoon);
};
@@ -715,16 +717,14 @@ ROM_START( touryuu )
ROM_LOAD( "qs1001a.u17", 0x000000, 0x80000, CRC(d13c6407) SHA1(57b14f97c7d4f9b5d9745d3571a0b7115fbe3176) )
ROM_END
-static DRIVER_INIT( bballoon )
+DRIVER_INIT_MEMBER(ghosteo_state,bballoon)
{
- ghosteo_state *state = machine.driver_data<ghosteo_state>();
- state->m_rom_pagesize = 0x200; // extra data is missing from the FLASH dumps and needs to be simulated
+ m_rom_pagesize = 0x200; // extra data is missing from the FLASH dumps and needs to be simulated
}
-static DRIVER_INIT( touryuu )
+DRIVER_INIT_MEMBER(ghosteo_state,touryuu)
{
- ghosteo_state *state = machine.driver_data<ghosteo_state>();
- state->m_rom_pagesize = 0x210;
+ m_rom_pagesize = 0x210;
}
GAME( 2003, bballoon, 0, bballoon, bballoon, ghosteo_state, bballoon, ROT0, "Eolith", "BnB Arcade", GAME_NO_SOUND )
diff --git a/src/mame/drivers/gijoe.c b/src/mame/drivers/gijoe.c
index 4f17262939c..c8db4a275a1 100644
--- a/src/mame/drivers/gijoe.c
+++ b/src/mame/drivers/gijoe.c
@@ -450,7 +450,7 @@ ROM_START( gijoej )
ROM_END
-GAME( 1992, gijoe, 0, gijoe, gijoe, gijoe_state, 0, ROT0, "Konami", "G.I. Joe (World, EAB, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1992, gijoea, gijoe, gijoe, gijoe, gijoe_state, 0, ROT0, "Konami", "G.I. Joe (World, EB8, prototype?)", GAME_SUPPORTS_SAVE )
-GAME( 1992, gijoeu, gijoe, gijoe, gijoe, gijoe_state, 0, ROT0, "Konami", "G.I. Joe (US, UAB)", GAME_SUPPORTS_SAVE )
-GAME( 1992, gijoej, gijoe, gijoe, gijoe, gijoe_state, 0, ROT0, "Konami", "G.I. Joe (Japan, JAA)", GAME_SUPPORTS_SAVE )
+GAME( 1992, gijoe, 0, gijoe, gijoe, driver_device, 0, ROT0, "Konami", "G.I. Joe (World, EAB, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1992, gijoea, gijoe, gijoe, gijoe, driver_device, 0, ROT0, "Konami", "G.I. Joe (World, EB8, prototype?)", GAME_SUPPORTS_SAVE )
+GAME( 1992, gijoeu, gijoe, gijoe, gijoe, driver_device, 0, ROT0, "Konami", "G.I. Joe (US, UAB)", GAME_SUPPORTS_SAVE )
+GAME( 1992, gijoej, gijoe, gijoe, gijoe, driver_device, 0, ROT0, "Konami", "G.I. Joe (Japan, JAA)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ginganin.c b/src/mame/drivers/ginganin.c
index c07acd4c76c..86ca063f712 100644
--- a/src/mame/drivers/ginganin.c
+++ b/src/mame/drivers/ginganin.c
@@ -375,12 +375,12 @@ ROM_END
-static DRIVER_INIT( ginganin )
+DRIVER_INIT_MEMBER(ginganin_state,ginganin)
{
UINT16 *rom;
/* main cpu patches */
- rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
/* avoid writes to rom getting to the log */
rom[0x408 / 2] = 0x6000;
rom[0x40a / 2] = 0x001c;
@@ -388,7 +388,7 @@ static DRIVER_INIT( ginganin )
/* sound cpu patches */
/* let's clear the RAM: ROM starts at 0x4000 */
- memset(machine.root_device().memregion("audiocpu")->base(), 0, 0x800);
+ memset(machine().root_device().memregion("audiocpu")->base(), 0, 0x800);
}
diff --git a/src/mame/drivers/gladiatr.c b/src/mame/drivers/gladiatr.c
index ba739cf9326..7bad1e29383 100644
--- a/src/mame/drivers/gladiatr.c
+++ b/src/mame/drivers/gladiatr.c
@@ -952,12 +952,12 @@ static void swap_block(UINT8 *src1,UINT8 *src2,int len)
}
}
-static DRIVER_INIT( gladiatr )
+DRIVER_INIT_MEMBER(gladiatr_state,gladiatr)
{
UINT8 *rom;
int i,j;
- rom = machine.root_device().memregion("gfx2")->base();
+ rom = machine().root_device().memregion("gfx2")->base();
// unpack 3bpp graphics
for (j = 3; j >= 0; j--)
{
@@ -971,7 +971,7 @@ static DRIVER_INIT( gladiatr )
swap_block(rom + 0x14000, rom + 0x18000, 0x4000);
- rom = machine.root_device().memregion("gfx3")->base();
+ rom = machine().root_device().memregion("gfx3")->base();
// unpack 3bpp graphics
for (j = 5; j >= 0; j--)
{
@@ -988,8 +988,8 @@ static DRIVER_INIT( gladiatr )
swap_block(rom + 0x24000, rom + 0x28000, 0x4000);
/* make sure bank is valid in cpu-reset */
- rom = machine.root_device().memregion("audiocpu")->base() + 0x10000;
- machine.root_device().membank("bank2")->set_base(rom);
+ rom = machine().root_device().memregion("audiocpu")->base() + 0x10000;
+ machine().root_device().membank("bank2")->set_base(rom);
}
@@ -1001,19 +1001,19 @@ READ8_MEMBER(gladiatr_state::f6a3_r)
return m_nvram[0x6a3];
}
-static DRIVER_INIT(ppking)
+DRIVER_INIT_MEMBER(gladiatr_state,ppking)
{
UINT8 *rom;
int i,j;
- rom = machine.root_device().memregion("gfx2")->base();
+ rom = machine().root_device().memregion("gfx2")->base();
// unpack 3bpp graphics
for (i = 0; i < 0x2000; i++)
{
rom[i+0x2000] = rom[i] >> 4;
}
- rom = machine.root_device().memregion("gfx3")->base();
+ rom = machine().root_device().memregion("gfx3")->base();
// unpack 3bpp graphics
for (j = 1; j >= 0; j--)
{
@@ -1023,8 +1023,7 @@ static DRIVER_INIT(ppking)
rom[i+2*j*0x2000] = rom[i+j*0x2000];
}
}
- gladiatr_state *state = machine.driver_data<gladiatr_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xf6a3,0xf6a3,read8_delegate(FUNC(gladiatr_state::f6a3_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xf6a3,0xf6a3,read8_delegate(FUNC(gladiatr_state::f6a3_r),this));
}
diff --git a/src/mame/drivers/glass.c b/src/mame/drivers/glass.c
index 3cf09fcf8a2..5085aa6a459 100644
--- a/src/mame/drivers/glass.c
+++ b/src/mame/drivers/glass.c
@@ -310,7 +310,7 @@ static void glass_ROM16_split_gfx( running_machine &machine, const char *src_reg
}
}
-static DRIVER_INIT( glass )
+DRIVER_INIT_MEMBER(glass_state,glass)
{
/*
For "gfx2" we have this memory map:
@@ -325,10 +325,10 @@ static DRIVER_INIT( glass )
*/
/* split ROM H13 */
- glass_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0000000, 0x0200000, 0x0000000, 0x0100000);
+ glass_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0000000, 0x0200000, 0x0000000, 0x0100000);
/* split ROM H11 */
- glass_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0200000, 0x0200000, 0x0200000, 0x0300000);
+ glass_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0200000, 0x0200000, 0x0200000, 0x0300000);
}
GAME( 1993, glass, 0, glass, glass, glass_state, glass, ROT0, "Gaelco", "Glass (Ver 1.1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/globalfr.c b/src/mame/drivers/globalfr.c
index fb1d77cbabc..c30b9a055f4 100644
--- a/src/mame/drivers/globalfr.c
+++ b/src/mame/drivers/globalfr.c
@@ -209,32 +209,32 @@ ROM_END
/******************************************************************************/
// standalone game or topbox?
-GAME( 199?, gl_snbev, 0, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Saturday Night Beaver (Global) (Stealth?) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, gl_snbeva, gl_snbev, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Saturday Night Beaver (Global) (Stealth?) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, gl_snbev, 0, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Saturday Night Beaver (Global) (Stealth?) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, gl_snbeva, gl_snbev, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Saturday Night Beaver (Global) (Stealth?) (set 2)",GAME_IS_SKELETON_MECHANICAL )
// standalone game or topbox?
-GAME( 199?, gl_grncl, 0, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Grid Runner Club (Global) (Stealth?) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, gl_grncla, gl_grncl, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Grid Runner Club (Global) (Stealth?) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, gl_grncl, 0, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Grid Runner Club (Global) (Stealth?) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, gl_grncla, gl_grncl, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Grid Runner Club (Global) (Stealth?) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, gl_dow, 0, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Deals On Wheels (Global) (v1.4) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_dowp, gl_dow, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Deals On Wheels (Global) (v1.4 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_dow, 0, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Deals On Wheels (Global) (v1.4) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_dowp, gl_dow, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Deals On Wheels (Global) (v1.4 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_dowcl,0, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Deals On Wheels Club (Global) (v1.6) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_dowclp,gl_dowcl,globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Deals On Wheels Club (Global) (v1.6 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_dowcl,0, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Deals On Wheels Club (Global) (v1.6) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_dowclp,gl_dowcl,globalfr, globalfr, driver_device, 0, ROT0, "Global", "Deals On Wheels Club (Global) (v1.6 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_wywh, 0, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.9) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_wywhp, gl_wywh, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.9 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_wywh24, gl_wywh, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.4) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_wywh24p,gl_wywh, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.4 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_wywh, 0, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.9) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_wywhp, gl_wywh, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.9 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_wywh24, gl_wywh, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.4) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_wywh24p,gl_wywh, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.4 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_coc, 0, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v3.0) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_cocp, gl_coc, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v3.0 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_coc29, gl_coc, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v2.9) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_coc29p,gl_coc, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v2.9 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_coc, 0, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v3.0) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_cocp, gl_coc, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v3.0 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_coc29, gl_coc, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v2.9) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_coc29p,gl_coc, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v2.9 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_uyr, 0, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Up Yer Riggin Club (Global) (v2.8) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_uyrp, gl_uyr, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Up Yer Riggin Club (Global) (v2.8 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_uyr, 0, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Up Yer Riggin Club (Global) (v2.8) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_uyrp, gl_uyr, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Up Yer Riggin Club (Global) (v2.8 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_hbh, 0, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Heartbreak Hotel (Global) (v1.0) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_hbhcl,0, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Heartbreak Hotel Club (Global) (v1.9) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_hbhclp,gl_hbhcl, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Heartbreak Hotel Club (Global) (v1.9 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_hbhcla,gl_hbhcl, globalfr, globalfr, globalfr_state, 0, ROT0, "Global", "Heartbreak Hotel Club (Global) (Set 2) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_hbh, 0, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Heartbreak Hotel (Global) (v1.0) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_hbhcl,0, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Heartbreak Hotel Club (Global) (v1.9) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_hbhclp,gl_hbhcl, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Heartbreak Hotel Club (Global) (v1.9 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 199?, gl_hbhcla,gl_hbhcl, globalfr, globalfr, driver_device, 0, ROT0, "Global", "Heartbreak Hotel Club (Global) (Set 2) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/globalvr.c b/src/mame/drivers/globalvr.c
index 6c9593a719d..dbe5b410d0a 100644
--- a/src/mame/drivers/globalvr.c
+++ b/src/mame/drivers/globalvr.c
@@ -142,17 +142,17 @@ ROM_END
/* OS/Global VR specific Setup Installers */
-GAME( 2002, hyperv2, 0, globalvr, globalvr, globalvr_state, 0, ROT0, "Global VR", "Hyper V2 (Global VR) Install - 06/12/02", GAME_IS_SKELETON )
-GAME( 2001, hyperv2a, 0, globalvr, globalvr, globalvr_state, 0, ROT0, "Global VR", "Hyper V2 (Global VR) Install - 09/30/01", GAME_IS_SKELETON )
-GAME( 2001, gvrxpsys, 0, globalvr, globalvr, globalvr_state, 0, ROT0, "Global VR", "Global VR XP OS Install - 09/30/01", GAME_IS_SKELETON )
-GAME( 2002, gvrxpsup, 0, globalvr, globalvr, globalvr_state, 0, ROT0, "Global VR", "Global VR XP OS Update/Install - 06/11/02", GAME_IS_SKELETON )
+GAME( 2002, hyperv2, 0, globalvr, globalvr, driver_device, 0, ROT0, "Global VR", "Hyper V2 (Global VR) Install - 06/12/02", GAME_IS_SKELETON )
+GAME( 2001, hyperv2a, 0, globalvr, globalvr, driver_device, 0, ROT0, "Global VR", "Hyper V2 (Global VR) Install - 09/30/01", GAME_IS_SKELETON )
+GAME( 2001, gvrxpsys, 0, globalvr, globalvr, driver_device, 0, ROT0, "Global VR", "Global VR XP OS Install - 09/30/01", GAME_IS_SKELETON )
+GAME( 2002, gvrxpsup, 0, globalvr, globalvr, driver_device, 0, ROT0, "Global VR", "Global VR XP OS Update/Install - 06/11/02", GAME_IS_SKELETON )
/* Game Installer CDs */
-GAME( 2000, bhead2k, 0, globalvr, globalvr, globalvr_state, 0, ROT0, "Gloval VR", "Beach Head 2000 Install - 05/27/03", GAME_IS_SKELETON )
-GAME( 2000, bhead2ka, 0, globalvr, globalvr, globalvr_state, 0, ROT0, "Gloval VR", "Beach Head 2000 Install - 09/16/01", GAME_IS_SKELETON )
-GAME( 2002, bhead2k2, 0, globalvr, globalvr, globalvr_state, 0, ROT0, "Gloval VR", "Beach Head 2002 Install - 05/27/03", GAME_IS_SKELETON )
-GAME( 2003, bhead2k3, 0, globalvr, globalvr, globalvr_state, 0, ROT0, "Gloval VR", "Beach Head 2003 Desert War Install - 05/27/03", GAME_IS_SKELETON )
-GAME( 2005, nfsug, 0, globalvr, globalvr, globalvr_state, 0, ROT0, "Gloval VR", "Need For Speed: Underground Install (2 Discs) (v1.1)", GAME_IS_SKELETON )
+GAME( 2000, bhead2k, 0, globalvr, globalvr, driver_device, 0, ROT0, "Gloval VR", "Beach Head 2000 Install - 05/27/03", GAME_IS_SKELETON )
+GAME( 2000, bhead2ka, 0, globalvr, globalvr, driver_device, 0, ROT0, "Gloval VR", "Beach Head 2000 Install - 09/16/01", GAME_IS_SKELETON )
+GAME( 2002, bhead2k2, 0, globalvr, globalvr, driver_device, 0, ROT0, "Gloval VR", "Beach Head 2002 Install - 05/27/03", GAME_IS_SKELETON )
+GAME( 2003, bhead2k3, 0, globalvr, globalvr, driver_device, 0, ROT0, "Gloval VR", "Beach Head 2003 Desert War Install - 05/27/03", GAME_IS_SKELETON )
+GAME( 2005, nfsug, 0, globalvr, globalvr, driver_device, 0, ROT0, "Gloval VR", "Need For Speed: Underground Install (2 Discs) (v1.1)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/gng.c b/src/mame/drivers/gng.c
index e9c7bcf0ad0..9bcaa1da31e 100644
--- a/src/mame/drivers/gng.c
+++ b/src/mame/drivers/gng.c
@@ -735,21 +735,20 @@ READ8_MEMBER(gng_state::diamond_hack_r)
return 0;
}
-static DRIVER_INIT( diamond )
+DRIVER_INIT_MEMBER(gng_state,diamond)
{
- gng_state *state = machine.driver_data<gng_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6000, 0x6000, read8_delegate(FUNC(gng_state::diamond_hack_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6000, 0x6000, read8_delegate(FUNC(gng_state::diamond_hack_r),this));
}
-GAME( 1985, gng, 0, gng, gng, gng_state, 0, ROT0, "Capcom", "Ghosts'n Goblins (World? set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gnga, gng, gng, gng, gng_state, 0, ROT0, "Capcom", "Ghosts'n Goblins (World? set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gngbl, gng, gng, gng, gng_state, 0, ROT0, "bootleg", "Ghosts'n Goblins (bootleg with Cross)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gngblita, gng, gng, gng, gng_state, 0, ROT0, "bootleg", "Ghosts'n Goblins (Italian bootleg, harder)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gngc, gng, gng, gng, gng_state, 0, ROT0, "Capcom", "Ghosts'n Goblins (World? set 3)", GAME_SUPPORTS_SAVE ) // rev c?
-GAME( 1985, gngt, gng, gng, gng, gng_state, 0, ROT0, "Capcom (Taito America license)", "Ghosts'n Goblins (US)", GAME_SUPPORTS_SAVE )
-GAME( 1985, makaimur, gng, gng, makaimur, gng_state, 0, ROT0, "Capcom", "Makai-Mura (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, makaimurc, gng, gng, makaimur, gng_state, 0, ROT0, "Capcom", "Makai-Mura (Japan Revision C)", GAME_SUPPORTS_SAVE )
-GAME( 1985, makaimurg, gng, gng, makaimur, gng_state, 0, ROT0, "Capcom", "Makai-Mura (Japan Revision G)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gng, 0, gng, gng, driver_device, 0, ROT0, "Capcom", "Ghosts'n Goblins (World? set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gnga, gng, gng, gng, driver_device, 0, ROT0, "Capcom", "Ghosts'n Goblins (World? set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gngbl, gng, gng, gng, driver_device, 0, ROT0, "bootleg", "Ghosts'n Goblins (bootleg with Cross)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gngblita, gng, gng, gng, driver_device, 0, ROT0, "bootleg", "Ghosts'n Goblins (Italian bootleg, harder)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gngc, gng, gng, gng, driver_device, 0, ROT0, "Capcom", "Ghosts'n Goblins (World? set 3)", GAME_SUPPORTS_SAVE ) // rev c?
+GAME( 1985, gngt, gng, gng, gng, driver_device, 0, ROT0, "Capcom (Taito America license)", "Ghosts'n Goblins (US)", GAME_SUPPORTS_SAVE )
+GAME( 1985, makaimur, gng, gng, makaimur, driver_device, 0, ROT0, "Capcom", "Makai-Mura (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, makaimurc, gng, gng, makaimur, driver_device, 0, ROT0, "Capcom", "Makai-Mura (Japan Revision C)", GAME_SUPPORTS_SAVE )
+GAME( 1985, makaimurg, gng, gng, makaimur, driver_device, 0, ROT0, "Capcom", "Makai-Mura (Japan Revision G)", GAME_SUPPORTS_SAVE )
GAME( 1989, diamond, 0, gng, diamond, gng_state, diamond, ROT0, "KH Video", "Diamond Run", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/go2000.c b/src/mame/drivers/go2000.c
index be2f1796a5f..cb586f8b776 100644
--- a/src/mame/drivers/go2000.c
+++ b/src/mame/drivers/go2000.c
@@ -367,4 +367,4 @@ ROM_START( go2000 )
ROM_END
-GAME( 2000, go2000, 0, go2000, go2000, go2000_state, 0, ROT0, "SA", "Go 2000", GAME_SUPPORTS_SAVE )
+GAME( 2000, go2000, 0, go2000, go2000, driver_device, 0, ROT0, "SA", "Go 2000", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/goal92.c b/src/mame/drivers/goal92.c
index 2af577f11e2..786e25a983c 100644
--- a/src/mame/drivers/goal92.c
+++ b/src/mame/drivers/goal92.c
@@ -418,4 +418,4 @@ ROM_END
-GAME( 1992, goal92, cupsoc, goal92, goal92, goal92_state, 0, ROT0, "bootleg", "Goal! '92", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1992, goal92, cupsoc, goal92, goal92, driver_device, 0, ROT0, "bootleg", "Goal! '92", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/goindol.c b/src/mame/drivers/goindol.c
index 73b78b1266c..b51d7b3e9a2 100644
--- a/src/mame/drivers/goindol.c
+++ b/src/mame/drivers/goindol.c
@@ -381,9 +381,9 @@ ROM_END
-static DRIVER_INIT( goindol )
+DRIVER_INIT_MEMBER(goindol_state,goindol)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
/* I hope that's all patches to avoid protection */
@@ -415,4 +415,4 @@ static DRIVER_INIT( goindol )
GAME( 1987, goindol, 0, goindol, goindol, goindol_state, goindol, ROT90, "SunA", "Goindol (World)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1987, goindolu, goindol, goindol, goindol, goindol_state, goindol, ROT90, "SunA", "Goindol (US)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1987, goindolk, goindol, goindol, goindol, goindol_state, goindol, ROT90, "SunA", "Goindol (Korea)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1987, homo, goindol, goindol, homo, goindol_state, 0, ROT90, "bootleg", "Homo", GAME_SUPPORTS_SAVE )
+GAME( 1987, homo, goindol, goindol, homo, driver_device, 0, ROT90, "bootleg", "Homo", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/goldngam.c b/src/mame/drivers/goldngam.c
index db85c05546b..95e7b6147b7 100644
--- a/src/mame/drivers/goldngam.c
+++ b/src/mame/drivers/goldngam.c
@@ -624,5 +624,5 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1990, swisspkr, 0, swisspkr, goldngam, goldngam_state, 0, ROT0, "Golden Games / C+M Technics AG", "Swiss Poker ('50 SG-.10', V2.5)", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 1998, moviecrd, 0, moviecrd, goldngam, goldngam_state, 0, ROT0, "Golden Games / C+M Technics AG", "Movie Card", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1990, swisspkr, 0, swisspkr, goldngam, driver_device, 0, ROT0, "Golden Games / C+M Technics AG", "Swiss Poker ('50 SG-.10', V2.5)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1998, moviecrd, 0, moviecrd, goldngam, driver_device, 0, ROT0, "Golden Games / C+M Technics AG", "Movie Card", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/goldnpkr.c b/src/mame/drivers/goldnpkr.c
index db5d7a6980f..9f6707a893b 100644
--- a/src/mame/drivers/goldnpkr.c
+++ b/src/mame/drivers/goldnpkr.c
@@ -977,6 +977,26 @@ public:
DECLARE_WRITE8_MEMBER(wcfalcon_snd_w);
DECLARE_WRITE8_MEMBER(lamps_a_w);
DECLARE_WRITE8_MEMBER(sound_w);
+ DECLARE_DRIVER_INIT(vkdlswwh);
+ DECLARE_DRIVER_INIT(icp1db);
+ DECLARE_DRIVER_INIT(flcnw);
+ DECLARE_DRIVER_INIT(vkdlswwp);
+ DECLARE_DRIVER_INIT(royale);
+ DECLARE_DRIVER_INIT(vkdlsww);
+ DECLARE_DRIVER_INIT(vkdlsb);
+ DECLARE_DRIVER_INIT(vkdlsc);
+ DECLARE_DRIVER_INIT(vkdlswwl);
+ DECLARE_DRIVER_INIT(vkdlswwu);
+ DECLARE_DRIVER_INIT(vkdlswwo);
+ DECLARE_DRIVER_INIT(vkdlswwa);
+ DECLARE_DRIVER_INIT(vkdlsa);
+ DECLARE_DRIVER_INIT(vkdlswwt);
+ DECLARE_DRIVER_INIT(vkdlswwd);
+ DECLARE_DRIVER_INIT(wstrike);
+ DECLARE_DRIVER_INIT(vkdlswws);
+ DECLARE_DRIVER_INIT(vkdlswwc);
+ DECLARE_DRIVER_INIT(vkdlswwr);
+ DECLARE_DRIVER_INIT(vkdlswwv);
};
@@ -9368,11 +9388,11 @@ ROM_END
sloco93a -------- fast custom complete only grid
*/
-static DRIVER_INIT( royale )
+DRIVER_INIT_MEMBER(goldnpkr_state,royale)
{
/* $60bb, NOPing the ORA #$F0 (after read the PIA1 port B */
-// UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+// UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
// ROM[0x60bb] = 0xea;
// ROM[0x60bc] = 0xea;
@@ -9397,13 +9417,13 @@ static DRIVER_INIT( royale )
***********************************************/
-static DRIVER_INIT( flcnw )
+DRIVER_INIT_MEMBER(goldnpkr_state,flcnw)
{
/* Attempt to decrypt the MCU program (we're sooo close!) */
- UINT8 *ROM = machine.root_device().memregion("mcu")->base();
- int size = machine.root_device().memregion("mcu")->bytes();
+ UINT8 *ROM = machine().root_device().memregion("mcu")->base();
+ int size = machine().root_device().memregion("mcu")->bytes();
int start = 0x0000;
int i;
@@ -9415,193 +9435,193 @@ static DRIVER_INIT( flcnw )
}
-static DRIVER_INIT( vkdlsa )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlsa)
{
/* $e097-e098, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe097] = 0xea;
ROM[0xe098] = 0xea;
}
-static DRIVER_INIT( vkdlsb )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlsb)
{
/* $e87b-e87c, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe87b] = 0xea;
ROM[0xe87c] = 0xea;
}
-static DRIVER_INIT( vkdlsc )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlsc)
{
/* $453a-453b, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x453a] = 0xea;
ROM[0x453b] = 0xea;
}
-static DRIVER_INIT( vkdlsww )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlsww)
{
/* $f2c9-f2ca, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xf2c9] = 0xea;
ROM[0xf2ca] = 0xea;
}
-static DRIVER_INIT( vkdlswwa )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwa)
{
/* $df80-df81, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xdf80] = 0xea;
ROM[0xdf81] = 0xea;
}
-static DRIVER_INIT( vkdlswwc )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwc)
{
/* $e42f-e430, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe42f] = 0xea;
ROM[0xe430] = 0xea;
}
-static DRIVER_INIT( vkdlswwd )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwd)
{
/* $e442-e443, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe442] = 0xea;
ROM[0xe443] = 0xea;
}
-static DRIVER_INIT( vkdlswwh )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwh)
{
/* $e4d5-e4d6, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe4d5] = 0xea;
ROM[0xe4d6] = 0xea;
}
-static DRIVER_INIT( vkdlswwl )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwl)
{
/* $e87c-e87d, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe87c] = 0xea;
ROM[0xe87d] = 0xea;
}
-static DRIVER_INIT( vkdlswwo )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwo)
{
/* $e7d5-e7d6, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe7d5] = 0xea;
ROM[0xe7d6] = 0xea;
}
-static DRIVER_INIT( vkdlswwp )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwp)
{
/* $e7d9-e7da, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe7d9] = 0xea;
ROM[0xe7da] = 0xea;
}
-static DRIVER_INIT( vkdlswwr )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwr)
{
/* $e7f7-e7f8, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe7f7] = 0xea;
ROM[0xe7f8] = 0xea;
}
-static DRIVER_INIT( vkdlswws )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswws)
{
/* $e8a5-e8a6, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe8a5] = 0xea;
ROM[0xe8a6] = 0xea;
}
-static DRIVER_INIT( vkdlswwt )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwt)
{
/* $e955-e956, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xe955] = 0xea;
ROM[0xe956] = 0xea;
}
-static DRIVER_INIT( vkdlswwu )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwu)
{
/* $ee6b-ee6c, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xee6b] = 0xea;
ROM[0xee6c] = 0xea;
}
-static DRIVER_INIT( vkdlswwv )
+DRIVER_INIT_MEMBER(goldnpkr_state,vkdlswwv)
{
/* $f052-f053, NOPing the BNE-->KILL
after compare with Dallas TK data
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xf052] = 0xea;
ROM[0xf053] = 0xea;
@@ -9683,7 +9703,7 @@ static DRIVER_INIT( vkdlswwv )
***********************************************/
-static DRIVER_INIT( icp1db )
+DRIVER_INIT_MEMBER(goldnpkr_state,icp1db)
{
/* nothing yet... */
}
@@ -9727,13 +9747,13 @@ static DRIVER_INIT( icp1db )
***********************************************/
-static DRIVER_INIT( wstrike )
+DRIVER_INIT_MEMBER(goldnpkr_state,wstrike)
{
/* NOPing the BNE --> $F2EA (KILL)
after compare with a string inside the Dallas TK RAM
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0xf2e1] = 0xea;
ROM[0xf2e2] = 0xea;
@@ -9745,42 +9765,42 @@ static DRIVER_INIT( wstrike )
*********************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1981, goldnpkr, 0, goldnpkr, goldnpkr, goldnpkr_state, 0, ROT0, "Bonanza Enterprises, Ltd", "Golden Poker Double Up (Big Boy)", 0, layout_goldnpkr )
-GAMEL( 1981, goldnpkb, goldnpkr, goldnpkr, goldnpkr, goldnpkr_state, 0, ROT0, "Bonanza Enterprises, Ltd", "Golden Poker Double Up (Mini Boy)", 0, layout_goldnpkr )
-
-GAMEL( 198?, pottnpkr, 0, pottnpkr, pottnpkr, goldnpkr_state, 0, ROT0, "bootleg", "Jack Potten's Poker (set 1)", 0, layout_goldnpkr )
-GAMEL( 198?, potnpkra, pottnpkr, pottnpkr, potnpkra, goldnpkr_state, 0, ROT0, "bootleg", "Jack Potten's Poker (set 2)", 0, layout_goldnpkr )
-GAMEL( 198?, potnpkrb, pottnpkr, pottnpkr, pottnpkr, goldnpkr_state, 0, ROT0, "bootleg", "Jack Potten's Poker (set 3)", 0, layout_goldnpkr )
-GAMEL( 198?, potnpkrc, pottnpkr, pottnpkr, potnpkrc, goldnpkr_state, 0, ROT0, "bootleg", "Jack Potten's Poker (set 4)", 0, layout_goldnpkr )
-GAMEL( 198?, potnpkrd, pottnpkr, pottnpkr, potnpkrc, goldnpkr_state, 0, ROT0, "bootleg", "Jack Potten's Poker (set 5)", 0, layout_goldnpkr )
-GAMEL( 198?, potnpkre, pottnpkr, pottnpkr, pottnpkr, goldnpkr_state, 0, ROT0, "bootleg", "Jack Potten's Poker (set 6)", 0, layout_goldnpkr )
-GAMEL( 198?, superdbl, pottnpkr, goldnpkr, goldnpkr, goldnpkr_state, 0, ROT0, "Karateco", "Super Double (French)", 0, layout_goldnpkr )
-GAMEL( 198?, ngold, pottnpkr, pottnpkr, ngold, goldnpkr_state, 0, ROT0, "<unknown>", "Jack Potten's Poker (NGold, set 1)", 0, layout_goldnpkr )
-GAMEL( 198?, ngolda, pottnpkr, pottnpkr, ngold, goldnpkr_state, 0, ROT0, "<unknown>", "Jack Potten's Poker (NGold, set 2)", 0, layout_goldnpkr )
-GAMEL( 198?, ngoldb, pottnpkr, pottnpkr, ngold, goldnpkr_state, 0, ROT0, "<unknown>", "Jack Potten's Poker (NGold, set 3)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr )
+GAMEL( 1981, goldnpkr, 0, goldnpkr, goldnpkr, driver_device, 0, ROT0, "Bonanza Enterprises, Ltd", "Golden Poker Double Up (Big Boy)", 0, layout_goldnpkr )
+GAMEL( 1981, goldnpkb, goldnpkr, goldnpkr, goldnpkr, driver_device, 0, ROT0, "Bonanza Enterprises, Ltd", "Golden Poker Double Up (Mini Boy)", 0, layout_goldnpkr )
+
+GAMEL( 198?, pottnpkr, 0, pottnpkr, pottnpkr, driver_device, 0, ROT0, "bootleg", "Jack Potten's Poker (set 1)", 0, layout_goldnpkr )
+GAMEL( 198?, potnpkra, pottnpkr, pottnpkr, potnpkra, driver_device, 0, ROT0, "bootleg", "Jack Potten's Poker (set 2)", 0, layout_goldnpkr )
+GAMEL( 198?, potnpkrb, pottnpkr, pottnpkr, pottnpkr, driver_device, 0, ROT0, "bootleg", "Jack Potten's Poker (set 3)", 0, layout_goldnpkr )
+GAMEL( 198?, potnpkrc, pottnpkr, pottnpkr, potnpkrc, driver_device, 0, ROT0, "bootleg", "Jack Potten's Poker (set 4)", 0, layout_goldnpkr )
+GAMEL( 198?, potnpkrd, pottnpkr, pottnpkr, potnpkrc, driver_device, 0, ROT0, "bootleg", "Jack Potten's Poker (set 5)", 0, layout_goldnpkr )
+GAMEL( 198?, potnpkre, pottnpkr, pottnpkr, pottnpkr, driver_device, 0, ROT0, "bootleg", "Jack Potten's Poker (set 6)", 0, layout_goldnpkr )
+GAMEL( 198?, superdbl, pottnpkr, goldnpkr, goldnpkr, driver_device, 0, ROT0, "Karateco", "Super Double (French)", 0, layout_goldnpkr )
+GAMEL( 198?, ngold, pottnpkr, pottnpkr, ngold, driver_device, 0, ROT0, "<unknown>", "Jack Potten's Poker (NGold, set 1)", 0, layout_goldnpkr )
+GAMEL( 198?, ngolda, pottnpkr, pottnpkr, ngold, driver_device, 0, ROT0, "<unknown>", "Jack Potten's Poker (NGold, set 2)", 0, layout_goldnpkr )
+GAMEL( 198?, ngoldb, pottnpkr, pottnpkr, ngold, driver_device, 0, ROT0, "<unknown>", "Jack Potten's Poker (NGold, set 3)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr )
GAMEL( 1991, witchcrd, 0, witchcrd, witchcrd, goldnpkr_state, vkdlsc, ROT0, "Video Klein?", "Witch Card (Video Klein CPU box, set 1)", 0, layout_goldnpkr )
-GAME( 1991, witchcda, witchcrd, witchcrd, witchcda, goldnpkr_state, 0, ROT0, "<unknown>", "Witch Card (Spanish, witch game, set 1)", 0 )
-GAME( 1991, witchcdb, witchcrd, witchcrd, witchcda, goldnpkr_state, 0, ROT0, "<unknown>", "Witch Card (Spanish, witch game, set 2)", 0 )
-GAME( 1991, witchcdc, witchcrd, witchcrd, witchcdc, goldnpkr_state, 0, ROT0, "<unknown>", "Witch Card (English, no witch game)", 0 )
-GAMEL( 1994, witchcdd, witchcrd, witchcrd, witchcdd, goldnpkr_state, 0, ROT0, "Proma", "Witch Card (German, WC3050, set 1 )", 0, layout_goldnpkr )
+GAME( 1991, witchcda, witchcrd, witchcrd, witchcda, driver_device, 0, ROT0, "<unknown>", "Witch Card (Spanish, witch game, set 1)", 0 )
+GAME( 1991, witchcdb, witchcrd, witchcrd, witchcda, driver_device, 0, ROT0, "<unknown>", "Witch Card (Spanish, witch game, set 2)", 0 )
+GAME( 1991, witchcdc, witchcrd, witchcrd, witchcdc, driver_device, 0, ROT0, "<unknown>", "Witch Card (English, no witch game)", 0 )
+GAMEL( 1994, witchcdd, witchcrd, witchcrd, witchcdd, driver_device, 0, ROT0, "Proma", "Witch Card (German, WC3050, set 1 )", 0, layout_goldnpkr )
GAMEL( 1991, witchcde, witchcrd, witchcrd, witchcrd, goldnpkr_state, vkdlsc, ROT0, "Video Klein", "Witch Card (Video Klein CPU box, set 2)", 0, layout_goldnpkr )
-GAMEL( 1985, witchcdf, witchcrd, witchcrd, witchcdf, goldnpkr_state, 0, ROT0, "PM / Beck Elektronik", "Witch Card (English, witch game, lamps)", 0, layout_goldnpkr )
-GAMEL( 199?, witchcdg, witchcrd, wcfalcon, witchcrd, goldnpkr_state, 0, ROT0, "Falcon", "Witch Card (Falcon, enhanced sound)", 0, layout_goldnpkr )
-GAMEL( 1994, witchcdh, witchcrd, witchcrd, witchcdd, goldnpkr_state, 0, ROT0, "Proma", "Witch Card (German, WC3050, set 2 )", 0, layout_goldnpkr )
-GAMEL( 1994, witchcdi, witchcrd, witchcrd, witchcdd, goldnpkr_state, 0, ROT0, "Proma", "Witch Card (German, WC3050, 27-4-94)", 0, layout_goldnpkr )
+GAMEL( 1985, witchcdf, witchcrd, witchcrd, witchcdf, driver_device, 0, ROT0, "PM / Beck Elektronik", "Witch Card (English, witch game, lamps)", 0, layout_goldnpkr )
+GAMEL( 199?, witchcdg, witchcrd, wcfalcon, witchcrd, driver_device, 0, ROT0, "Falcon", "Witch Card (Falcon, enhanced sound)", 0, layout_goldnpkr )
+GAMEL( 1994, witchcdh, witchcrd, witchcrd, witchcdd, driver_device, 0, ROT0, "Proma", "Witch Card (German, WC3050, set 2 )", 0, layout_goldnpkr )
+GAMEL( 1994, witchcdi, witchcrd, witchcrd, witchcdd, driver_device, 0, ROT0, "Proma", "Witch Card (German, WC3050, 27-4-94)", 0, layout_goldnpkr )
-GAMEL( 1991, witchgme, 0, witchcrd, witchcrd, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Game (Video Klein, set 1)", 0, layout_goldnpkr )
-GAMEL( 1997, witchcdk, witchgme, witchcrd, witchcrd, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Game (Video Klein, set 2)", GAME_NOT_WORKING, layout_goldnpkr )
+GAMEL( 1991, witchgme, 0, witchcrd, witchcrd, driver_device, 0, ROT0, "Video Klein", "Witch Game (Video Klein, set 1)", 0, layout_goldnpkr )
+GAMEL( 1997, witchcdk, witchgme, witchcrd, witchcrd, driver_device, 0, ROT0, "Video Klein", "Witch Game (Video Klein, set 2)", GAME_NOT_WORKING, layout_goldnpkr )
GAMEL( 1994, witchjol, 0, wcrdxtnd, witchjol, goldnpkr_state, vkdlsa, ROT0, "Video Klein", "Jolli Witch (Export, 6T/12T ver 1.57D)", 0, layout_goldnpkr )
GAMEL( 2001, wldwitch, 0, wcrdxtnd, wldwitch, goldnpkr_state, vkdlsww, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.84A)", 0, layout_goldnpkr ) /* Ver 184A, 2001-09-12 */
GAMEL( 1992, wldwitcha, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwa, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.57-SP)", 0, layout_goldnpkr ) /* Ver 157-SP, 1992-12-25 */
-GAMEL( 1992, wldwitchb, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, 0, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.57-TE)", GAME_NOT_WORKING, layout_goldnpkr ) /* Ver 157-TE, 1992-12-25 */
+GAMEL( 1992, wldwitchb, wldwitch, wcrdxtnd, wldwitch, driver_device, 0, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.57-TE)", GAME_NOT_WORKING, layout_goldnpkr ) /* Ver 157-TE, 1992-12-25 */
GAMEL( 1994, wldwitchc, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwc, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.62A)", 0, layout_goldnpkr ) /* Ver 162A, 1994-04-26 */
GAMEL( 1994, wldwitchd, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwd, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.62B)", 0, layout_goldnpkr ) /* Ver 162B, 1994-04-26 */
-GAMEL( 1994, wldwitche, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, 0, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.62A-F)", GAME_NOT_WORKING, layout_goldnpkr ) /* Ver 162A-F, 1994-04-26 */
+GAMEL( 1994, wldwitche, wldwitch, wcrdxtnd, wldwitch, driver_device, 0, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.62A-F)", GAME_NOT_WORKING, layout_goldnpkr ) /* Ver 162A-F, 1994-04-26 */
GAMEL( 1994, wldwitchf, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwc, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.62A alt)", 0, layout_goldnpkr ) /* Ver 162A alt, 1994-11-03 */
GAMEL( 1994, wldwitchg, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwd, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.62B alt)", 0, layout_goldnpkr ) /* Ver 162B alt, 1994-11-03 */
GAMEL( 1995, wldwitchh, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwh, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.65A)", 0, layout_goldnpkr ) /* Ver 165A, 1995-11-16 */
@@ -9799,76 +9819,76 @@ GAMEL( 1999, wldwitcht, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwt,
GAMEL( 2000, wldwitchu, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwu, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.79A)", 0, layout_goldnpkr ) /* Ver 179A, 2000-05-10 */
GAMEL( 2001, wldwitchv, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwv, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.83A)", 0, layout_goldnpkr ) /* Ver 183A, 2001-06-13 */
-GAMEL( 1998, wupndown, 0, wcrdxtnd, wupndown, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 1.02)", 0, layout_upndown ) /* Ver 1.02, 1998-10-26 */
-GAMEL( 1998, wupndowna, wupndown, wcrdxtnd, wupndown, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 0.99, set 1)", 0, layout_upndown ) /* Ver 0.99, 1998-04-09 */
-GAMEL( 1998, wupndownb, wupndown, wcrdxtnd, wupndown, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 0.99, set 2)", 0, layout_upndown ) /* Ver 0.99, 1998-03-23 */
-GAMEL( 1998, wupndownc, wupndown, wcrdxtnd, wupndown, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 0.99, set 3)", 0, layout_upndown ) /* Ver 0.99 alt, 1998-05-11 */
-GAMEL( 1998, wupndownd, wupndown, wcrdxtnd, wupndown, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 0.99T)", 0, layout_upndown ) /* Ver 0.99T, 1998-03-23 */
+GAMEL( 1998, wupndown, 0, wcrdxtnd, wupndown, driver_device, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 1.02)", 0, layout_upndown ) /* Ver 1.02, 1998-10-26 */
+GAMEL( 1998, wupndowna, wupndown, wcrdxtnd, wupndown, driver_device, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 0.99, set 1)", 0, layout_upndown ) /* Ver 0.99, 1998-04-09 */
+GAMEL( 1998, wupndownb, wupndown, wcrdxtnd, wupndown, driver_device, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 0.99, set 2)", 0, layout_upndown ) /* Ver 0.99, 1998-03-23 */
+GAMEL( 1998, wupndownc, wupndown, wcrdxtnd, wupndown, driver_device, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 0.99, set 3)", 0, layout_upndown ) /* Ver 0.99 alt, 1998-05-11 */
+GAMEL( 1998, wupndownd, wupndown, wcrdxtnd, wupndown, driver_device, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 0.99T)", 0, layout_upndown ) /* Ver 0.99T, 1998-03-23 */
GAMEL( 1992, wstrike, 0, wcrdxtnd, wstrike, goldnpkr_state, wstrike, ROT0, "Video Klein", "Witch Strike (Export, 6T/12T ver 1.01A)", 0, layout_goldnpkr )
GAMEL( 1992, wstrikea, wstrike, wcrdxtnd, wstrike, goldnpkr_state, wstrike, ROT0, "Video Klein", "Witch Strike (Export, 6T/12T ver 1.01B)", 0, layout_goldnpkr )
-GAMEL( 1996, wtchjack, 0, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.87-89)", 0, layout_goldnpkr ) /* Ver 0.87-89 / 1996-10-08 GFX OK */
-GAMEL( 1994, wtchjacka, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jackpot (Export, 6T/12T ver 0.25)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.25 / 1994-11-24 */
-GAMEL( 1995, wtchjackb, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.40)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.40 / 1995-02-27 */
-GAMEL( 1995, wtchjackc, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.40T)", GAME_NOT_WORKING, layout_goldnpkr ) /* Ver 0.40T / 1995-02-27 */
-GAMEL( 1995, wtchjackd, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.62)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.62 / 1995-08-02 */
-GAMEL( 1995, wtchjacke, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.64)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.64 / 1995-09-13 */
-GAMEL( 1995, wtchjackf, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.65)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.65 / 1995-10-19 */
-GAMEL( 1996, wtchjackg, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.70S)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.70S / 1996-03-26 */
-GAMEL( 1996, wtchjackh, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.70P)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.70P / 1996-03-26 */
-GAMEL( 1996, wtchjacki, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.87)", 0, layout_goldnpkr ) /* Ver 0.87 / 1996-07-16, GFX OK */
-GAMEL( 1996, wtchjackj, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.87-88)", 0, layout_goldnpkr ) /* Ver 0.87-88 / 1996-10-02, GFX OK */
-
-GAMEL( 1990, bsuerte, 0, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 1)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertea, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 2)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerteb, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 3)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertec, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 4)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerted, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 5)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertee, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 6)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertef, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 7)", 0, layout_goldnpkr )
-GAME( 1991, bsuerteg, bsuerte, witchcrd, bsuertew, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 8)", 0 )
-GAME( 1991, bsuerteh, bsuerte, witchcrd, bsuertew, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 9)", 0 )
-GAMEL( 1991, bsuertei, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 10)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertej, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 11)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertek, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 12)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertel, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 13)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertem, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 14)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerten, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 15)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerteo, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 16)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertep, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 17)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerteq, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 18)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerter, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 19)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertes, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 20)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertet, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 21)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerteu, bsuerte, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 22)", 0, layout_goldnpkr )
-GAMEL( 1991, goodluck, bsuerte, witchcrd, goodluck, goldnpkr_state, 0, ROT0, "<unknown>", "Good Luck", 0, layout_goldnpkr )
-
-GAMEL( 1991, falcnwld, 0, wildcard, wildcard, goldnpkr_state, 0, ROT0, "TVG", "Falcons Wild - Wild Card 1991 (TVG)", 0, layout_goldnpkr )
-GAMEL( 1990, falcnwlda, falcnwld, wildcard, wildcard, goldnpkr_state, 0, ROT0, "Video Klein", "Falcons Wild - World Wide Poker (Video Klein, set 1)", 0, layout_goldnpkr )
-GAMEL( 1990, falcnwldb, falcnwld, wildcard, wildcard, goldnpkr_state, 0, ROT0, "Video Klein", "Falcons Wild - World Wide Poker (Video Klein, set 2)", 0, layout_goldnpkr )
+GAMEL( 1996, wtchjack, 0, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.87-89)", 0, layout_goldnpkr ) /* Ver 0.87-89 / 1996-10-08 GFX OK */
+GAMEL( 1994, wtchjacka, wtchjack, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jackpot (Export, 6T/12T ver 0.25)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.25 / 1994-11-24 */
+GAMEL( 1995, wtchjackb, wtchjack, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.40)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.40 / 1995-02-27 */
+GAMEL( 1995, wtchjackc, wtchjack, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.40T)", GAME_NOT_WORKING, layout_goldnpkr ) /* Ver 0.40T / 1995-02-27 */
+GAMEL( 1995, wtchjackd, wtchjack, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.62)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.62 / 1995-08-02 */
+GAMEL( 1995, wtchjacke, wtchjack, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.64)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.64 / 1995-09-13 */
+GAMEL( 1995, wtchjackf, wtchjack, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.65)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.65 / 1995-10-19 */
+GAMEL( 1996, wtchjackg, wtchjack, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.70S)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.70S / 1996-03-26 */
+GAMEL( 1996, wtchjackh, wtchjack, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.70P)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr ) /* Ver 0.70P / 1996-03-26 */
+GAMEL( 1996, wtchjacki, wtchjack, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.87)", 0, layout_goldnpkr ) /* Ver 0.87 / 1996-07-16, GFX OK */
+GAMEL( 1996, wtchjackj, wtchjack, wcrdxtnd, wtchjack, driver_device, 0, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.87-88)", 0, layout_goldnpkr ) /* Ver 0.87-88 / 1996-10-02, GFX OK */
+
+GAMEL( 1990, bsuerte, 0, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 1)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertea, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 2)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuerteb, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 3)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertec, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 4)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuerted, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 5)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertee, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 6)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertef, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 7)", 0, layout_goldnpkr )
+GAME( 1991, bsuerteg, bsuerte, witchcrd, bsuertew, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 8)", 0 )
+GAME( 1991, bsuerteh, bsuerte, witchcrd, bsuertew, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 9)", 0 )
+GAMEL( 1991, bsuertei, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 10)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertej, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 11)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertek, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 12)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertel, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 13)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertem, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 14)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuerten, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 15)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuerteo, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 16)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertep, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 17)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuerteq, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 18)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuerter, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 19)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertes, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 20)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuertet, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 21)", 0, layout_goldnpkr )
+GAMEL( 1991, bsuerteu, bsuerte, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 22)", 0, layout_goldnpkr )
+GAMEL( 1991, goodluck, bsuerte, witchcrd, goodluck, driver_device, 0, ROT0, "<unknown>", "Good Luck", 0, layout_goldnpkr )
+
+GAMEL( 1991, falcnwld, 0, wildcard, wildcard, driver_device, 0, ROT0, "TVG", "Falcons Wild - Wild Card 1991 (TVG)", 0, layout_goldnpkr )
+GAMEL( 1990, falcnwlda, falcnwld, wildcard, wildcard, driver_device, 0, ROT0, "Video Klein", "Falcons Wild - World Wide Poker (Video Klein, set 1)", 0, layout_goldnpkr )
+GAMEL( 1990, falcnwldb, falcnwld, wildcard, wildcard, driver_device, 0, ROT0, "Video Klein", "Falcons Wild - World Wide Poker (Video Klein, set 2)", 0, layout_goldnpkr )
GAME( 1983, falcnwldc, falcnwld, wildcrdb, wildcard, goldnpkr_state, flcnw, ROT0, "Falcon", "Falcons Wild - World Wide Poker (Falcon original)", GAME_NOT_WORKING )
/*************************************** OTHER SETS ***************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1981, pmpoker, 0, goldnpkr, pmpoker, goldnpkr_state, 0, ROT0, "PM / Beck Elektronik", "PlayMan Poker (German)", 0, layout_pmpoker )
+GAMEL( 1981, pmpoker, 0, goldnpkr, pmpoker, driver_device, 0, ROT0, "PM / Beck Elektronik", "PlayMan Poker (German)", 0, layout_pmpoker )
GAMEL( 198?, royale, 0, goldnpkr, royale, goldnpkr_state, royale, ROT0, "<unknown>", "Royale (set 1)", GAME_NOT_WORKING, layout_goldnpkr )
GAMEL( 198?, royalea, royale, goldnpkr, royale, goldnpkr_state, royale, ROT0, "<unknown>", "Royale (set 2)", GAME_NOT_WORKING, layout_goldnpkr )
-GAME( 1993, sloco93, 0, witchcrd, sloco93, goldnpkr_state, 0, ROT0, "<unknown>", "Super Loco 93 (Spanish, set 1)", 0 )
-GAME( 1993, sloco93a, sloco93, witchcrd, sloco93, goldnpkr_state, 0, ROT0, "<unknown>", "Super Loco 93 (Spanish, set 2)", 0 )
-GAME( 198?, maverik, 0, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Maverik", 0 )
-GAMEL( 1986, brasil86, 0, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Brasil 86", 0, layout_goldnpkr )
-GAMEL( 1987, brasil87, 0, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Brasil 87", 0, layout_goldnpkr )
-GAMEL( 1989, brasil89, 0, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Brasil 89 (set 1)", 0, layout_goldnpkr )
-GAMEL( 1989, brasil89a, brasil89, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Brasil 89 (set 2)", 0, layout_goldnpkr )
-GAME( 1993, brasil93, 0, witchcrd, bsuerte, goldnpkr_state, 0, ROT0, "<unknown>", "Brasil 93", 0 ) // no lamps
-GAME( 1991, poker91, 0, witchcrd, poker91, goldnpkr_state, 0, ROT0, "<unknown>", "Poker 91", 0 )
-GAME( 198?, genie, 0, genie, genie, goldnpkr_state, 0, ROT0, "Video Fun Games Ltd.", "Genie", 0 )
-GAMEL( 1983, silverga, 0, goldnpkr, goldnpkr, goldnpkr_state, 0, ROT0, "<unknown>", "Silver Game", 0, layout_goldnpkr )
-GAME( 1987, caspoker, 0, goldnpkr, caspoker, goldnpkr_state, 0, ROT0, "PM / Beck Elektronik", "Casino Poker (Ver PM86LO-35-5, German)", GAME_IMPERFECT_COLORS )
-
-GAME( 198?, pokerdub, 0, pottnpkr, goldnpkr, goldnpkr_state, 0, ROT0, "<unknown>", "unknown French poker game", GAME_NOT_WORKING ) // lacks of 2nd program ROM.
+GAME( 1993, sloco93, 0, witchcrd, sloco93, driver_device, 0, ROT0, "<unknown>", "Super Loco 93 (Spanish, set 1)", 0 )
+GAME( 1993, sloco93a, sloco93, witchcrd, sloco93, driver_device, 0, ROT0, "<unknown>", "Super Loco 93 (Spanish, set 2)", 0 )
+GAME( 198?, maverik, 0, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Maverik", 0 )
+GAMEL( 1986, brasil86, 0, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Brasil 86", 0, layout_goldnpkr )
+GAMEL( 1987, brasil87, 0, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Brasil 87", 0, layout_goldnpkr )
+GAMEL( 1989, brasil89, 0, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Brasil 89 (set 1)", 0, layout_goldnpkr )
+GAMEL( 1989, brasil89a, brasil89, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Brasil 89 (set 2)", 0, layout_goldnpkr )
+GAME( 1993, brasil93, 0, witchcrd, bsuerte, driver_device, 0, ROT0, "<unknown>", "Brasil 93", 0 ) // no lamps
+GAME( 1991, poker91, 0, witchcrd, poker91, driver_device, 0, ROT0, "<unknown>", "Poker 91", 0 )
+GAME( 198?, genie, 0, genie, genie, driver_device, 0, ROT0, "Video Fun Games Ltd.", "Genie", 0 )
+GAMEL( 1983, silverga, 0, goldnpkr, goldnpkr, driver_device, 0, ROT0, "<unknown>", "Silver Game", 0, layout_goldnpkr )
+GAME( 1987, caspoker, 0, goldnpkr, caspoker, driver_device, 0, ROT0, "PM / Beck Elektronik", "Casino Poker (Ver PM86LO-35-5, German)", GAME_IMPERFECT_COLORS )
+
+GAME( 198?, pokerdub, 0, pottnpkr, goldnpkr, driver_device, 0, ROT0, "<unknown>", "unknown French poker game", GAME_NOT_WORKING ) // lacks of 2nd program ROM.
GAME( 198?, pokerduc, 0, goldnpkr, goldnpkr, goldnpkr_state, icp1db, ROT0, "<unknown>", "unknown encrypted poker game", GAME_NOT_WORKING ) // encrypted.
diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c
index 2a3123c5fa7..02cfc5b8bf5 100644
--- a/src/mame/drivers/goldstar.c
+++ b/src/mame/drivers/goldstar.c
@@ -8433,10 +8433,10 @@ YM2203
*/
/* is this the original Magical Odds? */
-static DRIVER_INIT(magoddsc)
+DRIVER_INIT_MEMBER(goldstar_state,magoddsc)
{
int A;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0x8000;A++)
{
@@ -10058,10 +10058,10 @@ ROM_END
/*********************************************************************************************************************/
-static DRIVER_INIT(goldstar)
+DRIVER_INIT_MEMBER(goldstar_state,goldstar)
{
int A;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0x10000;A++)
{
@@ -10144,10 +10144,10 @@ static UINT8 chry10_decrypt(UINT8 cipherText)
return cipherText ^ (BIT(cipherText, 4) << 3) ^ (BIT(cipherText, 1) << 5) ^ (BIT(cipherText, 6) << 7);
}
-static DRIVER_INIT( chry10 )
+DRIVER_INIT_MEMBER(goldstar_state,chry10)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- int size = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ int size = machine().root_device().memregion("maincpu")->bytes();
int start = 0;
int i;
@@ -10157,7 +10157,7 @@ static DRIVER_INIT( chry10 )
ROM[i] = chry10_decrypt(ROM[i]);
}
- do_blockswaps(machine, ROM);
+ do_blockswaps(machine(), ROM);
/* The game has a PIC for protection.
If the code enter to this sub, just
@@ -10165,13 +10165,13 @@ static DRIVER_INIT( chry10 )
*/
ROM[0xA5DC] = 0xc9;
- dump_to_file(machine, ROM);
+ dump_to_file(machine(), ROM);
}
-static DRIVER_INIT( cb3 )
+DRIVER_INIT_MEMBER(goldstar_state,cb3)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- int size = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ int size = machine().root_device().memregion("maincpu")->bytes();
int start = 0;
int i;
@@ -10181,16 +10181,16 @@ static DRIVER_INIT( cb3 )
ROM[i] = decrypt(ROM[i], i);
}
- do_blockswaps(machine, ROM);
- dump_to_file(machine, ROM);
+ do_blockswaps(machine(), ROM);
+ dump_to_file(machine(), ROM);
}
-static DRIVER_INIT( chrygld )
+DRIVER_INIT_MEMBER(goldstar_state,chrygld)
{
int A;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- do_blockswaps(machine, ROM);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ do_blockswaps(machine(), ROM);
// a data bitswap
for (A = 0;A < 0x10000;A++)
@@ -10200,12 +10200,12 @@ static DRIVER_INIT( chrygld )
ROM[A] = dat;
}
- dump_to_file(machine, ROM);
+ dump_to_file(machine(), ROM);
}
-static DRIVER_INIT(cm)
+DRIVER_INIT_MEMBER(goldstar_state,cm)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
/* forcing PPI mode 0 for all, and A, B & C as input.
the mixed modes 2-0 are not working properly.
@@ -10214,9 +10214,9 @@ static DRIVER_INIT(cm)
ROM[0x0025] = 0x9b;
}
-static DRIVER_INIT(cmv4)
+DRIVER_INIT_MEMBER(goldstar_state,cmv4)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
/* forcing PPI mode 0 for all, and A, B & C as input.
the mixed modes 2-0 are not working properly.
@@ -10225,9 +10225,9 @@ static DRIVER_INIT(cmv4)
ROM[0x020d] = 0x9b;
}
-static DRIVER_INIT(cmast91)
+DRIVER_INIT_MEMBER(goldstar_state,cmast91)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
/* forcing PPI mode 0 for all, and A, B & C as input.
the mixed modes 2-0 are not working properly.
@@ -10236,17 +10236,17 @@ static DRIVER_INIT(cmast91)
ROM[0x0a92] = 0x9b;
}
-static DRIVER_INIT(lucky8a)
+DRIVER_INIT_MEMBER(goldstar_state,lucky8a)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x0010] = 0x21;
}
-static DRIVER_INIT( nfb96sea )
+DRIVER_INIT_MEMBER(goldstar_state,nfb96sea)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
@@ -10276,10 +10276,10 @@ READ8_MEMBER(goldstar_state::fixedvala8_r)
{
return 0xa8;
}
-static DRIVER_INIT( schery97 )
+DRIVER_INIT_MEMBER(goldstar_state,schery97)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10293,9 +10293,8 @@ static DRIVER_INIT( schery97 )
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x1d, 0x1d, read8_delegate(FUNC(goldstar_state::fixedvala8_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x2a, 0x2a, read8_delegate(FUNC(goldstar_state::fixedvalb4_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x1d, 0x1d, read8_delegate(FUNC(goldstar_state::fixedvala8_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x2a, 0x2a, read8_delegate(FUNC(goldstar_state::fixedvalb4_r),this));
/* Oki 6295 at 0x20 */
}
@@ -10304,10 +10303,10 @@ READ8_MEMBER(goldstar_state::fixedval38_r)
return 0x38;
}
-static DRIVER_INIT( schery97a )
+DRIVER_INIT_MEMBER(goldstar_state,schery97a)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10323,8 +10322,7 @@ static DRIVER_INIT( schery97a )
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x16, 0x16, read8_delegate(FUNC(goldstar_state::fixedval38_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x16, 0x16, read8_delegate(FUNC(goldstar_state::fixedval38_r),this));
/* Oki 6295 at 0x20 */
}
@@ -10333,10 +10331,10 @@ READ8_MEMBER(goldstar_state::fixedvalea_r)
return 0xea;
}
-static DRIVER_INIT( skill98 )
+DRIVER_INIT_MEMBER(goldstar_state,skill98)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10350,8 +10348,7 @@ static DRIVER_INIT( skill98 )
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x1e, 0x1e, read8_delegate(FUNC(goldstar_state::fixedvalea_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x1e, 0x1e, read8_delegate(FUNC(goldstar_state::fixedvalea_r),this));
/* Oki 6295 at 0x20 */
}
@@ -10360,10 +10357,10 @@ READ8_MEMBER(goldstar_state::fixedval68_r)
return 0x68;
}
-static DRIVER_INIT( nfb96_c1 )
+DRIVER_INIT_MEMBER(goldstar_state,nfb96_c1)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10377,8 +10374,7 @@ static DRIVER_INIT( nfb96_c1 )
}
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x31, 0x31, read8_delegate(FUNC(goldstar_state::fixedval68_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x31, 0x31, read8_delegate(FUNC(goldstar_state::fixedval68_r),this));
}
@@ -10387,10 +10383,10 @@ READ8_MEMBER(goldstar_state::fixedval58_r)
return 0x58;
}
-static DRIVER_INIT( nfb96_c2 )
+DRIVER_INIT_MEMBER(goldstar_state,nfb96_c2)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10405,8 +10401,7 @@ static DRIVER_INIT( nfb96_c2 )
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x21, 0x21, read8_delegate(FUNC(goldstar_state::fixedval58_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x21, 0x21, read8_delegate(FUNC(goldstar_state::fixedval58_r),this));
}
READ8_MEMBER(goldstar_state::fixedval80_r)
@@ -10424,10 +10419,10 @@ READ8_MEMBER(goldstar_state::fixedvalaa_r)
return 0xaa;
}
-static DRIVER_INIT( nfb96_d )
+DRIVER_INIT_MEMBER(goldstar_state,nfb96_d)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10441,13 +10436,12 @@ static DRIVER_INIT( nfb96_d )
}
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
// nfb96b needs both of these
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x23, 0x23, read8_delegate(FUNC(goldstar_state::fixedval80_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x5a, 0x5a, read8_delegate(FUNC(goldstar_state::fixedvalaa_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x23, 0x23, read8_delegate(FUNC(goldstar_state::fixedval80_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x5a, 0x5a, read8_delegate(FUNC(goldstar_state::fixedvalaa_r),this));
// csel96b
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x6e, 0x6e, read8_delegate(FUNC(goldstar_state::fixedval96_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x6e, 0x6e, read8_delegate(FUNC(goldstar_state::fixedval96_r),this));
}
@@ -10457,10 +10451,10 @@ READ8_MEMBER(goldstar_state::fixedvalbe_r)
}
-static DRIVER_INIT( nfb96_dk )
+DRIVER_INIT_MEMBER(goldstar_state,nfb96_dk)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10474,8 +10468,7 @@ static DRIVER_INIT( nfb96_dk )
}
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x2e, 0x2e, read8_delegate(FUNC(goldstar_state::fixedvalbe_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x2e, 0x2e, read8_delegate(FUNC(goldstar_state::fixedvalbe_r),this));
}
@@ -10489,10 +10482,10 @@ READ8_MEMBER(goldstar_state::fixedval84_r)
return 0x84;
}
-static DRIVER_INIT( rp35 )
+DRIVER_INIT_MEMBER(goldstar_state,rp35)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10507,9 +10500,8 @@ static DRIVER_INIT( rp35 )
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x5e, 0x5e, read8_delegate(FUNC(goldstar_state::fixedval84_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x36, 0x36, read8_delegate(FUNC(goldstar_state::fixedval90_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x5e, 0x5e, read8_delegate(FUNC(goldstar_state::fixedval84_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x36, 0x36, read8_delegate(FUNC(goldstar_state::fixedval90_r),this));
}
READ8_MEMBER(goldstar_state::fixedvalb2_r)
@@ -10517,10 +10509,10 @@ READ8_MEMBER(goldstar_state::fixedvalb2_r)
return 0xb2;
}
-static DRIVER_INIT( rp36 )
+DRIVER_INIT_MEMBER(goldstar_state,rp36)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10536,8 +10528,7 @@ static DRIVER_INIT( rp36 )
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x34, 0x34, read8_delegate(FUNC(goldstar_state::fixedvalb2_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x34, 0x34, read8_delegate(FUNC(goldstar_state::fixedvalb2_r),this));
}
READ8_MEMBER(goldstar_state::fixedval48_r)
@@ -10545,10 +10536,10 @@ READ8_MEMBER(goldstar_state::fixedval48_r)
return 0x48;
}
-static DRIVER_INIT( rp36c3 )
+DRIVER_INIT_MEMBER(goldstar_state,rp36c3)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10564,8 +10555,7 @@ static DRIVER_INIT( rp36c3 )
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x17, 0x17, read8_delegate(FUNC(goldstar_state::fixedval48_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x17, 0x17, read8_delegate(FUNC(goldstar_state::fixedval48_r),this));
}
READ8_MEMBER(goldstar_state::fixedval09_r)
@@ -10579,10 +10569,10 @@ READ8_MEMBER(goldstar_state::fixedval74_r)
}
-static DRIVER_INIT( po33 )
+DRIVER_INIT_MEMBER(goldstar_state,po33)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10597,9 +10587,8 @@ static DRIVER_INIT( po33 )
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x32, 0x32, read8_delegate(FUNC(goldstar_state::fixedval74_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x12, 0x12, read8_delegate(FUNC(goldstar_state::fixedval09_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x32, 0x32, read8_delegate(FUNC(goldstar_state::fixedval74_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x12, 0x12, read8_delegate(FUNC(goldstar_state::fixedval09_r),this));
/* oki6295 at 0x20 */
}
@@ -10613,10 +10602,10 @@ READ8_MEMBER(goldstar_state::fixedvalc7_r)
return 0xc7;
}
-static DRIVER_INIT( match133 )
+DRIVER_INIT_MEMBER(goldstar_state,match133)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < 0x10000;i++)
{
UINT8 x = ROM[i];
@@ -10632,15 +10621,14 @@ static DRIVER_INIT( match133 )
ROM[i] = x;
}
- goldstar_state *state = machine.driver_data<goldstar_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x16, 0x16, read8_delegate(FUNC(goldstar_state::fixedvalc7_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x1a, 0x1a, read8_delegate(FUNC(goldstar_state::fixedvale4_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x16, 0x16, read8_delegate(FUNC(goldstar_state::fixedvalc7_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x1a, 0x1a, read8_delegate(FUNC(goldstar_state::fixedvale4_r),this));
}
-static DRIVER_INIT(cherrys)
+DRIVER_INIT_MEMBER(goldstar_state,cherrys)
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
unsigned char rawData[256] = {
0xCC, 0xCD, 0xCE, 0xCF, 0xC8, 0xC9, 0xCA, 0xCB, 0xC4, 0xC5, 0xC6, 0xC7,
@@ -10675,31 +10663,31 @@ static DRIVER_INIT(cherrys)
}
/* todo: remove these patches! */
-static DRIVER_INIT( unkch1 )
+DRIVER_INIT_MEMBER(goldstar_state,unkch1)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x9d52] = 0x00;
ROM[0x9d53] = 0x00;
}
-static DRIVER_INIT( unkch3 )
+DRIVER_INIT_MEMBER(goldstar_state,unkch3)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x9b86] = 0x00;
ROM[0x9b87] = 0x00;
}
-static DRIVER_INIT( unkch4 )
+DRIVER_INIT_MEMBER(goldstar_state,unkch4)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x9a6e] = 0x00;
ROM[0x9a6f] = 0x00;
}
-static DRIVER_INIT( tonypok )
+DRIVER_INIT_MEMBER(goldstar_state,tonypok)
{
// the ppi doesn't seem to work properly, so just install the inputs directly
- address_space *io = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *io = machine().device("maincpu")->memory().space(AS_IO);
io->install_read_port(0x04, 0x04, "IN0" );
io->install_read_port(0x05, 0x05, "IN1" );
io->install_read_port(0x06, 0x06, "IN2" );
@@ -10713,20 +10701,20 @@ static DRIVER_INIT( tonypok )
YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
GAME( 199?, goldstar, 0, goldstar, goldstar, goldstar_state, goldstar, ROT0, "IGS", "Golden Star", 0 )
-GAME( 199?, goldstbl, goldstar, goldstbl, goldstar, goldstar_state, 0, ROT0, "IGS", "Golden Star (Blue version)", 0 )
-GAME( 199?, moonlght, goldstar, moonlght, goldstar, goldstar_state, 0, ROT0, "bootleg", "Moon Light (bootleg of Golden Star)", 0 )
+GAME( 199?, goldstbl, goldstar, goldstbl, goldstar, driver_device, 0, ROT0, "IGS", "Golden Star (Blue version)", 0 )
+GAME( 199?, moonlght, goldstar, moonlght, goldstar, driver_device, 0, ROT0, "bootleg", "Moon Light (bootleg of Golden Star)", 0 )
GAME( 199?, chrygld, 0, chrygld, chrygld, goldstar_state, chrygld, ROT0, "bootleg", "Cherry Gold I", 0 )
GAME( 199?, chry10, 0, chrygld, chry10, goldstar_state, chry10, ROT0, "bootleg", "Cherry 10 (bootleg with PIC16F84)", 0 )
// are these really dyna, or bootlegs?
-GAME( 199?, ncb3, 0, ncb3, ncb3, goldstar_state, 0, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, set 1)", 0 )
-GAME( 199?, cb3a, ncb3, ncb3, cb3a, goldstar_state, 0, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, set 2)", 0 )
+GAME( 199?, ncb3, 0, ncb3, ncb3, driver_device, 0, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, set 1)", 0 )
+GAME( 199?, cb3a, ncb3, ncb3, cb3a, driver_device, 0, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, set 2)", 0 )
GAME( 199?, cb3, ncb3, ncb3, ncb3, goldstar_state, cb3, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, encrypted)", 0 )
GAME( 199?, cb3b, ncb3, cherrys, ncb3, goldstar_state, cherrys, ROT0, "Dyna", "Cherry Bonus III (alt)", 0 )
GAME( 199?, cb3c, ncb3, cb3c, chrygld, goldstar_state, cb3, ROT0, "bootleg", "Cherry Bonus III (alt, set 2)", GAME_NOT_WORKING)
-GAME( 199?, cb3d, ncb3, ncb3, ncb3, goldstar_state, 0, ROT0, "bootleg", "Cherry Bonus III (set 3)", GAME_NOT_WORKING) // fix prom decode
+GAME( 199?, cb3d, ncb3, ncb3, ncb3, driver_device, 0, ROT0, "bootleg", "Cherry Bonus III (set 3)", GAME_NOT_WORKING) // fix prom decode
-GAME( 1996, cmast97, ncb3, cm97, chrygld, goldstar_state, 0, ROT0, "Dyna", "Cherry Master '97", GAME_NOT_WORKING) // fix prom decode
+GAME( 1996, cmast97, ncb3, cm97, chrygld, driver_device, 0, ROT0, "Dyna", "Cherry Master '97", GAME_NOT_WORKING) // fix prom decode
// looks like a hack of Cherry Bonus 3
GAME( 199?, chryangl, ncb3, cm, cmasterb, goldstar_state, cmv4, ROT0, "<unknown>", "Cherry Angel", GAME_NOT_WORKING )
@@ -10744,7 +10732,7 @@ GAME( 1992, cmv4, 0, cm, cmv4, goldstar_state, cmv4,
GAME( 1992, cmv4a, cmv4, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 2)", GAME_NOT_WORKING ) /* stealth game? */
GAME( 199?, cmwm, cmv4, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (Watermelon bootleg / hack)", 0 )
GAME( 1995, cmfun, cmv4, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (Fun USA v2.5 bootleg / hack)", 0 )
-GAME( 1991, cmaster, 0, cm, cmaster, goldstar_state, 0, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 1)", 0 )
+GAME( 1991, cmaster, 0, cm, cmaster, driver_device, 0, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 1)", 0 )
GAME( 1991, cmasterb, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 2)", 0 )
GAME( 1991, cmezspin, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (E-Z Spin bootleg / hack)", 0 )
GAME( 1991, cmasterc, cmaster, cmasterc, cmasterc, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 3)", 0 )
@@ -10764,23 +10752,23 @@ GAME( 1991, cmast91, 0, cmast91, cmast91, goldstar_state, cmast91,
GAME( 1992, cmast92, 0, cmast91, cmast91, goldstar_state, cmast91, ROT0, "Dyna", "Cherry Master '92", GAME_NOT_WORKING ) // no gfx roms are dumped
-GAMEL( 1989, lucky8, 0, lucky8, lucky8, goldstar_state, 0, ROT0, "Wing Co., Ltd. / GEI", "New Lucky 8 Lines (set 1, W-4)", 0, layout_lucky8 )
+GAMEL( 1989, lucky8, 0, lucky8, lucky8, driver_device, 0, ROT0, "Wing Co., Ltd. / GEI", "New Lucky 8 Lines (set 1, W-4)", 0, layout_lucky8 )
GAMEL( 1989, lucky8a, lucky8, lucky8, lucky8a, goldstar_state, lucky8a, ROT0, "Wing Co., Ltd. / GEI", "New Lucky 8 Lines (set 2, W-4)", 0, layout_lucky8 )
-GAMEL( 1989, lucky8b, lucky8, lucky8, ns8lines, goldstar_state, 0, ROT0, "Wing Co., Ltd. / GEI", "New Lucky 8 Lines (set 3, W-4, extended gfx)", 0, layout_lucky8 )
-GAMEL( 198?, ns8lines, 0, lucky8, ns8lines, goldstar_state, 0, ROT0, "<unknown>", "New Lucky 8 Lines / New Super 8 Lines (W-4)", 0, layout_lucky8 )
-GAMEL( 198?, ns8linew, 0, lucky8, ns8linew, goldstar_state, 0, ROT0, "<unknown>", "New Lucky 8 Lines / New Super 8 Lines (F-5, Witch Bonus)", 0, layout_lucky8 )
-GAMEL( 198?, kkotnoli, 0, kkotnoli, kkotnoli, goldstar_state, 0, ROT0, "hack", "Kkot No Li (Kill the Bees)", GAME_IMPERFECT_COLORS, layout_lucky8 )
-GAME( 198?, ladylinr, 0, ladylinr, ladylinr, goldstar_state, 0, ROT0, "TAB Austria", "Lady Liner", 0 )
-GAME( 198?, wcat3, 0, wcat3, lucky8, goldstar_state, 0, ROT0, "E.A.I.", "Wild Cat 3", GAME_NOT_WORKING )
+GAMEL( 1989, lucky8b, lucky8, lucky8, ns8lines, driver_device, 0, ROT0, "Wing Co., Ltd. / GEI", "New Lucky 8 Lines (set 3, W-4, extended gfx)", 0, layout_lucky8 )
+GAMEL( 198?, ns8lines, 0, lucky8, ns8lines, driver_device, 0, ROT0, "<unknown>", "New Lucky 8 Lines / New Super 8 Lines (W-4)", 0, layout_lucky8 )
+GAMEL( 198?, ns8linew, 0, lucky8, ns8linew, driver_device, 0, ROT0, "<unknown>", "New Lucky 8 Lines / New Super 8 Lines (F-5, Witch Bonus)", 0, layout_lucky8 )
+GAMEL( 198?, kkotnoli, 0, kkotnoli, kkotnoli, driver_device, 0, ROT0, "hack", "Kkot No Li (Kill the Bees)", GAME_IMPERFECT_COLORS, layout_lucky8 )
+GAME( 198?, ladylinr, 0, ladylinr, ladylinr, driver_device, 0, ROT0, "TAB Austria", "Lady Liner", 0 )
+GAME( 198?, wcat3, 0, wcat3, lucky8, driver_device, 0, ROT0, "E.A.I.", "Wild Cat 3", GAME_NOT_WORKING )
-GAME( 1985, luckylad, 0, lucky8, luckylad, goldstar_state, 0, ROT0, "Wing Co., Ltd.", "Lucky Lady (Wing, encrypted)", GAME_NOT_WORKING ) // encrypted (see notes in rom_load)...
+GAME( 1985, luckylad, 0, lucky8, luckylad, driver_device, 0, ROT0, "Wing Co., Ltd.", "Lucky Lady (Wing, encrypted)", GAME_NOT_WORKING ) // encrypted (see notes in rom_load)...
-GAMEL( 1993, bingowng, 0, bingowng, bingowng, goldstar_state, 0, ROT0, "Wing Co., Ltd.", "Bingo (set 1)", 0, layout_bingowng )
-GAMEL( 1993, bingownga, bingowng, bingownga,bingowng, goldstar_state, 0, ROT0, "Wing Co., Ltd.", "Bingo (set 2)", 0, layout_bingowng )
+GAMEL( 1993, bingowng, 0, bingowng, bingowng, driver_device, 0, ROT0, "Wing Co., Ltd.", "Bingo (set 1)", 0, layout_bingowng )
+GAMEL( 1993, bingownga, bingowng, bingownga,bingowng, driver_device, 0, ROT0, "Wing Co., Ltd.", "Bingo (set 2)", 0, layout_bingowng )
-GAME( 1992, magodds, 0, magodds, magodds, goldstar_state, 0, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 1)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, magoddsa, magodds, magodds, magodds, goldstar_state, 0, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 2)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, magoddsb, magodds, magodds, magodds, goldstar_state, 0, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 3)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, magodds, 0, magodds, magodds, driver_device, 0, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 1)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, magoddsa, magodds, magodds, magodds, driver_device, 0, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 2)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, magoddsb, magodds, magodds, magodds, driver_device, 0, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 3)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
GAME( 1991, magoddsc, magodds, magodds, magoddsc, goldstar_state, magoddsc, ROT0, "Pal Company", "Magical Odds (set 4, custom encrypted CPU block)", GAME_WRONG_COLORS | GAME_NOT_WORKING |GAME_NO_SOUND)
GAME( 1991, magoddsd, magodds, magodds, magoddsc, goldstar_state, magoddsc, ROT0, "Pal Company", "Magical Odds (set 5, custom encrypted CPU block)", GAME_WRONG_COLORS | GAME_NOT_WORKING |GAME_NO_SOUND)
@@ -10818,13 +10806,13 @@ GAME( 1996, roypok96b, roypok96, amcoe2, roypok96a, goldstar_state, rp36c3,
some sets are messy and appear to have mismatched graphic roms, they needed to be sorted out properly
*/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1996, nfb96se, nfb96, amcoe2, nfb96bl, goldstar_state, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 1)", 0 )
+GAME( 1996, nfb96se, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 1)", 0 )
GAME( 1996, nfb96sea, nfb96, amcoe2, nfb96bl, goldstar_state, nfb96sea, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 2)", GAME_WRONG_COLORS ) // encrypted program
-GAME( 1996, nfb96seb, nfb96, amcoe2, nfb96bl, goldstar_state, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 3)", GAME_WRONG_COLORS )
-GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, goldstar_state, 0, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", GAME_WRONG_COLORS )
-GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, goldstar_state, 0, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", GAME_WRONG_COLORS )
+GAME( 1996, nfb96seb, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 3)", GAME_WRONG_COLORS )
+GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", GAME_WRONG_COLORS )
+GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", GAME_WRONG_COLORS )
-GAME( 2003, nfm, 0, nfm, nfb96bl, goldstar_state, 0, ROT0, "Ming-Yang Electronic", "New Fruit Machine (Ming-Yang Electronic)", GAME_NOT_WORKING )
+GAME( 2003, nfm, 0, nfm, nfb96bl, driver_device, 0, ROT0, "Ming-Yang Electronic", "New Fruit Machine (Ming-Yang Electronic)", GAME_NOT_WORKING )
// these have 'cherry 1994' in the program roms, but also "Super Cherry / New Cherry Gold '99" probably hacks of a 1994 version of Cherry Bonus / Cherry Master (Super Cherry Master?)
GAME( 1999, unkch1, 0, unkch, unkch, goldstar_state, unkch1, ROT0, "bootleg", "New Cherry Gold '99 (bootleg of Super Cherry Master) (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/gomoku.c b/src/mame/drivers/gomoku.c
index 083141a770c..13ea576f474 100644
--- a/src/mame/drivers/gomoku.c
+++ b/src/mame/drivers/gomoku.c
@@ -178,4 +178,4 @@ ROM_END
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME
-GAME( 1981, gomoku, 0, gomoku, gomoku, gomoku_state, 0, ROT90, "Nichibutsu", "Gomoku Narabe Renju", 0 )
+GAME( 1981, gomoku, 0, gomoku, gomoku, driver_device, 0, ROT90, "Nichibutsu", "Gomoku Narabe Renju", 0 )
diff --git a/src/mame/drivers/good.c b/src/mame/drivers/good.c
index 91dfb79ae7b..c5bd19e2082 100644
--- a/src/mame/drivers/good.c
+++ b/src/mame/drivers/good.c
@@ -317,4 +317,4 @@ ROM_START( good )
ROM_LOAD16_BYTE( "grp-04", 0x40001, 0x20000, CRC(83dbbb52) SHA1(e597f3cbb54b5cdf2230ea6318f970319061e31b) )
ROM_END
-GAME( 1998, good, 0, good, good, good_state, 0, ROT0, "<unknown>", "Good (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1998, good, 0, good, good, driver_device, 0, ROT0, "<unknown>", "Good (Korea)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/goodejan.c b/src/mame/drivers/goodejan.c
index 47bd1ed7a01..da3b89c370f 100644
--- a/src/mame/drivers/goodejan.c
+++ b/src/mame/drivers/goodejan.c
@@ -465,6 +465,6 @@ ROM_START( goodejana )
ROM_LOAD( "fmj08.083", 0x000, 0x100, CRC(9657b7ad) SHA1(e9b469c2b3534593f7fe0ea19cbbf93b55957e42) )
ROM_END
-GAME( 1991, totmejan, 0, totmejan, goodejan, goodejan_state, 0, ROT0, "Seibu Kaihatsu (Tecmo license)", "Tottemo E Jong", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, goodejan, 0, goodejan, goodejan, goodejan_state, 0, ROT0, "Seibu Kaihatsu (Tecmo license)", "Good E Jong -Kachinuki Mahjong Syoukin Oh!!- (set 1)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, goodejana,goodejan, goodejan, goodejan, goodejan_state, 0, ROT0, "Seibu Kaihatsu (Tecmo license)", "Good E Jong -Kachinuki Mahjong Syoukin Oh!!- (set 2)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, totmejan, 0, totmejan, goodejan, driver_device, 0, ROT0, "Seibu Kaihatsu (Tecmo license)", "Tottemo E Jong", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, goodejan, 0, goodejan, goodejan, driver_device, 0, ROT0, "Seibu Kaihatsu (Tecmo license)", "Good E Jong -Kachinuki Mahjong Syoukin Oh!!- (set 1)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, goodejana,goodejan, goodejan, goodejan, driver_device, 0, ROT0, "Seibu Kaihatsu (Tecmo license)", "Good E Jong -Kachinuki Mahjong Syoukin Oh!!- (set 2)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/gotcha.c b/src/mame/drivers/gotcha.c
index bede90e2588..a06b0e6286a 100644
--- a/src/mame/drivers/gotcha.c
+++ b/src/mame/drivers/gotcha.c
@@ -400,5 +400,5 @@ ROM_START( ppchamp )
ROM_LOAD( "uz11", 0x00000, 0x80000, CRC(3d96274c) SHA1(c7a670af86194c370bf8fb30afbe027ab78a0227) )
ROM_END
-GAME( 1997, gotcha, 0, gotcha, gotcha, gotcha_state, 0, ROT0, "Dongsung / Para", "Got-cha Mini Game Festival", GAME_SUPPORTS_SAVE )
-GAME( 1997, ppchamp, gotcha, gotcha, gotcha, gotcha_state, 0, ROT0, "Dongsung / Para", "Pasha Pasha Champ Mini Game Festival (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1997, gotcha, 0, gotcha, gotcha, driver_device, 0, ROT0, "Dongsung / Para", "Got-cha Mini Game Festival", GAME_SUPPORTS_SAVE )
+GAME( 1997, ppchamp, gotcha, gotcha, gotcha, driver_device, 0, ROT0, "Dongsung / Para", "Pasha Pasha Champ Mini Game Festival (Korea)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c
index 2d5e94c74e7..531a1b9bad5 100644
--- a/src/mame/drivers/gottlieb.c
+++ b/src/mame/drivers/gottlieb.c
@@ -2442,41 +2442,36 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( ramtiles )
+DRIVER_INIT_MEMBER(gottlieb_state,ramtiles)
{
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
- state->m_gfxcharlo = state->m_gfxcharhi = 0;
+ m_gfxcharlo = m_gfxcharhi = 0;
}
-static DRIVER_INIT( romtiles )
+DRIVER_INIT_MEMBER(gottlieb_state,romtiles)
{
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
- state->m_gfxcharlo = state->m_gfxcharhi = 1;
+ m_gfxcharlo = m_gfxcharhi = 1;
}
-static DRIVER_INIT( stooges )
+DRIVER_INIT_MEMBER(gottlieb_state,stooges)
{
DRIVER_INIT_CALL(ramtiles);
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x05803, 0x05803, 0, 0x07f8, write8_delegate(FUNC(gottlieb_state::stooges_output_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x05803, 0x05803, 0, 0x07f8, write8_delegate(FUNC(gottlieb_state::stooges_output_w),this));
}
-static DRIVER_INIT( screwloo )
+DRIVER_INIT_MEMBER(gottlieb_state,screwloo)
{
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
- state->m_gfxcharlo = 0;
- state->m_gfxcharhi = 1;
+ m_gfxcharlo = 0;
+ m_gfxcharhi = 1;
}
-static DRIVER_INIT( vidvince )
+DRIVER_INIT_MEMBER(gottlieb_state,vidvince)
{
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
- state->m_gfxcharlo = 1;
- state->m_gfxcharhi = 0;
+ m_gfxcharlo = 1;
+ m_gfxcharhi = 0;
}
diff --git a/src/mame/drivers/gotya.c b/src/mame/drivers/gotya.c
index ccb94c3e8bc..3f6ca9ba81c 100644
--- a/src/mame/drivers/gotya.c
+++ b/src/mame/drivers/gotya.c
@@ -285,5 +285,5 @@ ROM_START( gotya )
ROM_LOAD( "gb-07.bin", 0x3000, 0x1000, CRC(92a9f8bf) SHA1(9231cd86f24f1e6a585c3a919add50c1f8e42a4c) )
ROM_END
-GAME( 1981, thehand, 0, gotya, gotya, gotya_state, 0, ROT270, "T.I.C.", "The Hand", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, gotya, thehand, gotya, gotya, gotya_state, 0, ROT270, "Game-A-Tron", "Got-Ya (12/24/1981, prototype?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, thehand, 0, gotya, gotya, driver_device, 0, ROT270, "T.I.C.", "The Hand", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, gotya, thehand, gotya, gotya, driver_device, 0, ROT270, "Game-A-Tron", "Got-Ya (12/24/1981, prototype?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gp_1.c b/src/mame/drivers/gp_1.c
index 98e7857c05d..0f26c8bcc22 100644
--- a/src/mame/drivers/gp_1.c
+++ b/src/mame/drivers/gp_1.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(gp_1);
};
@@ -35,7 +37,7 @@ void gp_1_state::machine_reset()
{
}
-static DRIVER_INIT( gp_1 )
+DRIVER_INIT_MEMBER(gp_1_state,gp_1)
{
}
diff --git a/src/mame/drivers/gp_2.c b/src/mame/drivers/gp_2.c
index bc263cc7c42..c2aba19e5b5 100644
--- a/src/mame/drivers/gp_2.c
+++ b/src/mame/drivers/gp_2.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(gp_2);
};
@@ -35,7 +37,7 @@ void gp_2_state::machine_reset()
{
}
-static DRIVER_INIT( gp_2 )
+DRIVER_INIT_MEMBER(gp_2_state,gp_2)
{
}
diff --git a/src/mame/drivers/gpworld.c b/src/mame/drivers/gpworld.c
index 1fd9876d022..bff0ccf8876 100644
--- a/src/mame/drivers/gpworld.c
+++ b/src/mame/drivers/gpworld.c
@@ -69,6 +69,7 @@ public:
DECLARE_WRITE8_MEMBER(misc_io_write);
DECLARE_WRITE8_MEMBER(brake_gas_write);
DECLARE_WRITE8_MEMBER(palette_write);
+ DECLARE_DRIVER_INIT(gpworld);
};
@@ -522,13 +523,12 @@ ROM_START( gpworld )
ROM_END
-static DRIVER_INIT( gpworld )
+DRIVER_INIT_MEMBER(gpworld_state,gpworld)
{
- gpworld_state *state = machine.driver_data<gpworld_state>();
- state->m_nmi_enable = 0;
- state->m_start_lamp = 0;
- state->m_brake_gas = 0;
- state->m_ldp_write_latch = state->m_ldp_read_latch = 0;
+ m_nmi_enable = 0;
+ m_start_lamp = 0;
+ m_brake_gas = 0;
+ m_ldp_write_latch = m_ldp_read_latch = 0;
}
diff --git a/src/mame/drivers/gradius3.c b/src/mame/drivers/gradius3.c
index 98cdc818647..18170f6e27e 100644
--- a/src/mame/drivers/gradius3.c
+++ b/src/mame/drivers/gradius3.c
@@ -503,6 +503,6 @@ ROM_END
-GAME( 1989, gradius3, 0, gradius3, gradius3, gradius3_state, 0, ROT0, "Konami", "Gradius III (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, gradius3a, gradius3, gradius3, gradius3, gradius3_state, 0, ROT0, "Konami", "Gradius III (Asia)", GAME_SUPPORTS_SAVE )
-GAME( 1989, gradius3e, gradius3, gradius3, gradius3, gradius3_state, 0, ROT0, "Konami", "Gradius III (World ?)", GAME_SUPPORTS_SAVE )
+GAME( 1989, gradius3, 0, gradius3, gradius3, driver_device, 0, ROT0, "Konami", "Gradius III (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, gradius3a, gradius3, gradius3, gradius3, driver_device, 0, ROT0, "Konami", "Gradius III (Asia)", GAME_SUPPORTS_SAVE )
+GAME( 1989, gradius3e, gradius3, gradius3, gradius3, driver_device, 0, ROT0, "Konami", "Gradius III (World ?)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/grchamp.c b/src/mame/drivers/grchamp.c
index 933bf35122b..13c0d4bb5dc 100644
--- a/src/mame/drivers/grchamp.c
+++ b/src/mame/drivers/grchamp.c
@@ -781,4 +781,4 @@ ROM_END
*
*************************************/
-GAMEL( 1981, grchamp, 0, grchamp, grchamp, grchamp_state, 0, ROT270, "Taito", "Grand Champion", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS, layout_grchamp )
+GAMEL( 1981, grchamp, 0, grchamp, grchamp, driver_device, 0, ROT270, "Taito", "Grand Champion", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS, layout_grchamp )
diff --git a/src/mame/drivers/gridlee.c b/src/mame/drivers/gridlee.c
index ccad1ca5418..5e8cc258168 100644
--- a/src/mame/drivers/gridlee.c
+++ b/src/mame/drivers/gridlee.c
@@ -490,4 +490,4 @@ ROM_END
*
*************************************/
-GAME( 1983, gridlee, 0, gridlee, gridlee, gridlee_state, 0, ROT0, "Videa", "Gridlee", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1983, gridlee, 0, gridlee, gridlee, driver_device, 0, ROT0, "Videa", "Gridlee", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/groundfx.c b/src/mame/drivers/groundfx.c
index 18a059c9359..0461e40108c 100644
--- a/src/mame/drivers/groundfx.c
+++ b/src/mame/drivers/groundfx.c
@@ -450,16 +450,15 @@ READ32_MEMBER(groundfx_state::irq_speedup_r_groundfx)
}
-static DRIVER_INIT( groundfx )
+DRIVER_INIT_MEMBER(groundfx_state,groundfx)
{
UINT32 offset,i;
- UINT8 *gfx = machine.root_device().memregion("gfx3")->base();
- int size=machine.root_device().memregion("gfx3")->bytes();
+ UINT8 *gfx = machine().root_device().memregion("gfx3")->base();
+ int size=machine().root_device().memregion("gfx3")->bytes();
int data;
/* Speedup handlers */
- groundfx_state *state = machine.driver_data<groundfx_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x20b574, 0x20b577, read32_delegate(FUNC(groundfx_state::irq_speedup_r_groundfx),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x20b574, 0x20b577, read32_delegate(FUNC(groundfx_state::irq_speedup_r_groundfx),this));
/* make piv tile GFX format suitable for gfxdecode */
offset = size/2;
diff --git a/src/mame/drivers/gstream.c b/src/mame/drivers/gstream.c
index ddddeabde70..31304fb9d25 100644
--- a/src/mame/drivers/gstream.c
+++ b/src/mame/drivers/gstream.c
@@ -176,6 +176,7 @@ public:
DECLARE_READ32_MEMBER(gstream_speedup_r);
DECLARE_CUSTOM_INPUT_MEMBER(gstream_mirror_service_r);
DECLARE_CUSTOM_INPUT_MEMBER(gstream_mirror_r);
+ DECLARE_DRIVER_INIT(gstream);
};
@@ -645,10 +646,9 @@ READ32_MEMBER(gstream_state::gstream_speedup_r)
return m_workram[0xd1ee0 / 4];
}
-static DRIVER_INIT( gstream )
+DRIVER_INIT_MEMBER(gstream_state,gstream)
{
- gstream_state *state = machine.driver_data<gstream_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd1ee0, 0xd1ee3, read32_delegate(FUNC(gstream_state::gstream_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd1ee0, 0xd1ee3, read32_delegate(FUNC(gstream_state::gstream_speedup_r), this));
}
diff --git a/src/mame/drivers/gstriker.c b/src/mame/drivers/gstriker.c
index 76568957c20..14776234567 100644
--- a/src/mame/drivers/gstriker.c
+++ b/src/mame/drivers/gstriker.c
@@ -1020,34 +1020,31 @@ static void mcu_init( running_machine &machine )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x20008e, 0x20008f, read16_delegate(FUNC(gstriker_state::twrldc94_prot_reg_r),state));
}
-static DRIVER_INIT( twrldc94 )
+DRIVER_INIT_MEMBER(gstriker_state,twrldc94)
{
- gstriker_state *state = machine.driver_data<gstriker_state>();
- state->m_gametype = 1;
- mcu_init( machine );
+ m_gametype = 1;
+ mcu_init( machine() );
}
-static DRIVER_INIT( twrldc94a )
+DRIVER_INIT_MEMBER(gstriker_state,twrldc94a)
{
- gstriker_state *state = machine.driver_data<gstriker_state>();
- state->m_gametype = 2;
- mcu_init( machine );
+ m_gametype = 2;
+ mcu_init( machine() );
}
-static DRIVER_INIT( vgoalsoc )
+DRIVER_INIT_MEMBER(gstriker_state,vgoalsoc)
{
- gstriker_state *state = machine.driver_data<gstriker_state>();
- state->m_gametype = 3;
- mcu_init( machine );
+ m_gametype = 3;
+ mcu_init( machine() );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x200090, 0x200091, write16_delegate(FUNC(gstriker_state::vbl_toggle_w),state)); // vblank toggle
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200090, 0x200091, read16_delegate(FUNC(gstriker_state::vbl_toggle_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x200090, 0x200091, write16_delegate(FUNC(gstriker_state::vbl_toggle_w),this)); // vblank toggle
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200090, 0x200091, read16_delegate(FUNC(gstriker_state::vbl_toggle_r),this));
}
/*** GAME DRIVERS ************************************************************/
-GAME( 1993, gstriker, 0, gstriker, gstriker, gstriker_state, 0, ROT0, "Human", "Grand Striker", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, gstrikera, gstriker, gstriker, gstriker, gstriker_state, 0, ROT0, "Human", "Grand Striker (Americas)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, gstriker, 0, gstriker, gstriker, driver_device, 0, ROT0, "Human", "Grand Striker", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, gstrikera, gstriker, gstriker, gstriker, driver_device, 0, ROT0, "Human", "Grand Striker (Americas)", GAME_IMPERFECT_GRAPHICS )
/* Similar, but not identical hardware, appear to be protected by an MCU :-( */
diff --git a/src/mame/drivers/gsword.c b/src/mame/drivers/gsword.c
index 605fd38f012..152548a3984 100644
--- a/src/mame/drivers/gsword.c
+++ b/src/mame/drivers/gsword.c
@@ -898,10 +898,10 @@ ROM_START( josvolly )
ROM_LOAD( "005.3h", 0x0440, 0x0020, CRC(e8d6dec0) SHA1(d15cba9a4b24255d41046b15c2409391ab13ce95) ) /* address decoder? not used */
ROM_END
-static DRIVER_INIT( gsword )
+DRIVER_INIT_MEMBER(gsword_state,gsword)
{
#if 0
- UINT8 *ROM2 = machine.root_device().memregion("sub")->base();
+ UINT8 *ROM2 = machine().root_device().memregion("sub")->base();
ROM2[0x1da] = 0xc3; /* patch for rom self check */
ROM2[0x71e] = 0; /* patch for sound protection or time out function */
@@ -909,15 +909,14 @@ static DRIVER_INIT( gsword )
#endif
#if 1
/* hack for sound protection or time out function */
- gsword_state *state = machine.driver_data<gsword_state>();
- machine.device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x4004, 0x4005, read8_delegate(FUNC(gsword_state::gsword_hack_r),state));
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x4004, 0x4005, read8_delegate(FUNC(gsword_state::gsword_hack_r),this));
#endif
}
-static DRIVER_INIT( gsword2 )
+DRIVER_INIT_MEMBER(gsword_state,gsword2)
{
#if 0
- UINT8 *ROM2 = machine.root_device().memregion("sub")->base();
+ UINT8 *ROM2 = machine().root_device().memregion("sub")->base();
ROM2[0x1da] = 0xc3; /* patch for rom self check */
ROM2[0x726] = 0; /* patch for sound protection or time out function */
@@ -925,12 +924,11 @@ static DRIVER_INIT( gsword2 )
#endif
#if 1
/* hack for sound protection or time out function */
- gsword_state *state = machine.driver_data<gsword_state>();
- machine.device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x4004, 0x4005, read8_delegate(FUNC(gsword_state::gsword_hack_r),state));
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x4004, 0x4005, read8_delegate(FUNC(gsword_state::gsword_hack_r),this));
#endif
}
-GAME( 1983, josvolly, 0, josvolly, josvolly, gsword_state, 0, ROT90, "Taito Corporation", "Joshi Volleyball", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1983, josvolly, 0, josvolly, josvolly, driver_device, 0, ROT90, "Taito Corporation", "Joshi Volleyball", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1984, gsword, 0, gsword, gsword, gsword_state, gsword, ROT0, "Taito Corporation", "Great Swordsman (World?)", 0 )
GAME( 1984, gsword2, gsword, gsword, gsword, gsword_state, gsword2, ROT0, "Taito Corporation", "Great Swordsman (Japan?)", 0 )
diff --git a/src/mame/drivers/gticlub.c b/src/mame/drivers/gticlub.c
index 905ca00003a..7784fe6a2af 100644
--- a/src/mame/drivers/gticlub.c
+++ b/src/mame/drivers/gticlub.c
@@ -258,6 +258,8 @@ public:
DECLARE_WRITE32_MEMBER(dsp_dataram0_w);
DECLARE_READ32_MEMBER(dsp_dataram1_r);
DECLARE_WRITE32_MEMBER(dsp_dataram1_w);
+ DECLARE_DRIVER_INIT(hangplt);
+ DECLARE_DRIVER_INIT(gticlub);
};
@@ -1157,27 +1159,25 @@ ROM_START( hangplt ) /* Japan version JAB */
ROM_LOAD( "hangplt.nv", 0x0000, 0x0200, CRC(35f482c8) SHA1(445918156770449dce1a010aab9d310f15670092) )
ROM_END
-static DRIVER_INIT(gticlub)
+DRIVER_INIT_MEMBER(gticlub_state,gticlub)
{
- gticlub_state *state = machine.driver_data<gticlub_state>();
- init_konami_cgboard(machine, 1, CGBOARD_TYPE_GTICLUB);
+ init_konami_cgboard(machine(), 1, CGBOARD_TYPE_GTICLUB);
- state->m_sharc_dataram_0 = auto_alloc_array(machine, UINT32, 0x100000/4);
+ m_sharc_dataram_0 = auto_alloc_array(machine(), UINT32, 0x100000/4);
- K001005_preprocess_texture_data(state->memregion("gfx1")->base(), state->memregion("gfx1")->bytes(), 1);
+ K001005_preprocess_texture_data(memregion("gfx1")->base(), memregion("gfx1")->bytes(), 1);
}
-static DRIVER_INIT(hangplt)
+DRIVER_INIT_MEMBER(gticlub_state,hangplt)
{
- gticlub_state *state = machine.driver_data<gticlub_state>();
- init_konami_cgboard(machine, 2, CGBOARD_TYPE_HANGPLT);
- set_cgboard_texture_bank(machine, 0, "bank5", state->memregion("user5")->base());
- set_cgboard_texture_bank(machine, 1, "bank6", state->memregion("user5")->base());
+ init_konami_cgboard(machine(), 2, CGBOARD_TYPE_HANGPLT);
+ set_cgboard_texture_bank(machine(), 0, "bank5", memregion("user5")->base());
+ set_cgboard_texture_bank(machine(), 1, "bank6", memregion("user5")->base());
- state->m_sharc_dataram_0 = auto_alloc_array(machine, UINT32, 0x100000/4);
- state->m_sharc_dataram_1 = auto_alloc_array(machine, UINT32, 0x100000/4);
+ m_sharc_dataram_0 = auto_alloc_array(machine(), UINT32, 0x100000/4);
+ m_sharc_dataram_1 = auto_alloc_array(machine(), UINT32, 0x100000/4);
}
/*************************************************************************/
diff --git a/src/mame/drivers/gts1.c b/src/mame/drivers/gts1.c
index b88bda2f9fe..b4f94dd1217 100644
--- a/src/mame/drivers/gts1.c
+++ b/src/mame/drivers/gts1.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(gts1);
};
@@ -35,7 +37,7 @@ void gts1_state::machine_reset()
{
}
-static DRIVER_INIT( gts1 )
+DRIVER_INIT_MEMBER(gts1_state,gts1)
{
}
diff --git a/src/mame/drivers/gts3.c b/src/mame/drivers/gts3.c
index f7efb73026c..da6bef9b654 100644
--- a/src/mame/drivers/gts3.c
+++ b/src/mame/drivers/gts3.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(gts3);
};
@@ -35,7 +37,7 @@ void gts3_state::machine_reset()
{
}
-static DRIVER_INIT( gts3 )
+DRIVER_INIT_MEMBER(gts3_state,gts3)
{
}
diff --git a/src/mame/drivers/gts80.c b/src/mame/drivers/gts80.c
index d05b731d898..25d986ff98d 100644
--- a/src/mame/drivers/gts80.c
+++ b/src/mame/drivers/gts80.c
@@ -23,6 +23,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(gts80);
};
static ADDRESS_MAP_START( gts80_map, AS_PROGRAM, 8, gts80_state )
@@ -40,7 +42,7 @@ void gts80_state::machine_reset()
{
}
-static DRIVER_INIT( gts80 )
+DRIVER_INIT_MEMBER(gts80_state,gts80)
{
}
diff --git a/src/mame/drivers/gts80a.c b/src/mame/drivers/gts80a.c
index cf195f6c4b3..b449f73541f 100644
--- a/src/mame/drivers/gts80a.c
+++ b/src/mame/drivers/gts80a.c
@@ -24,6 +24,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(gts80a);
};
class caveman_state : public gts80a_state
@@ -64,7 +66,7 @@ void gts80a_state::machine_reset()
{
}
-static DRIVER_INIT( gts80a )
+DRIVER_INIT_MEMBER(gts80a_state,gts80a)
{
}
@@ -671,5 +673,5 @@ ROM_END
/* disp3 */GAME(1984, touchdn, 0, gts80a_s, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Touchdown", GAME_IS_SKELETON_MECHANICAL)
/* custom (+video) */
-GAME(1981, caveman, 0, caveman, caveman, caveman_state, gts80a, ROT0, "Gottlieb", "Caveman (Pinball/Video Combo, set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, cavemana, caveman, caveman, caveman, caveman_state, gts80a, ROT0, "Gottlieb", "Caveman (Pinball/Video Combo, set 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, caveman, 0, caveman, caveman, gts80a_state, gts80a, ROT0, "Gottlieb", "Caveman (Pinball/Video Combo, set 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, cavemana, caveman, caveman, caveman, gts80a_state, gts80a, ROT0, "Gottlieb", "Caveman (Pinball/Video Combo, set 2)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/gts80b.c b/src/mame/drivers/gts80b.c
index b465deb60f5..e3e42317bdd 100644
--- a/src/mame/drivers/gts80b.c
+++ b/src/mame/drivers/gts80b.c
@@ -23,6 +23,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(gts80b);
};
static ADDRESS_MAP_START( gts80b_map, AS_PROGRAM, 8, gts80b_state )
@@ -40,7 +42,7 @@ void gts80b_state::machine_reset()
{
}
-static DRIVER_INIT( gts80b )
+DRIVER_INIT_MEMBER(gts80b_state,gts80b)
{
}
diff --git a/src/mame/drivers/guab.c b/src/mame/drivers/guab.c
index ccfec8d0631..668fa9e3166 100644
--- a/src/mame/drivers/guab.c
+++ b/src/mame/drivers/guab.c
@@ -953,14 +953,14 @@ ROM_END
*
*************************************/
-GAME( 1986, guab, 0, guab, guab, guab_state, 0, ROT0, "JPM", "Give us a Break (3rd edition)", 0 )
-GAME( 1986, guab3a, guab, guab, guab, guab_state, 0, ROT0, "JPM", "Give us a Break (3rd edition alt?)", 0 )
-GAME( 1986, guab4, guab, guab, guab, guab_state, 0, ROT0, "JPM", "Give us a Break (4th edition)", 0 )
-GAME( 1986, guab6, guab, guab, guab, guab_state, 0, ROT0, "JPM", "Give us a Break (6th edition)", 0 )
-GAME( 1986, guab6a, guab, guab, guab, guab_state, 0, ROT0, "JPM", "Give us a Break (6th edition alt?)", 0 )
-GAME( 1986, guab7, guab, guab, guab, guab_state, 0, ROT0, "JPM", "Give us a Break (7th edition)", 0 )
-GAME( 1986, guab21, guab, guab, guab, guab_state, 0, ROT0, "JPM", "Give us a Break (21st edition)", 0 )
-GAME( 1986, guab43, guab, guab, guab, guab_state, 0, ROT0, "JPM", "Give us a Break (43rd edition)", 0 )
-GAME( 1986, crisscrs, 0, guab, guab, guab_state, 0, ROT0, "JPM", "Criss Cross (Sweden)", GAME_NOT_WORKING )
-GAME( 1988, tenup, 0, guab, tenup, guab_state, 0, ROT0, "JPM", "Ten Up (compendium 17)", 0 )
-GAME( 1988, tenup3, tenup, guab, tenup, guab_state, 0, ROT0, "JPM", "Ten Up (compendium 3)", 0 )
+GAME( 1986, guab, 0, guab, guab, driver_device, 0, ROT0, "JPM", "Give us a Break (3rd edition)", 0 )
+GAME( 1986, guab3a, guab, guab, guab, driver_device, 0, ROT0, "JPM", "Give us a Break (3rd edition alt?)", 0 )
+GAME( 1986, guab4, guab, guab, guab, driver_device, 0, ROT0, "JPM", "Give us a Break (4th edition)", 0 )
+GAME( 1986, guab6, guab, guab, guab, driver_device, 0, ROT0, "JPM", "Give us a Break (6th edition)", 0 )
+GAME( 1986, guab6a, guab, guab, guab, driver_device, 0, ROT0, "JPM", "Give us a Break (6th edition alt?)", 0 )
+GAME( 1986, guab7, guab, guab, guab, driver_device, 0, ROT0, "JPM", "Give us a Break (7th edition)", 0 )
+GAME( 1986, guab21, guab, guab, guab, driver_device, 0, ROT0, "JPM", "Give us a Break (21st edition)", 0 )
+GAME( 1986, guab43, guab, guab, guab, driver_device, 0, ROT0, "JPM", "Give us a Break (43rd edition)", 0 )
+GAME( 1986, crisscrs, 0, guab, guab, driver_device, 0, ROT0, "JPM", "Criss Cross (Sweden)", GAME_NOT_WORKING )
+GAME( 1988, tenup, 0, guab, tenup, driver_device, 0, ROT0, "JPM", "Ten Up (compendium 17)", 0 )
+GAME( 1988, tenup3, tenup, guab, tenup, driver_device, 0, ROT0, "JPM", "Ten Up (compendium 3)", 0 )
diff --git a/src/mame/drivers/gumbo.c b/src/mame/drivers/gumbo.c
index a726af63d32..d4926de5f50 100644
--- a/src/mame/drivers/gumbo.c
+++ b/src/mame/drivers/gumbo.c
@@ -391,10 +391,10 @@ ROM_START( dblpointd )
ROM_LOAD( "d15.bin", 0x40000, 0x40000, CRC(6b899a51) SHA1(04114ec9695caaac722800ac1a4ffb563ec433c9) )
ROM_END
-GAME( 1994, gumbo, 0, gumbo, gumbo, gumbo_state, 0, ROT0, "Min Corp.", "Gumbo", GAME_SUPPORTS_SAVE )
-GAME( 1994, mspuzzleg,gumbo, gumbo, gumbo, gumbo_state, 0, ROT0, "Min Corp.", "Miss Puzzle (Clone of Gumbo)", GAME_SUPPORTS_SAVE )
-GAME( 1994, msbingo, 0, mspuzzle, msbingo, gumbo_state, 0, ROT0, "Min Corp.", "Miss Bingo", GAME_SUPPORTS_SAVE )
-GAME( 1994, mspuzzle, 0, mspuzzle, mspuzzle, gumbo_state, 0, ROT90, "Min Corp.", "Miss Puzzle", GAME_SUPPORTS_SAVE )
-GAME( 1994, mspuzzlen,mspuzzle, mspuzzle, mspuzzle, gumbo_state, 0, ROT90, "Min Corp.", "Miss Puzzle (Nudes)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1995, dblpoint, 0, dblpoint, dblpoint, gumbo_state, 0, ROT0, "Min Corp.", "Double Point", GAME_SUPPORTS_SAVE )
-GAME( 1995, dblpointd,dblpoint, dblpoint, dblpoint, gumbo_state, 0, ROT0, "bootleg? (Dong Bang Electron)", "Double Point (Dong Bang Electron, bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1994, gumbo, 0, gumbo, gumbo, driver_device, 0, ROT0, "Min Corp.", "Gumbo", GAME_SUPPORTS_SAVE )
+GAME( 1994, mspuzzleg,gumbo, gumbo, gumbo, driver_device, 0, ROT0, "Min Corp.", "Miss Puzzle (Clone of Gumbo)", GAME_SUPPORTS_SAVE )
+GAME( 1994, msbingo, 0, mspuzzle, msbingo, driver_device, 0, ROT0, "Min Corp.", "Miss Bingo", GAME_SUPPORTS_SAVE )
+GAME( 1994, mspuzzle, 0, mspuzzle, mspuzzle, driver_device, 0, ROT90, "Min Corp.", "Miss Puzzle", GAME_SUPPORTS_SAVE )
+GAME( 1994, mspuzzlen,mspuzzle, mspuzzle, mspuzzle, driver_device, 0, ROT90, "Min Corp.", "Miss Puzzle (Nudes)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1995, dblpoint, 0, dblpoint, dblpoint, driver_device, 0, ROT0, "Min Corp.", "Double Point", GAME_SUPPORTS_SAVE )
+GAME( 1995, dblpointd,dblpoint, dblpoint, dblpoint, driver_device, 0, ROT0, "bootleg? (Dong Bang Electron)", "Double Point (Dong Bang Electron, bootleg?)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gunbustr.c b/src/mame/drivers/gunbustr.c
index 87a307137f6..cd80a05699d 100644
--- a/src/mame/drivers/gunbustr.c
+++ b/src/mame/drivers/gunbustr.c
@@ -440,20 +440,18 @@ READ32_MEMBER(gunbustr_state::main_cycle_r)
return m_ram[0x3acc/4];
}
-static DRIVER_INIT( gunbustr )
+DRIVER_INIT_MEMBER(gunbustr_state,gunbustr)
{
/* Speedup handler */
- gunbustr_state *state = machine.driver_data<gunbustr_state>();
- state->m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x203acc, 0x203acf, read32_delegate(FUNC(gunbustr_state::main_cycle_r),state));
+ m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x203acc, 0x203acf, read32_delegate(FUNC(gunbustr_state::main_cycle_r),this));
}
-static DRIVER_INIT( gunbustrj )
+DRIVER_INIT_MEMBER(gunbustr_state,gunbustrj)
{
DRIVER_INIT_CALL(gunbustr);
// no coin lockout, perhaps this was a prototype version without proper coin handling?
- gunbustr_state *state = machine.driver_data<gunbustr_state>();
- state->m_coin_lockout = false;
+ m_coin_lockout = false;
}
GAME( 1992, gunbustr, 0, gunbustr, gunbustr, gunbustr_state, gunbustr, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Gunbuster (World)", 0 )
diff --git a/src/mame/drivers/gundealr.c b/src/mame/drivers/gundealr.c
index 467b1c3994c..c575ecd1529 100644
--- a/src/mame/drivers/gundealr.c
+++ b/src/mame/drivers/gundealr.c
@@ -587,8 +587,8 @@ ROM_END
-GAME( 1990, gundealr, 0, gundealr, gundealr, gundealr_state, 0, ROT270, "Dooyong", "Gun Dealer", GAME_SUPPORTS_SAVE )
-GAME( 1990, gundealra, gundealr, gundealr, gundealr, gundealr_state, 0, ROT270, "Dooyong", "Gun Dealer (alt card set)", GAME_SUPPORTS_SAVE )
-GAME( 1990, gundealrt, gundealr, gundealr, gundealt, gundealr_state, 0, ROT270, "Dooyong (Tecmo license)", "Gun Dealer (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, yamyam, 0, yamyam, yamyam, gundealr_state, 0, ROT0, "Dooyong", "Yam! Yam!?", GAME_SUPPORTS_SAVE )
-GAME( 1990, wiseguy, yamyam, yamyam, yamyam, gundealr_state, 0, ROT0, "Dooyong", "Wise Guy", GAME_SUPPORTS_SAVE )
+GAME( 1990, gundealr, 0, gundealr, gundealr, driver_device, 0, ROT270, "Dooyong", "Gun Dealer", GAME_SUPPORTS_SAVE )
+GAME( 1990, gundealra, gundealr, gundealr, gundealr, driver_device, 0, ROT270, "Dooyong", "Gun Dealer (alt card set)", GAME_SUPPORTS_SAVE )
+GAME( 1990, gundealrt, gundealr, gundealr, gundealt, driver_device, 0, ROT270, "Dooyong (Tecmo license)", "Gun Dealer (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, yamyam, 0, yamyam, yamyam, driver_device, 0, ROT0, "Dooyong", "Yam! Yam!?", GAME_SUPPORTS_SAVE )
+GAME( 1990, wiseguy, yamyam, yamyam, yamyam, driver_device, 0, ROT0, "Dooyong", "Wise Guy", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gunpey.c b/src/mame/drivers/gunpey.c
index 60e53e5ac67..4d73ab1c263 100644
--- a/src/mame/drivers/gunpey.c
+++ b/src/mame/drivers/gunpey.c
@@ -91,6 +91,7 @@ public:
DECLARE_READ8_MEMBER(gunpey_status_r);
DECLARE_READ8_MEMBER(gunpey_inputs_r);
DECLARE_WRITE8_MEMBER(gunpey_blitter_w);
+ DECLARE_DRIVER_INIT(gunpey);
};
@@ -410,9 +411,9 @@ ROM_START( gunpey )
ROM_LOAD( "gp_rom5.622", 0x000000, 0x400000, CRC(f79903e0) SHA1(4fd50b4138e64a48ec1504eb8cd172a229e0e965)) // 1xxxxxxxxxxxxxxxxxxxxx = 0xFF
ROM_END
-static DRIVER_INIT( gunpey )
+DRIVER_INIT_MEMBER(gunpey_state,gunpey)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
/* patch SLOOOOW cycle checks ... */
rom[0x848b5] = 0x7e;
diff --git a/src/mame/drivers/gunsmoke.c b/src/mame/drivers/gunsmoke.c
index 38d6268a916..ec15fb7202d 100644
--- a/src/mame/drivers/gunsmoke.c
+++ b/src/mame/drivers/gunsmoke.c
@@ -534,7 +534,7 @@ ROM_END
/* Game Drivers */
-GAME( 1985, gunsmoke, 0, gunsmoke, gunsmoke, gunsmoke_state, 0, ROT270, "Capcom", "Gun.Smoke (World)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gunsmokej, gunsmoke, gunsmoke, gunsmoke, gunsmoke_state, 0, ROT270, "Capcom", "Gun.Smoke (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gunsmokeu, gunsmoke, gunsmoke, gunsmoke, gunsmoke_state, 0, ROT270, "Capcom (Romstar license)", "Gun.Smoke (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, gunsmokeua,gunsmoke, gunsmoke, gunsmokeua, gunsmoke_state,0, ROT270, "Capcom (Romstar license)", "Gun.Smoke (US set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gunsmoke, 0, gunsmoke, gunsmoke, driver_device, 0, ROT270, "Capcom", "Gun.Smoke (World)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gunsmokej, gunsmoke, gunsmoke, gunsmoke, driver_device, 0, ROT270, "Capcom", "Gun.Smoke (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gunsmokeu, gunsmoke, gunsmoke, gunsmoke, driver_device, 0, ROT270, "Capcom (Romstar license)", "Gun.Smoke (US set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, gunsmokeua,gunsmoke, gunsmoke, gunsmokeua, driver_device,0, ROT270, "Capcom (Romstar license)", "Gun.Smoke (US set 2)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gyruss.c b/src/mame/drivers/gyruss.c
index 6a053de27db..2de9b777be8 100644
--- a/src/mame/drivers/gyruss.c
+++ b/src/mame/drivers/gyruss.c
@@ -726,9 +726,9 @@ ROM_START( venus )
ROM_END
-static DRIVER_INIT( gyruss )
+DRIVER_INIT_MEMBER(gyruss_state,gyruss)
{
- konami1_decode(machine, "sub");
+ konami1_decode(machine(), "sub");
}
diff --git a/src/mame/drivers/halleys.c b/src/mame/drivers/halleys.c
index 3b3e5334350..caf6fb783b8 100644
--- a/src/mame/drivers/halleys.c
+++ b/src/mame/drivers/halleys.c
@@ -258,6 +258,9 @@ public:
DECLARE_READ8_MEMBER(io_mirror_r);
void blit(int offset);
DECLARE_WRITE8_MEMBER(sndnmi_msk_w);
+ DECLARE_DRIVER_INIT(halley87);
+ DECLARE_DRIVER_INIT(benberob);
+ DECLARE_DRIVER_INIT(halleys);
};
@@ -2232,33 +2235,30 @@ static void init_common(running_machine &machine)
}
-static DRIVER_INIT( benberob )
+DRIVER_INIT_MEMBER(halleys_state,benberob)
{
- halleys_state *state = machine.driver_data<halleys_state>();
- state->m_game_id = GAME_BENBEROB;
+ m_game_id = GAME_BENBEROB;
- init_common(machine);
+ init_common(machine());
- state->m_blitter_reset_timer = machine.scheduler().timer_alloc(FUNC(blitter_reset));
+ m_blitter_reset_timer = machine().scheduler().timer_alloc(FUNC(blitter_reset));
}
-static DRIVER_INIT( halleys )
+DRIVER_INIT_MEMBER(halleys_state,halleys)
{
- halleys_state *state = machine.driver_data<halleys_state>();
- state->m_game_id = GAME_HALLEYS;
- state->m_collision_detection = 0xb114;
+ m_game_id = GAME_HALLEYS;
+ m_collision_detection = 0xb114;
- init_common(machine);
+ init_common(machine());
}
-static DRIVER_INIT( halley87 )
+DRIVER_INIT_MEMBER(halleys_state,halley87)
{
- halleys_state *state = machine.driver_data<halleys_state>();
- state->m_game_id = GAME_HALLEYS;
- state->m_collision_detection = 0xb10d;
+ m_game_id = GAME_HALLEYS;
+ m_collision_detection = 0xb10d;
- init_common(machine);
+ init_common(machine());
}
diff --git a/src/mame/drivers/hanaawas.c b/src/mame/drivers/hanaawas.c
index d603277e706..8a06e1dc9cb 100644
--- a/src/mame/drivers/hanaawas.c
+++ b/src/mame/drivers/hanaawas.c
@@ -256,4 +256,4 @@ ROM_START( hanaawas )
ROM_END
-GAME( 1982, hanaawas, 0, hanaawas, hanaawas, hanaawas_state, 0, ROT0, "Seta Kikaku, Ltd.", "Hana Awase", GAME_SUPPORTS_SAVE )
+GAME( 1982, hanaawas, 0, hanaawas, hanaawas, driver_device, 0, ROT0, "Seta Kikaku, Ltd.", "Hana Awase", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/hankin.c b/src/mame/drivers/hankin.c
index f58b075eaf5..70b86a71b96 100644
--- a/src/mame/drivers/hankin.c
+++ b/src/mame/drivers/hankin.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(hankin);
};
@@ -31,7 +33,7 @@ void hankin_state::machine_reset()
{
}
-static DRIVER_INIT( hankin )
+DRIVER_INIT_MEMBER(hankin_state,hankin)
{
}
diff --git a/src/mame/drivers/harddriv.c b/src/mame/drivers/harddriv.c
index da7b759a92d..5b39172bf83 100644
--- a/src/mame/drivers/harddriv.c
+++ b/src/mame/drivers/harddriv.c
@@ -4229,96 +4229,92 @@ static void init_driver_sound(running_machine &machine)
*
*************************************/
-static DRIVER_INIT( harddriv )
+DRIVER_INIT_MEMBER(harddriv_state,harddriv)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
/* initialize the boards */
- init_driver(machine);
- init_adsp(machine);
- init_driver_sound(machine);
+ init_driver(machine());
+ init_adsp(machine());
+ init_driver_sound(machine());
/* set up gsp speedup handler */
- state->m_gsp_speedup_addr[0] = state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup1_w));
- state->m_gsp_speedup_addr[1] = state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfffcfc00, 0xfffcfc0f, FUNC(hdgsp_speedup2_w));
- state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup_r));
- state->m_gsp_speedup_pc = 0xffc00f10;
+ m_gsp_speedup_addr[0] = m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup1_w));
+ m_gsp_speedup_addr[1] = m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfffcfc00, 0xfffcfc0f, FUNC(hdgsp_speedup2_w));
+ m_gsp->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup_r));
+ m_gsp_speedup_pc = 0xffc00f10;
/* set up msp speedup handler */
- state->m_msp_speedup_addr = state->m_msp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x00751b00, 0x00751b0f, FUNC(hdmsp_speedup_w));
- state->m_msp->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x00751b00, 0x00751b0f, FUNC(hdmsp_speedup_r));
- state->m_msp_speedup_pc = 0x00723b00;
+ m_msp_speedup_addr = m_msp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x00751b00, 0x00751b0f, FUNC(hdmsp_speedup_w));
+ m_msp->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x00751b00, 0x00751b0f, FUNC(hdmsp_speedup_r));
+ m_msp_speedup_pc = 0x00723b00;
/* set up adsp speedup handlers */
- state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
+ m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
}
-static DRIVER_INIT( harddrivc )
+DRIVER_INIT_MEMBER(harddriv_state,harddrivc)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
/* initialize the boards */
- init_multisync(machine, 1);
- init_adsp(machine);
- init_driver_sound(machine);
+ init_multisync(machine(), 1);
+ init_adsp(machine());
+ init_driver_sound(machine());
/* set up gsp speedup handler */
- state->m_gsp_speedup_addr[0] = state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup1_w));
- state->m_gsp_speedup_addr[1] = state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfffcfc00, 0xfffcfc0f, FUNC(hdgsp_speedup2_w));
- state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup_r));
- state->m_gsp_speedup_pc = 0xfff40ff0;
+ m_gsp_speedup_addr[0] = m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup1_w));
+ m_gsp_speedup_addr[1] = m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfffcfc00, 0xfffcfc0f, FUNC(hdgsp_speedup2_w));
+ m_gsp->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup_r));
+ m_gsp_speedup_pc = 0xfff40ff0;
/* set up msp speedup handler */
- state->m_msp_speedup_addr = state->m_msp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x00751b00, 0x00751b0f, FUNC(hdmsp_speedup_w));
- state->m_msp->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x00751b00, 0x00751b0f, FUNC(hdmsp_speedup_r));
- state->m_msp_speedup_pc = 0x00723b00;
+ m_msp_speedup_addr = m_msp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x00751b00, 0x00751b0f, FUNC(hdmsp_speedup_w));
+ m_msp->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x00751b00, 0x00751b0f, FUNC(hdmsp_speedup_r));
+ m_msp_speedup_pc = 0x00723b00;
/* set up adsp speedup handlers */
- state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
+ m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
}
-static DRIVER_INIT( stunrun )
+DRIVER_INIT_MEMBER(harddriv_state,stunrun)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
/* initialize the boards */
- init_multisync(machine, 0);
- init_adsp(machine);
- atarijsa_init(machine, "IN0", 0x0020);
+ init_multisync(machine(), 0);
+ init_adsp(machine());
+ atarijsa_init(machine(), "IN0", 0x0020);
/* set up gsp speedup handler */
- state->m_gsp_speedup_addr[0] = state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup1_w));
- state->m_gsp_speedup_addr[1] = state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfffcfc00, 0xfffcfc0f, FUNC(hdgsp_speedup2_w));
- state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup_r));
- state->m_gsp_speedup_pc = 0xfff41070;
+ m_gsp_speedup_addr[0] = m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup1_w));
+ m_gsp_speedup_addr[1] = m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfffcfc00, 0xfffcfc0f, FUNC(hdgsp_speedup2_w));
+ m_gsp->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup_r));
+ m_gsp_speedup_pc = 0xfff41070;
/* set up adsp speedup handlers */
- state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
+ m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
}
-static DRIVER_INIT( racedriv )
+DRIVER_INIT_MEMBER(harddriv_state,racedriv)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
/* initialize the boards */
- init_driver(machine);
- init_adsp(machine);
- init_dsk(machine);
- init_driver_sound(machine);
+ init_driver(machine());
+ init_adsp(machine());
+ init_dsk(machine());
+ init_driver_sound(machine());
/* set up the slapstic */
- slapstic_init(machine, 117);
- state->m_m68k_slapstic_base = state->m_maincpu->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xe0000, 0xfffff, FUNC(rd68k_slapstic_r), FUNC(rd68k_slapstic_w));
+ slapstic_init(machine(), 117);
+ m_m68k_slapstic_base = m_maincpu->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xe0000, 0xfffff, FUNC(rd68k_slapstic_r), FUNC(rd68k_slapstic_w));
/* synchronization */
- state->m_rddsp32_sync[0] = state->m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x613c00, 0x613c03, FUNC(rddsp32_sync0_w));
- state->m_rddsp32_sync[1] = state->m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x613e00, 0x613e03, FUNC(rddsp32_sync1_w));
+ m_rddsp32_sync[0] = m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x613c00, 0x613c03, FUNC(rddsp32_sync0_w));
+ m_rddsp32_sync[1] = m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x613e00, 0x613e03, FUNC(rddsp32_sync1_w));
/* set up adsp speedup handlers */
- state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
+ m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
}
@@ -4352,20 +4348,19 @@ static void racedrivc_init_common(running_machine &machine, offs_t gsp_protectio
state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
}
-static DRIVER_INIT( racedrivc ) { racedrivc_init_common(machine, 0xfff95cd0); }
-static DRIVER_INIT( racedrivc1 ) { racedrivc_init_common(machine, 0xfff7ecd0); }
+DRIVER_INIT_MEMBER(harddriv_state,racedrivc) { racedrivc_init_common(machine(), 0xfff95cd0); }
+DRIVER_INIT_MEMBER(harddriv_state,racedrivc1) { racedrivc_init_common(machine(), 0xfff7ecd0); }
-static DRIVER_INIT( racedrivb1 )
+DRIVER_INIT_MEMBER(harddriv_state,racedrivb1)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
/* this unpleasantness prevents racedrivb1 and racedrivg1 from crashing MAME during boot */
/* both clear the DSP32C's RAM and then release it from reset, causing it to run through */
/* its address space recursively executing instructions */
- state->m_dsp32->memory().space(AS_PROGRAM)->install_read_handler(0x002000, 0x5fffff, read32_delegate(FUNC(harddriv_state::rddsp_unmap_r),state));
- state->m_dsp32->memory().space(AS_PROGRAM)->install_read_handler(0x640000, 0xfff7ff, read32_delegate(FUNC(harddriv_state::rddsp_unmap_r),state));
+ m_dsp32->memory().space(AS_PROGRAM)->install_read_handler(0x002000, 0x5fffff, read32_delegate(FUNC(harddriv_state::rddsp_unmap_r),this));
+ m_dsp32->memory().space(AS_PROGRAM)->install_read_handler(0x640000, 0xfff7ff, read32_delegate(FUNC(harddriv_state::rddsp_unmap_r),this));
- DRIVER_INIT_CALL( racedriv );
+ DRIVER_INIT_CALL(racedriv);
}
READ32_MEMBER(harddriv_state::rddsp_unmap_r)
@@ -4413,93 +4408,90 @@ static void steeltal_init_common(running_machine &machine, offs_t ds3_transfer_p
}
-static DRIVER_INIT( steeltal ) { steeltal_init_common(machine, 0x4fc18, 0); }
-static DRIVER_INIT( steeltal1 ) { steeltal_init_common(machine, 0x4f9c6, 0); }
-static DRIVER_INIT( steeltalp ) { steeltal_init_common(machine, 0x52290, 1); }
+DRIVER_INIT_MEMBER(harddriv_state,steeltal) { steeltal_init_common(machine(), 0x4fc18, 0); }
+DRIVER_INIT_MEMBER(harddriv_state,steeltal1) { steeltal_init_common(machine(), 0x4f9c6, 0); }
+DRIVER_INIT_MEMBER(harddriv_state,steeltalp) { steeltal_init_common(machine(), 0x52290, 1); }
-static DRIVER_INIT( strtdriv )
+DRIVER_INIT_MEMBER(harddriv_state,strtdriv)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
/* initialize the boards */
- init_multisync(machine, 1);
- init_ds3(machine);
- init_dsk(machine);
+ init_multisync(machine(), 1);
+ init_ds3(machine());
+ init_dsk(machine());
/* set up the slapstic */
- slapstic_init(machine, 117);
- state->m_m68k_slapstic_base = state->m_maincpu->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xe0000, 0xfffff, FUNC(rd68k_slapstic_r), FUNC(rd68k_slapstic_w));
+ slapstic_init(machine(), 117);
+ m_m68k_slapstic_base = m_maincpu->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xe0000, 0xfffff, FUNC(rd68k_slapstic_r), FUNC(rd68k_slapstic_w));
- state->m_maincpu->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xa80000, 0xafffff, FUNC(hda68k_port1_r));
+ m_maincpu->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xa80000, 0xafffff, FUNC(hda68k_port1_r));
/* synchronization */
- state->m_rddsp32_sync[0] = state->m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x613c00, 0x613c03, FUNC(rddsp32_sync0_w));
- state->m_rddsp32_sync[1] = state->m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x613e00, 0x613e03, FUNC(rddsp32_sync1_w));
+ m_rddsp32_sync[0] = m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x613c00, 0x613c03, FUNC(rddsp32_sync0_w));
+ m_rddsp32_sync[1] = m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x613e00, 0x613e03, FUNC(rddsp32_sync1_w));
/* set up protection hacks */
- state->m_gsp_protection = state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff960a0, 0xfff960af, FUNC(hdgsp_protection_w));
+ m_gsp_protection = m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff960a0, 0xfff960af, FUNC(hdgsp_protection_w));
/* set up adsp speedup handlers */
- state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
- state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1f99, 0x1f99, FUNC(hdds3_speedup_r));
- state->m_ds3_speedup_addr = &state->m_adsp_data_memory[0x1f99];
- state->m_ds3_speedup_pc = 0xff;
- state->m_ds3_transfer_pc = 0x43672;
+ m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
+ m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1f99, 0x1f99, FUNC(hdds3_speedup_r));
+ m_ds3_speedup_addr = &m_adsp_data_memory[0x1f99];
+ m_ds3_speedup_pc = 0xff;
+ m_ds3_transfer_pc = 0x43672;
}
-static DRIVER_INIT( hdrivair )
+DRIVER_INIT_MEMBER(harddriv_state,hdrivair)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
/* initialize the boards */
- init_multisync(machine, 1);
- init_ds3(machine);
- init_dsk2(machine);
+ init_multisync(machine(), 1);
+ init_ds3(machine());
+ init_dsk2(machine());
- state->m_maincpu->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xa80000, 0xafffff, FUNC(hda68k_port1_r));
+ m_maincpu->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xa80000, 0xafffff, FUNC(hda68k_port1_r));
/* synchronization */
- state->m_rddsp32_sync[0] = state->m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x21fe00, 0x21fe03, FUNC(rddsp32_sync0_w));
- state->m_rddsp32_sync[1] = state->m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x21ff00, 0x21ff03, FUNC(rddsp32_sync1_w));
+ m_rddsp32_sync[0] = m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x21fe00, 0x21fe03, FUNC(rddsp32_sync0_w));
+ m_rddsp32_sync[1] = m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x21ff00, 0x21ff03, FUNC(rddsp32_sync1_w));
/* set up protection hacks */
- state->m_gsp_protection = state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff943f0, 0xfff943ff, FUNC(hdgsp_protection_w));
+ m_gsp_protection = m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff943f0, 0xfff943ff, FUNC(hdgsp_protection_w));
/* set up adsp speedup handlers */
- state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
- state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1f99, 0x1f99, FUNC(hdds3_speedup_r));
- state->m_ds3_speedup_addr = &state->m_adsp_data_memory[0x1f99];
- state->m_ds3_speedup_pc = 0x2da;
- state->m_ds3_transfer_pc = 0x407b8;
+ m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
+ m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1f99, 0x1f99, FUNC(hdds3_speedup_r));
+ m_ds3_speedup_addr = &m_adsp_data_memory[0x1f99];
+ m_ds3_speedup_pc = 0x2da;
+ m_ds3_transfer_pc = 0x407b8;
}
-static DRIVER_INIT( hdrivairp )
+DRIVER_INIT_MEMBER(harddriv_state,hdrivairp)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
/* initialize the boards */
- init_multisync(machine, 1);
- init_ds3(machine);
- init_dsk2(machine);
+ init_multisync(machine(), 1);
+ init_ds3(machine());
+ init_dsk2(machine());
- state->m_maincpu->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xa80000, 0xafffff, FUNC(hda68k_port1_r));
+ m_maincpu->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xa80000, 0xafffff, FUNC(hda68k_port1_r));
/* synchronization */
- state->m_rddsp32_sync[0] = state->m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x21fe00, 0x21fe03, FUNC(rddsp32_sync0_w));
- state->m_rddsp32_sync[1] = state->m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x21ff00, 0x21ff03, FUNC(rddsp32_sync1_w));
+ m_rddsp32_sync[0] = m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x21fe00, 0x21fe03, FUNC(rddsp32_sync0_w));
+ m_rddsp32_sync[1] = m_dsp32->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x21ff00, 0x21ff03, FUNC(rddsp32_sync1_w));
/* set up protection hacks */
- state->m_gsp_protection = state->m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff916c0, 0xfff916cf, FUNC(hdgsp_protection_w));
+ m_gsp_protection = m_gsp->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff916c0, 0xfff916cf, FUNC(hdgsp_protection_w));
/* set up adsp speedup handlers */
- state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
- state->m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1f9a, 0x1f9a, FUNC(hdds3_speedup_r));
- state->m_ds3_speedup_addr = &state->m_adsp_data_memory[0x1f9a];
- state->m_ds3_speedup_pc = 0x2d9;
- state->m_ds3_transfer_pc = 0X407da;
+ m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1fff, 0x1fff, FUNC(hdadsp_speedup_r));
+ m_adsp->memory().space(AS_DATA)->install_legacy_read_handler(0x1f9a, 0x1f9a, FUNC(hdds3_speedup_r));
+ m_ds3_speedup_addr = &m_adsp_data_memory[0x1f9a];
+ m_ds3_speedup_pc = 0x2d9;
+ m_ds3_transfer_pc = 0X407da;
}
diff --git a/src/mame/drivers/hazelgr.c b/src/mame/drivers/hazelgr.c
index 14d0d05a4de..9f552cdf31c 100644
--- a/src/mame/drivers/hazelgr.c
+++ b/src/mame/drivers/hazelgr.c
@@ -47,4 +47,4 @@ ROM_START( hg_frd )
ROM_END
-GAME( 198?, hg_frd, 0, haze, haze, haze_state, 0, ROT0, "Hazel Grove", "Fruit Deuce (Hazel Grove)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 198?, hg_frd, 0, haze, haze, driver_device, 0, ROT0, "Hazel Grove", "Fruit Deuce (Hazel Grove)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/hcastle.c b/src/mame/drivers/hcastle.c
index d907bc8aac4..20ea8c955aa 100644
--- a/src/mame/drivers/hcastle.c
+++ b/src/mame/drivers/hcastle.c
@@ -367,7 +367,7 @@ ROM_END
-GAME( 1988, hcastle, 0, hcastle, hcastle, hcastle_state, 0, ROT0, "Konami", "Haunted Castle (version M)", GAME_SUPPORTS_SAVE )
-GAME( 1988, hcastleo, hcastle, hcastle, hcastle, hcastle_state, 0, ROT0, "Konami", "Haunted Castle (version K)", GAME_SUPPORTS_SAVE )
-GAME( 1988, hcastlej, hcastle, hcastle, hcastle, hcastle_state, 0, ROT0, "Konami", "Akuma-Jou Dracula (Japan version P)", GAME_SUPPORTS_SAVE )
-GAME( 1988, hcastljo, hcastle, hcastle, hcastle, hcastle_state, 0, ROT0, "Konami", "Akuma-Jou Dracula (Japan version N)", GAME_SUPPORTS_SAVE )
+GAME( 1988, hcastle, 0, hcastle, hcastle, driver_device, 0, ROT0, "Konami", "Haunted Castle (version M)", GAME_SUPPORTS_SAVE )
+GAME( 1988, hcastleo, hcastle, hcastle, hcastle, driver_device, 0, ROT0, "Konami", "Haunted Castle (version K)", GAME_SUPPORTS_SAVE )
+GAME( 1988, hcastlej, hcastle, hcastle, hcastle, driver_device, 0, ROT0, "Konami", "Akuma-Jou Dracula (Japan version P)", GAME_SUPPORTS_SAVE )
+GAME( 1988, hcastljo, hcastle, hcastle, hcastle, driver_device, 0, ROT0, "Konami", "Akuma-Jou Dracula (Japan version N)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/hexion.c b/src/mame/drivers/hexion.c
index 412dc637cf3..9fd32815146 100644
--- a/src/mame/drivers/hexion.c
+++ b/src/mame/drivers/hexion.c
@@ -280,4 +280,4 @@ ROM_START( hexion )
ROM_END
-GAME( 1992, hexion, 0, hexion, hexion, hexion_state, 0, ROT0, "Konami", "Hexion (Japan ver JAB)", 0 )
+GAME( 1992, hexion, 0, hexion, hexion, driver_device, 0, ROT0, "Konami", "Hexion (Japan ver JAB)", 0 )
diff --git a/src/mame/drivers/higemaru.c b/src/mame/drivers/higemaru.c
index b3acbe1e8b0..908346eb8a1 100644
--- a/src/mame/drivers/higemaru.c
+++ b/src/mame/drivers/higemaru.c
@@ -217,4 +217,4 @@ ROM_START( higemaru )
ROM_END
-GAME( 1984, higemaru, 0, higemaru, higemaru, higemaru_state, 0, ROT0, "Capcom", "Pirate Ship Higemaru", GAME_SUPPORTS_SAVE )
+GAME( 1984, higemaru, 0, higemaru, higemaru, driver_device, 0, ROT0, "Capcom", "Pirate Ship Higemaru", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/highvdeo.c b/src/mame/drivers/highvdeo.c
index 58895f27522..50777c34cd6 100644
--- a/src/mame/drivers/highvdeo.c
+++ b/src/mame/drivers/highvdeo.c
@@ -122,6 +122,8 @@ public:
DECLARE_READ16_MEMBER(tv_oki6376_r);
DECLARE_WRITE16_MEMBER(tv_ncf_oki6376_w);
DECLARE_WRITE16_MEMBER(tv_ncf_oki6376_st_w);
+ DECLARE_DRIVER_INIT(fashion);
+ DECLARE_DRIVER_INIT(ciclone);
};
@@ -1195,10 +1197,9 @@ READ16_MEMBER(highvdeo_state::ciclone_status_r)
return 0;
}
-static DRIVER_INIT( ciclone )
+DRIVER_INIT_MEMBER(highvdeo_state,ciclone)
{
- highvdeo_state *state = machine.driver_data<highvdeo_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x0030, 0x0033, read16_delegate(FUNC(highvdeo_state::ciclone_status_r), state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x0030, 0x0033, read16_delegate(FUNC(highvdeo_state::ciclone_status_r), this));
}
/*
@@ -1266,21 +1267,20 @@ WRITE16_MEMBER(highvdeo_state::fashion_output_w)
}
}
-static DRIVER_INIT( fashion )
+DRIVER_INIT_MEMBER(highvdeo_state,fashion)
{
- highvdeo_state *state = machine.driver_data<highvdeo_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x0002, 0x0003, write16_delegate(FUNC(highvdeo_state::fashion_output_w), state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x0002, 0x0003, write16_delegate(FUNC(highvdeo_state::fashion_output_w), this));
}
-GAMEL( 2000, tour4000, 0, tv_vcf, tv_vcf, highvdeo_state, 0, ROT0, "High Video", "Tour 4000", 0, layout_fashion )
-GAMEL( 2000, cfever40, 0, tv_vcf, tv_vcf, highvdeo_state, 0, ROT0, "High Video", "Casino Fever 4.0", 0, layout_fashion )
-GAMEL( 2000, cfever50, 0, tv_vcf, tv_vcf, highvdeo_state, 0, ROT0, "High Video", "Casino Fever 5.0", 0, layout_fashion )
-GAMEL( 2000, tour4010, 0, tv_ncf, tv_ncf, highvdeo_state, 0, ROT0, "High Video", "Tour 4010", 0, layout_fashion )
-GAMEL( 2000, cfever51, 0, tv_ncf, tv_ncf, highvdeo_state, 0, ROT0, "High Video", "Casino Fever 5.1", 0, layout_fashion )
-GAMEL( 2000, cfever61, 0, tv_ncf, tv_ncf, highvdeo_state, 0, ROT0, "High Video", "Casino Fever 6.1", 0, layout_fashion )
-GAMEL( 2000, cfever1k, 0, tv_tcf, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "Casino Fever 1k", 0, layout_fashion )
-GAMEL( 2000, girotutt, 0, tv_tcf, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "GiroTutto", 0, layout_fashion )
+GAMEL( 2000, tour4000, 0, tv_vcf, tv_vcf, driver_device, 0, ROT0, "High Video", "Tour 4000", 0, layout_fashion )
+GAMEL( 2000, cfever40, 0, tv_vcf, tv_vcf, driver_device, 0, ROT0, "High Video", "Casino Fever 4.0", 0, layout_fashion )
+GAMEL( 2000, cfever50, 0, tv_vcf, tv_vcf, driver_device, 0, ROT0, "High Video", "Casino Fever 5.0", 0, layout_fashion )
+GAMEL( 2000, tour4010, 0, tv_ncf, tv_ncf, driver_device, 0, ROT0, "High Video", "Tour 4010", 0, layout_fashion )
+GAMEL( 2000, cfever51, 0, tv_ncf, tv_ncf, driver_device, 0, ROT0, "High Video", "Casino Fever 5.1", 0, layout_fashion )
+GAMEL( 2000, cfever61, 0, tv_ncf, tv_ncf, driver_device, 0, ROT0, "High Video", "Casino Fever 6.1", 0, layout_fashion )
+GAMEL( 2000, cfever1k, 0, tv_tcf, tv_tcf, driver_device, 0, ROT0, "High Video", "Casino Fever 1k", 0, layout_fashion )
+GAMEL( 2000, girotutt, 0, tv_tcf, tv_tcf, driver_device, 0, ROT0, "High Video", "GiroTutto", 0, layout_fashion )
GAMEL( 2000, ciclone, 0, ciclone, tv_tcf, highvdeo_state, ciclone, ROT0, "High Video", "Ciclone", 0, layout_fashion )
-GAMEL( 2000, newmcard, 0, newmcard, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "New Magic Card", 0, layout_fashion )
-GAMEL( 2000, brasil, 0, brasil, brasil, highvdeo_state, 0, ROT0, "High Video", "Bra$il (Version 3)", 0, layout_fashion )
+GAMEL( 2000, newmcard, 0, newmcard, tv_tcf, driver_device, 0, ROT0, "High Video", "New Magic Card", 0, layout_fashion )
+GAMEL( 2000, brasil, 0, brasil, brasil, driver_device, 0, ROT0, "High Video", "Bra$il (Version 3)", 0, layout_fashion )
GAMEL( 2000, fashion, brasil, brasil, fashion, highvdeo_state, fashion, ROT0, "High Video", "Fashion (Version 2.14)", 0, layout_fashion )
diff --git a/src/mame/drivers/hikaru.c b/src/mame/drivers/hikaru.c
index d466161f085..0e699cd5395 100644
--- a/src/mame/drivers/hikaru.c
+++ b/src/mame/drivers/hikaru.c
@@ -703,9 +703,9 @@ ROM_START( sgnascar )
ROM_LOAD( "mpr-23484.ic34", 0xf000000, 0x1000000, CRC(2ebe1aa1) SHA1(16b39f7422da1a334dde27169c2949e1d95bddb3) )
ROM_END
-GAME( 2000, hikaru, 0, hikaru, hikaru, hikaru_state, 0, ROT0, "Sega", "Hikaru Bios", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
-GAME( 1999, braveff, hikaru, hikaru, hikaru, hikaru_state, 0, ROT0, "Sega", "Brave Fire Fighters", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
-GAME( 2000, airtrix, hikaru, hikaru, hikaru, hikaru_state, 0, ROT0, "Sega", "Air Trix", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2000, sgnascar, hikaru, hikaru, hikaru, hikaru_state, 0, ROT0, "Sega / Electronic Arts", "NASCAR Racing", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2001, pharrier, hikaru, hikaru, hikaru, hikaru_state, 0, ROT0, "Sega", "Planet Harriers", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2001, podrace, hikaru, hikaru, hikaru, hikaru_state, 0, ROT0, "Sega", "Star Wars Pod Racer", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2000, hikaru, 0, hikaru, hikaru, driver_device, 0, ROT0, "Sega", "Hikaru Bios", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
+GAME( 1999, braveff, hikaru, hikaru, hikaru, driver_device, 0, ROT0, "Sega", "Brave Fire Fighters", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
+GAME( 2000, airtrix, hikaru, hikaru, hikaru, driver_device, 0, ROT0, "Sega", "Air Trix", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2000, sgnascar, hikaru, hikaru, hikaru, driver_device, 0, ROT0, "Sega / Electronic Arts", "NASCAR Racing", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2001, pharrier, hikaru, hikaru, hikaru, driver_device, 0, ROT0, "Sega", "Planet Harriers", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 2001, podrace, hikaru, hikaru, hikaru, driver_device, 0, ROT0, "Sega", "Star Wars Pod Racer", GAME_NO_SOUND|GAME_NOT_WORKING )
diff --git a/src/mame/drivers/himesiki.c b/src/mame/drivers/himesiki.c
index 6b060b9779e..41b4749b907 100644
--- a/src/mame/drivers/himesiki.c
+++ b/src/mame/drivers/himesiki.c
@@ -355,4 +355,4 @@ ROM_START( himesiki )
ROM_LOAD16_BYTE( "14.8c", 0x020001, 0x010000, CRC(8103a207) SHA1(0dde8a0aaf2618d9c1589f35841db210439d0388) )
ROM_END
-GAME( 1989, himesiki, 0, himesiki, himesiki, himesiki_state, 0, ROT90, "Hi-Soft", "Himeshikibu (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, himesiki, 0, himesiki, himesiki, driver_device, 0, ROT90, "Hi-Soft", "Himeshikibu (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/hitme.c b/src/mame/drivers/hitme.c
index ad4b90643a8..b78d807daa1 100644
--- a/src/mame/drivers/hitme.c
+++ b/src/mame/drivers/hitme.c
@@ -698,9 +698,9 @@ ROM_END
*
*************************************/
-GAME( 1976, hitme, 0, hitme, hitme, hitme_state, 0, ROT0, "RamTek", "Hit Me (set 1)", GAME_SUPPORTS_SAVE ) // 05/1976
-GAME( 1976, hitme1, hitme, hitme, hitme, hitme_state, 0, ROT0, "RamTek", "Hit Me (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1976, m21, hitme, hitme, hitme, hitme_state, 0, ROT0, "Mirco Games", "21 (Mirco)", GAME_SUPPORTS_SAVE ) // 08/1976, licensed?
-GAME( 1978, super21, 0, hitme, super21, hitme_state, 0, ROT0, "Mirco Games", "Super Twenty One", GAME_SUPPORTS_SAVE )
-GAME( 1976, barricad, 0, barricad, barricad, hitme_state, 0, ROT0, "RamTek", "Barricade", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1976, brickyrd, barricad, barricad, barricad, hitme_state, 0, ROT0, "RamTek", "Brickyard", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1976, hitme, 0, hitme, hitme, driver_device, 0, ROT0, "RamTek", "Hit Me (set 1)", GAME_SUPPORTS_SAVE ) // 05/1976
+GAME( 1976, hitme1, hitme, hitme, hitme, driver_device, 0, ROT0, "RamTek", "Hit Me (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1976, m21, hitme, hitme, hitme, driver_device, 0, ROT0, "Mirco Games", "21 (Mirco)", GAME_SUPPORTS_SAVE ) // 08/1976, licensed?
+GAME( 1978, super21, 0, hitme, super21, driver_device, 0, ROT0, "Mirco Games", "Super Twenty One", GAME_SUPPORTS_SAVE )
+GAME( 1976, barricad, 0, barricad, barricad, driver_device, 0, ROT0, "RamTek", "Barricade", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1976, brickyrd, barricad, barricad, barricad, driver_device, 0, ROT0, "RamTek", "Brickyard", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/hitpoker.c b/src/mame/drivers/hitpoker.c
index 26b9095f32d..353cbecec6b 100644
--- a/src/mame/drivers/hitpoker.c
+++ b/src/mame/drivers/hitpoker.c
@@ -79,6 +79,7 @@ public:
DECLARE_READ8_MEMBER(hitpoker_pic_r);
DECLARE_WRITE8_MEMBER(hitpoker_pic_w);
DECLARE_READ8_MEMBER(test_r);
+ DECLARE_DRIVER_INIT(hitpoker);
};
@@ -520,13 +521,12 @@ static MACHINE_CONFIG_START( hitpoker, hitpoker_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-static DRIVER_INIT(hitpoker)
+DRIVER_INIT_MEMBER(hitpoker_state,hitpoker)
{
- hitpoker_state *state = machine.driver_data<hitpoker_state>();
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
// init nvram
- machine.device<nvram_device>("nvram")->set_base(state->m_eeprom_data, sizeof(state->m_eeprom_data));
+ machine().device<nvram_device>("nvram")->set_base(m_eeprom_data, sizeof(m_eeprom_data));
ROM[0x1220] = 0x01; //patch eeprom write?
ROM[0x1221] = 0x01;
diff --git a/src/mame/drivers/hnayayoi.c b/src/mame/drivers/hnayayoi.c
index 9d09d9ec68a..65ba4687656 100644
--- a/src/mame/drivers/hnayayoi.c
+++ b/src/mame/drivers/hnayayoi.c
@@ -676,10 +676,10 @@ ROM_START( untoucha )
ROM_END
-static DRIVER_INIT( hnfubuki )
+DRIVER_INIT_MEMBER(hnayayoi_state,hnfubuki)
{
- UINT8 *rom = machine.root_device().memregion("gfx1")->base();
- int len = machine.root_device().memregion("gfx1")->bytes();
+ UINT8 *rom = machine().root_device().memregion("gfx1")->base();
+ int len = machine().root_device().memregion("gfx1")->bytes();
int i, j;
/* interestingly, the blitter data has a slight encryption */
@@ -703,6 +703,6 @@ static DRIVER_INIT( hnfubuki )
}
-GAME( 1987, hnayayoi, 0, hnayayoi, hnayayoi, hnayayoi_state, 0, ROT0, "Dyna Electronics", "Hana Yayoi (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, hnayayoi, 0, hnayayoi, hnayayoi, driver_device, 0, ROT0, "Dyna Electronics", "Hana Yayoi (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1987, hnfubuki, hnayayoi, hnfubuki, hnfubuki, hnayayoi_state, hnfubuki, ROT0, "Dynax", "Hana Fubuki [BET] (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, untoucha, 0, untoucha, untoucha, hnayayoi_state, 0, ROT0, "Dynax", "Untouchable (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, untoucha, 0, untoucha, untoucha, driver_device, 0, ROT0, "Dynax", "Untouchable (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/hng64.c b/src/mame/drivers/hng64.c
index d199688d84f..dbdf1db4f71 100644
--- a/src/mame/drivers/hng64.c
+++ b/src/mame/drivers/hng64.c
@@ -1623,9 +1623,9 @@ static void hng64_reorder(running_machine &machine, UINT8* gfxregion, size_t gfx
auto_free (machine, buffer);
}
-static DRIVER_INIT( hng64_reorder_gfx )
+DRIVER_INIT_MEMBER(hng64_state,hng64_reorder_gfx)
{
- hng64_reorder(machine, machine.root_device().memregion("scrtile")->base(), machine.root_device().memregion("scrtile")->bytes());
+ hng64_reorder(machine(), machine().root_device().memregion("scrtile")->base(), machine().root_device().memregion("scrtile")->bytes());
}
#define HACK_REGION
@@ -1644,70 +1644,64 @@ static void hng64_patch_bios_region(running_machine& machine, int region)
}
#endif
-static DRIVER_INIT( hng64 )
+DRIVER_INIT_MEMBER(hng64_state,hng64)
{
- hng64_state *state = machine.driver_data<hng64_state>();
// region hacking, english error messages are more useful to us, but no english bios is dumped...
#ifdef HACK_REGION
// versions according to fatal fury test mode
-// hng64_patch_bios_region(machine, 0); // 'Others Ver' (invalid?)
- hng64_patch_bios_region(machine, 1); // Japan
-// hng64_patch_bios_region(machine, 2); // USA
-// hng64_patch_bios_region(machine, 3); // Korea
-// hng64_patch_bios_region(machine, 4); // 'Others'
+// hng64_patch_bios_region(machine(), 0); // 'Others Ver' (invalid?)
+ hng64_patch_bios_region(machine(), 1); // Japan
+// hng64_patch_bios_region(machine(), 2); // USA
+// hng64_patch_bios_region(machine(), 3); // Korea
+// hng64_patch_bios_region(machine(), 4); // 'Others'
#endif
/* 1 meg of virtual address space for the com cpu */
- state->m_com_virtual_mem = auto_alloc_array(machine, UINT8, 0x100000);
- state->m_com_op_base = auto_alloc_array(machine, UINT8, 0x10000);
+ m_com_virtual_mem = auto_alloc_array(machine(), UINT8, 0x100000);
+ m_com_op_base = auto_alloc_array(machine(), UINT8, 0x10000);
- state->m_soundram = auto_alloc_array(machine, UINT16, 0x200000/2);
- state->m_soundram2 = auto_alloc_array(machine, UINT16, 0x200000/2);
+ m_soundram = auto_alloc_array(machine(), UINT16, 0x200000/2);
+ m_soundram2 = auto_alloc_array(machine(), UINT16, 0x200000/2);
DRIVER_INIT_CALL(hng64_reorder_gfx);
}
-static DRIVER_INIT(hng64_fght)
+DRIVER_INIT_MEMBER(hng64_state,hng64_fght)
{
- hng64_state *state = machine.driver_data<hng64_state>();
- state->m_no_machine_error_code = 0x01000000;
+ m_no_machine_error_code = 0x01000000;
DRIVER_INIT_CALL(hng64);
}
-static DRIVER_INIT( fatfurwa )
+DRIVER_INIT_MEMBER(hng64_state,fatfurwa)
{
- hng64_state *state = machine.driver_data<hng64_state>();
- /* FILE* fp = fopen("/tmp/test.bin", "wb"); fwrite(state->memregion("verts")->base(), 1, 0x0c00000*2, fp); fclose(fp); */
+ /* FILE* fp = fopen("/tmp/test.bin", "wb"); fwrite(memregion("verts")->base(), 1, 0x0c00000*2, fp); fclose(fp); */
DRIVER_INIT_CALL(hng64_fght);
- state->m_mcu_type = FIGHT_MCU;
+ m_mcu_type = FIGHT_MCU;
}
-static DRIVER_INIT( ss64 )
+DRIVER_INIT_MEMBER(hng64_state,ss64)
{
- hng64_state *state = machine.driver_data<hng64_state>();
DRIVER_INIT_CALL(hng64_fght);
- state->m_mcu_type = SAMSHO_MCU;
+ m_mcu_type = SAMSHO_MCU;
}
-static DRIVER_INIT(hng64_race)
+DRIVER_INIT_MEMBER(hng64_state,hng64_race)
{
- hng64_state *state = machine.driver_data<hng64_state>();
- state->m_no_machine_error_code = 0x02000000;
- state->m_mcu_type = RACING_MCU;
+ m_no_machine_error_code = 0x02000000;
+ m_mcu_type = RACING_MCU;
DRIVER_INIT_CALL(hng64);
}
-static DRIVER_INIT(hng64_shoot)
+DRIVER_INIT_MEMBER(hng64_state,hng64_shoot)
{
- hng64_state *state = machine.driver_data<hng64_state>();
- state->m_mcu_type = SHOOT_MCU;
- state->m_no_machine_error_code = 0x03000000;
+ m_mcu_type = SHOOT_MCU;
+ m_no_machine_error_code = 0x03000000;
DRIVER_INIT_CALL(hng64);
}
diff --git a/src/mame/drivers/holeland.c b/src/mame/drivers/holeland.c
index 07c6eb9cb33..5af99b46e41 100644
--- a/src/mame/drivers/holeland.c
+++ b/src/mame/drivers/holeland.c
@@ -498,7 +498,7 @@ ROM_START( crzrallyg )
ROM_END
-GAME( 1984, holeland, 0, holeland, holeland, holeland_state, 0, ROT0, "Tecfri", "Hole Land", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1985, crzrally, 0, crzrally, crzrally, holeland_state, 0, ROT270, "Tecfri", "Crazy Rally (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1985, crzrallya, crzrally, crzrally, crzrally, holeland_state, 0, ROT270, "Tecfri", "Crazy Rally (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1985, crzrallyg, crzrally, crzrally, crzrally, holeland_state, 0, ROT270, "Tecfri (Gecas license)", "Crazy Rally (Gecas license)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1984, holeland, 0, holeland, holeland, driver_device, 0, ROT0, "Tecfri", "Hole Land", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1985, crzrally, 0, crzrally, crzrally, driver_device, 0, ROT270, "Tecfri", "Crazy Rally (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1985, crzrallya, crzrally, crzrally, crzrally, driver_device, 0, ROT270, "Tecfri", "Crazy Rally (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1985, crzrallyg, crzrally, crzrally, crzrally, driver_device, 0, ROT270, "Tecfri (Gecas license)", "Crazy Rally (Gecas license)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/homedata.c b/src/mame/drivers/homedata.c
index aa32150b674..c6fbb8e0b78 100644
--- a/src/mame/drivers/homedata.c
+++ b/src/mame/drivers/homedata.c
@@ -2019,58 +2019,54 @@ ROM_END
-static DRIVER_INIT( jogakuen )
+DRIVER_INIT_MEMBER(homedata_state,jogakuen)
{
/* it seems that Mahjong Jogakuen runs on the same board as the others,
but with just these two addresses swapped. Instead of creating a new
MachineDriver, I just fix them here. */
- homedata_state *state = machine.driver_data<homedata_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8007, 0x8007, write8_delegate(FUNC(homedata_state::pteacher_blitter_bank_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8005, 0x8005, write8_delegate(FUNC(homedata_state::pteacher_gfx_bank_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8007, 0x8007, write8_delegate(FUNC(homedata_state::pteacher_blitter_bank_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8005, 0x8005, write8_delegate(FUNC(homedata_state::pteacher_gfx_bank_w),this));
}
-static DRIVER_INIT( mjikaga )
+DRIVER_INIT_MEMBER(homedata_state,mjikaga)
{
/* Mahjong Ikagadesuka is different as well. */
- homedata_state *state = machine.driver_data<homedata_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x7802, 0x7802, read8_delegate(FUNC(homedata_state::pteacher_snd_r),state));
- machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0123, 0x0123, write8_delegate(FUNC(homedata_state::pteacher_snd_answer_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x7802, 0x7802, read8_delegate(FUNC(homedata_state::pteacher_snd_r),this));
+ machine().device("audiocpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0123, 0x0123, write8_delegate(FUNC(homedata_state::pteacher_snd_answer_w),this));
}
-static DRIVER_INIT( reikaids )
+DRIVER_INIT_MEMBER(homedata_state,reikaids)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- state->m_priority = 0;
+ m_priority = 0;
}
-static DRIVER_INIT( battlcry )
+DRIVER_INIT_MEMBER(homedata_state,battlcry)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- state->m_priority = 1; /* priority and initial value for bank write */
+ m_priority = 1; /* priority and initial value for bank write */
}
-static DRIVER_INIT( mirderby )
+DRIVER_INIT_MEMBER(homedata_state,mirderby)
{
}
-GAME( 1987, hourouki, 0, mrokumei, mjhokite, homedata_state, 0, ROT0, "Home Data", "Mahjong Hourouki Part 1 - Seisyun Hen (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1987, mhgaiden, 0, mrokumei, mjhokite, homedata_state, 0, ROT0, "Home Data", "Mahjong Hourouki Gaiden (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, mjhokite, 0, mrokumei, mjhokite, homedata_state, 0, ROT0, "Home Data", "Mahjong Hourouki Okite (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, mjclinic, 0, mrokumei, mjhokite, homedata_state, 0, ROT0, "Home Data", "Mahjong Clinic (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, mrokumei, 0, mrokumei, mjhokite, homedata_state, 0, ROT0, "Home Data", "Mahjong Rokumeikan (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1987, hourouki, 0, mrokumei, mjhokite, driver_device, 0, ROT0, "Home Data", "Mahjong Hourouki Part 1 - Seisyun Hen (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1987, mhgaiden, 0, mrokumei, mjhokite, driver_device, 0, ROT0, "Home Data", "Mahjong Hourouki Gaiden (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, mjhokite, 0, mrokumei, mjhokite, driver_device, 0, ROT0, "Home Data", "Mahjong Hourouki Okite (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, mjclinic, 0, mrokumei, mjhokite, driver_device, 0, ROT0, "Home Data", "Mahjong Clinic (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, mrokumei, 0, mrokumei, mjhokite, driver_device, 0, ROT0, "Home Data", "Mahjong Rokumeikan (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1988, reikaids, 0, reikaids, reikaids, homedata_state, reikaids, ROT0, "Home Data", "Reikai Doushi (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1991, battlcry, 0, reikaids, battlcry, homedata_state, battlcry, ROT0, "Home Data", "Battlecry", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1989, mjkojink, 0, pteacher, pteacher, homedata_state, 0, ROT0, "Home Data", "Mahjong Kojinkyouju (Private Teacher) (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, vitaminc, 0, pteacher, pteacher, homedata_state, 0, ROT0, "Home Data", "Mahjong Vitamin C (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mjyougo, 0, pteacher, pteacher, homedata_state, 0, ROT0, "Home Data", "Mahjong-yougo no Kisotairyoku (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, mjkinjas, 0, mjkinjas, pteacher, homedata_state, 0, ROT0, "Home Data", "Mahjong Kinjirareta Asobi (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, mjkojink, 0, pteacher, pteacher, driver_device, 0, ROT0, "Home Data", "Mahjong Kojinkyouju (Private Teacher) (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, vitaminc, 0, pteacher, pteacher, driver_device, 0, ROT0, "Home Data", "Mahjong Vitamin C (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, mjyougo, 0, pteacher, pteacher, driver_device, 0, ROT0, "Home Data", "Mahjong-yougo no Kisotairyoku (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, mjkinjas, 0, mjkinjas, pteacher, driver_device, 0, ROT0, "Home Data", "Mahjong Kinjirareta Asobi (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1992?,jogakuen, 0, pteacher, jogakuen, homedata_state, jogakuen, ROT0, "Windom", "Mahjong Jogakuen (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, lemnangl, 0, lemnangl, pteacher, homedata_state, 0, ROT0, "Home Data", "Mahjong Lemon Angel (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, mjprivat, 0, lemnangl, pteacher, homedata_state, 0, ROT0, "Matoba", "Mahjong Private (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, lemnangl, 0, lemnangl, pteacher, driver_device, 0, ROT0, "Home Data", "Mahjong Lemon Angel (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, mjprivat, 0, lemnangl, pteacher, driver_device, 0, ROT0, "Matoba", "Mahjong Private (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1991?,mjikaga, 0, lemnangl, mjikaga, homedata_state, mjikaga, ROT0, "Mitchell", "Mahjong Ikaga Desu ka (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/homerun.c b/src/mame/drivers/homerun.c
index eda755f4c32..de8454afae3 100644
--- a/src/mame/drivers/homerun.c
+++ b/src/mame/drivers/homerun.c
@@ -311,5 +311,5 @@ ROM_START( dynashot )
ROM_END
-GAME( 1988, homerun, 0, homerun, homerun, homerun_state, 0, ROT0, "Jaleco", "Moero Pro Yakyuu Homerun", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1988, dynashot, 0, homerun, dynashot, homerun_state, 0, ROT0, "Jaleco", "Dynamic Shooting", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1988, homerun, 0, homerun, homerun, driver_device, 0, ROT0, "Jaleco", "Moero Pro Yakyuu Homerun", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1988, dynashot, 0, homerun, dynashot, driver_device, 0, ROT0, "Jaleco", "Dynamic Shooting", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/hornet.c b/src/mame/drivers/hornet.c
index 4ae41fd57b8..2dc9e488087 100644
--- a/src/mame/drivers/hornet.c
+++ b/src/mame/drivers/hornet.c
@@ -364,6 +364,8 @@ public:
DECLARE_WRITE32_MEMBER(dsp_dataram0_w);
DECLARE_READ32_MEMBER(dsp_dataram1_r);
DECLARE_WRITE32_MEMBER(dsp_dataram1_w);
+ DECLARE_DRIVER_INIT(hornet);
+ DECLARE_DRIVER_INIT(hornet_2board);
};
@@ -1263,27 +1265,25 @@ static void jamma_jvs_cmd_exec(running_machine &machine)
/*****************************************************************************/
-static DRIVER_INIT(hornet)
+DRIVER_INIT_MEMBER(hornet_state,hornet)
{
- hornet_state *state = machine.driver_data<hornet_state>();
- init_konami_cgboard(machine, 1, CGBOARD_TYPE_HORNET);
- set_cgboard_texture_bank(machine, 0, "bank5", state->memregion("user5")->base());
+ init_konami_cgboard(machine(), 1, CGBOARD_TYPE_HORNET);
+ set_cgboard_texture_bank(machine(), 0, "bank5", memregion("user5")->base());
- state->m_led_reg0 = state->m_led_reg1 = 0x7f;
+ m_led_reg0 = m_led_reg1 = 0x7f;
- ppc4xx_spu_set_tx_handler(machine.device("maincpu"), jamma_jvs_w);
+ ppc4xx_spu_set_tx_handler(machine().device("maincpu"), jamma_jvs_w);
}
-static DRIVER_INIT(hornet_2board)
+DRIVER_INIT_MEMBER(hornet_state,hornet_2board)
{
- hornet_state *state = machine.driver_data<hornet_state>();
- init_konami_cgboard(machine, 2, CGBOARD_TYPE_HORNET);
- set_cgboard_texture_bank(machine, 0, "bank5", state->memregion("user5")->base());
- set_cgboard_texture_bank(machine, 1, "bank6", state->memregion("user5")->base());
+ init_konami_cgboard(machine(), 2, CGBOARD_TYPE_HORNET);
+ set_cgboard_texture_bank(machine(), 0, "bank5", memregion("user5")->base());
+ set_cgboard_texture_bank(machine(), 1, "bank6", memregion("user5")->base());
- state->m_led_reg0 = state->m_led_reg1 = 0x7f;
+ m_led_reg0 = m_led_reg1 = 0x7f;
- ppc4xx_spu_set_tx_handler(machine.device("maincpu"), jamma_jvs_w);
+ ppc4xx_spu_set_tx_handler(machine().device("maincpu"), jamma_jvs_w);
}
/*****************************************************************************/
diff --git a/src/mame/drivers/hotblock.c b/src/mame/drivers/hotblock.c
index 509728d39ab..df68f480425 100644
--- a/src/mame/drivers/hotblock.c
+++ b/src/mame/drivers/hotblock.c
@@ -245,4 +245,4 @@ ROM_START( hotblock )
ROM_LOAD( "hotblk6.ic5", 0x080000, 0x080000, CRC(3176d231) SHA1(ac22fd0e9820c6714f51a3d8315eb5d43ef91eeb) )
ROM_END
-GAME( 1993, hotblock, 0, hotblock, hotblock, hotblock_state, 0, ROT0, "NIX?", "Hot Blocks - Tetrix II", 0 )
+GAME( 1993, hotblock, 0, hotblock, hotblock, driver_device, 0, ROT0, "NIX?", "Hot Blocks - Tetrix II", 0 )
diff --git a/src/mame/drivers/hotstuff.c b/src/mame/drivers/hotstuff.c
index 65b6d464a2b..4617c32bf54 100644
--- a/src/mame/drivers/hotstuff.c
+++ b/src/mame/drivers/hotstuff.c
@@ -149,4 +149,4 @@ ROM_START( hotstuff )
ROM_LOAD16_WORD_SWAP( "hot stuff symbol u8 (68000).bin", 0x00000, 0x80000, CRC(f154a157) SHA1(92ae0fb977e2dcc0377487d768f95c6e447e990b) )
ROM_END
-GAME( ????, hotstuff, 0, hotstuff, hotstuff, hotstuff_state, 0, ROT0, "Olympic Video Gaming", "Olympic Hot Stuff (TAS 5 Reel System)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( ????, hotstuff, 0, hotstuff, hotstuff, driver_device, 0, ROT0, "Olympic Video Gaming", "Olympic Hot Stuff (TAS 5 Reel System)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/hshavoc.c b/src/mame/drivers/hshavoc.c
index 57a6a8aeb20..0763209c4fc 100644
--- a/src/mame/drivers/hshavoc.c
+++ b/src/mame/drivers/hshavoc.c
@@ -115,11 +115,11 @@ ROM_END
#endif
-static DRIVER_INIT(hshavoc)
+DRIVER_INIT_MEMBER(md_cons_state,hshavoc)
{
int x;
- UINT16 *src = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *src = (UINT16 *)machine().root_device().memregion("maincpu")->base();
static const UINT16 typedat[16] = {
1,1,1,1, 1,1,1,1,
@@ -218,7 +218,7 @@ static DRIVER_INIT(hshavoc)
*/
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
space->nop_write(0x200000, 0x201fff);
}
diff --git a/src/mame/drivers/hvyunit.c b/src/mame/drivers/hvyunit.c
index 8e50b125b87..24a2fa1d51b 100644
--- a/src/mame/drivers/hvyunit.c
+++ b/src/mame/drivers/hvyunit.c
@@ -822,7 +822,7 @@ ROM_END
*
*************************************/
-GAME( 1988, hvyunit, 0, hvyunit, hvyunit, hvyunit_state, 0, ROT0, "Kaneko / Taito", "Heavy Unit (World)", GAME_NO_COCKTAIL )
-GAME( 1988, hvyunitj, hvyunit, hvyunit, hvyunitj, hvyunit_state, 0, ROT0, "Kaneko / Taito", "Heavy Unit (Japan, Newer)", GAME_NO_COCKTAIL )
-GAME( 1988, hvyunitjo,hvyunit, hvyunit, hvyunitj, hvyunit_state, 0, ROT0, "Kaneko / Taito", "Heavy Unit (Japan, Older)", GAME_NO_COCKTAIL )
-GAME( 1988, hvyunitu, hvyunit, hvyunit, hvyunitj, hvyunit_state, 0, ROT0, "Kaneko / Taito", "Heavy Unit -U.S.A. Version- (US)", GAME_NO_COCKTAIL )
+GAME( 1988, hvyunit, 0, hvyunit, hvyunit, driver_device, 0, ROT0, "Kaneko / Taito", "Heavy Unit (World)", GAME_NO_COCKTAIL )
+GAME( 1988, hvyunitj, hvyunit, hvyunit, hvyunitj, driver_device, 0, ROT0, "Kaneko / Taito", "Heavy Unit (Japan, Newer)", GAME_NO_COCKTAIL )
+GAME( 1988, hvyunitjo,hvyunit, hvyunit, hvyunitj, driver_device, 0, ROT0, "Kaneko / Taito", "Heavy Unit (Japan, Older)", GAME_NO_COCKTAIL )
+GAME( 1988, hvyunitu, hvyunit, hvyunit, hvyunitj, driver_device, 0, ROT0, "Kaneko / Taito", "Heavy Unit -U.S.A. Version- (US)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/hyhoo.c b/src/mame/drivers/hyhoo.c
index 39dbac5c77c..7b54c3beefa 100644
--- a/src/mame/drivers/hyhoo.c
+++ b/src/mame/drivers/hyhoo.c
@@ -30,12 +30,12 @@ Memo:
#include "machine/nvram.h"
-static DRIVER_INIT( hyhoo )
+DRIVER_INIT_MEMBER(hyhoo_state,hyhoo)
{
nb1413m3_type = NB1413M3_HYHOO;
}
-static DRIVER_INIT( hyhoo2 )
+DRIVER_INIT_MEMBER(hyhoo_state,hyhoo2)
{
nb1413m3_type = NB1413M3_HYHOO2;
}
diff --git a/src/mame/drivers/hyperspt.c b/src/mame/drivers/hyperspt.c
index a14108ebf21..e5cd5e73350 100644
--- a/src/mame/drivers/hyperspt.c
+++ b/src/mame/drivers/hyperspt.c
@@ -530,9 +530,9 @@ ROM_START( roadf2 )
ROM_END
-static DRIVER_INIT( hyperspt )
+DRIVER_INIT_MEMBER(hyperspt_state,hyperspt)
{
- konami1_decode(machine, "maincpu");
+ konami1_decode(machine(), "maincpu");
}
diff --git a/src/mame/drivers/hyprduel.c b/src/mame/drivers/hyprduel.c
index db3237fc4b8..81d27dad36c 100644
--- a/src/mame/drivers/hyprduel.c
+++ b/src/mame/drivers/hyprduel.c
@@ -802,25 +802,23 @@ ROM_START( magerror )
ROM_END
-static DRIVER_INIT( hyprduel )
+DRIVER_INIT_MEMBER(hyprduel_state,hyprduel)
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
- state->m_int_num = 0x02;
+ m_int_num = 0x02;
/* cpu synchronization (severe timings) */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc0040e, 0xc00411, write16_delegate(FUNC(hyprduel_state::hyprduel_cpusync_trigger1_w),state));
- machine.device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0xc00408, 0xc00409, read16_delegate(FUNC(hyprduel_state::hyprduel_cpusync_trigger1_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00408, 0xc00409, write16_delegate(FUNC(hyprduel_state::hyprduel_cpusync_trigger2_w),state));
- machine.device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0xfff34c, 0xfff34d, read16_delegate(FUNC(hyprduel_state::hyprduel_cpusync_trigger2_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc0040e, 0xc00411, write16_delegate(FUNC(hyprduel_state::hyprduel_cpusync_trigger1_w),this));
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0xc00408, 0xc00409, read16_delegate(FUNC(hyprduel_state::hyprduel_cpusync_trigger1_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00408, 0xc00409, write16_delegate(FUNC(hyprduel_state::hyprduel_cpusync_trigger2_w),this));
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0xfff34c, 0xfff34d, read16_delegate(FUNC(hyprduel_state::hyprduel_cpusync_trigger2_r),this));
}
-static DRIVER_INIT( magerror )
+DRIVER_INIT_MEMBER(hyprduel_state,magerror)
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
- state->m_int_num = 0x01;
- state->m_magerror_irq_timer = machine.scheduler().timer_alloc(FUNC(magerror_irq_callback));
+ m_int_num = 0x01;
+ m_magerror_irq_timer = machine().scheduler().timer_alloc(FUNC(magerror_irq_callback));
}
diff --git a/src/mame/drivers/icecold.c b/src/mame/drivers/icecold.c
index cea801c9b2b..379faecda20 100644
--- a/src/mame/drivers/icecold.c
+++ b/src/mame/drivers/icecold.c
@@ -462,5 +462,5 @@ ROM_START(zekepeak)
ROM_END
-GAME(1983, icecold , 0 , icecold, icecold, icecold_state, 0, ROT0, "Taito", "Ice Cold Beer", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL)
-GAME(1983, zekepeak, icecold, icecold, icecold, icecold_state, 0, ROT0, "Taito", "Zeke's Peak" , GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL)
+GAME(1983, icecold , 0 , icecold, icecold, driver_device, 0, ROT0, "Taito", "Ice Cold Beer", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL)
+GAME(1983, zekepeak, icecold, icecold, icecold, driver_device, 0, ROT0, "Taito", "Zeke's Peak" , GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL)
diff --git a/src/mame/drivers/ichiban.c b/src/mame/drivers/ichiban.c
index 0a7f64797d2..22752fa5279 100644
--- a/src/mame/drivers/ichiban.c
+++ b/src/mame/drivers/ichiban.c
@@ -166,4 +166,4 @@ ROM_START( ichiban )
ROM_LOAD( "mjb.u38", 0x400, 0x200, CRC(0ef881cb) SHA1(44b61a443d683f5cb2d1b1a4f74d8a8f41021de5) )
ROM_END
-GAME( 199?, ichiban, 0, ichibanjyan, ichibanjyan, ichibanjyan_state, 0, ROT0, "Excel", "Ichi Ban Jyan", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, ichiban, 0, ichibanjyan, ichibanjyan, driver_device, 0, ROT0, "Excel", "Ichi Ban Jyan", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/igs009.c b/src/mame/drivers/igs009.c
index 27a177dcdf6..610402b7e94 100644
--- a/src/mame/drivers/igs009.c
+++ b/src/mame/drivers/igs009.c
@@ -76,6 +76,7 @@ public:
DECLARE_READ8_MEMBER(jingbell_magic_r);
void show_out();
DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
+ DECLARE_DRIVER_INIT(jingbell);
};
@@ -842,11 +843,11 @@ ROM_START( jingbell )
ROM_LOAD( "palce22v10h-ch-jin-u27.u27", 0x000, 0x2dd, BAD_DUMP CRC(5c4e9024) SHA1(e9d1e4df3d79c21f4ce053a84bb7b7a43d650f91) )
ROM_END
-static DRIVER_INIT( jingbell )
+DRIVER_INIT_MEMBER(igs009_state,jingbell)
{
int i;
- UINT8 *rom = (UINT8 *)machine.root_device().memregion("maincpu")->base();
- size_t size = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *rom = (UINT8 *)machine().root_device().memregion("maincpu")->base();
+ size_t size = machine().root_device().memregion("maincpu")->bytes();
for (i=0; i<size; i++)
{
@@ -931,4 +932,4 @@ ROM_START( gp98 )
ROM_END
GAME( 1995?, jingbell, 0, jingbell, jingbell, igs009_state, jingbell, ROT0, "IGS", "Jingle Bell (Italy, V133I)", 0 )
-GAME( 1998, gp98, 0, gp98, jingbell, igs009_state, 0, ROT0, "Romtec Co. Ltd", "Grand Prix '98 (V100K)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, gp98, 0, gp98, jingbell, driver_device, 0, ROT0, "Romtec Co. Ltd", "Grand Prix '98 (V100K)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/igs011.c b/src/mame/drivers/igs011.c
index c34408ead6b..52d62a25c8a 100644
--- a/src/mame/drivers/igs011.c
+++ b/src/mame/drivers/igs011.c
@@ -178,6 +178,23 @@ public:
DECLARE_WRITE16_MEMBER(lhb_okibank_w);
DECLARE_READ16_MEMBER(ics2115_word_r);
DECLARE_WRITE16_MEMBER(ics2115_word_w);
+ DECLARE_DRIVER_INIT(lhbv33c);
+ DECLARE_DRIVER_INIT(drgnwrldv21j);
+ DECLARE_DRIVER_INIT(wlcc);
+ DECLARE_DRIVER_INIT(nkishusp);
+ DECLARE_DRIVER_INIT(drgnwrldv21);
+ DECLARE_DRIVER_INIT(dbc);
+ DECLARE_DRIVER_INIT(lhb);
+ DECLARE_DRIVER_INIT(drgnwrld);
+ DECLARE_DRIVER_INIT(drgnwrldv30);
+ DECLARE_DRIVER_INIT(drgnwrldv11h);
+ DECLARE_DRIVER_INIT(lhb2);
+ DECLARE_DRIVER_INIT(xymg);
+ DECLARE_DRIVER_INIT(drgnwrldv10c);
+ DECLARE_DRIVER_INIT(drgnwrldv20j);
+ DECLARE_DRIVER_INIT(vbowl);
+ DECLARE_DRIVER_INIT(vbowlj);
+ DECLARE_DRIVER_INIT(ryukobou);
};
@@ -1759,12 +1776,12 @@ READ16_MEMBER(igs011_state::vbowl_igs003_r)
***************************************************************************/
// V0400O
-static DRIVER_INIT( drgnwrld )
+DRIVER_INIT_MEMBER(igs011_state,drgnwrld)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- drgnwrld_type1_decrypt(machine);
- drgnwrld_gfx_decrypt(machine);
+ drgnwrld_type1_decrypt(machine());
+ drgnwrld_gfx_decrypt(machine());
/*
// PROTECTION CHECKS
rom[0x032ee/2] = 0x606c; // 0032EE: 676C beq 335c (ASIC11 CHECK PORT ERROR 3)
@@ -1785,12 +1802,12 @@ static DRIVER_INIT( drgnwrld )
*/
}
-static DRIVER_INIT( drgnwrldv30 )
+DRIVER_INIT_MEMBER(igs011_state,drgnwrldv30)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- drgnwrld_type1_decrypt(machine);
- drgnwrld_gfx_decrypt(machine);
+ drgnwrld_type1_decrypt(machine());
+ drgnwrld_gfx_decrypt(machine());
/*
// PROTECTION CHECKS
rom[0x032ee/2] = 0x606c; // 0032EE: 676C beq 335c (ASIC11 CHECK PORT ERROR 3)
@@ -1810,14 +1827,13 @@ static DRIVER_INIT( drgnwrldv30 )
*/
}
-static DRIVER_INIT( drgnwrldv21 )
+DRIVER_INIT_MEMBER(igs011_state,drgnwrldv21)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- drgnwrld_type2_decrypt(machine);
- drgnwrld_gfx_decrypt(machine);
- igs011_state *state = machine.driver_data<igs011_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd4c0, 0xd4ff, read16_delegate(FUNC(igs011_state::drgnwrldv21_igs011_prot2_r), state));
+ drgnwrld_type2_decrypt(machine());
+ drgnwrld_gfx_decrypt(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd4c0, 0xd4ff, read16_delegate(FUNC(igs011_state::drgnwrldv21_igs011_prot2_r), this));
/*
// PROTECTION CHECKS
// bp 32ee; bp 11ca8; bp 23d5e; bp 23fd0; bp 24170; bp 24348; bp 2454e; bp 246cc; bp 24922; bp 24b66; bp 24de2; bp 2502a; bp 25556; bp 269de; bp 2766a; bp 2a830
@@ -1840,12 +1856,12 @@ static DRIVER_INIT( drgnwrldv21 )
*/
}
-static DRIVER_INIT( drgnwrldv21j )
+DRIVER_INIT_MEMBER(igs011_state,drgnwrldv21j)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- drgnwrld_type3_decrypt(machine);
- drgnwrld_gfx_decrypt(machine);
+ drgnwrld_type3_decrypt(machine());
+ drgnwrld_gfx_decrypt(machine());
/*
// PROTECTION CHECKS
rom[0x033d2/2] = 0x606c; // 0033D2: 676C beq 3440 (ASIC11 CHECK PORT ERROR 3)
@@ -1867,12 +1883,12 @@ static DRIVER_INIT( drgnwrldv21j )
*/
}
-static DRIVER_INIT( drgnwrldv20j )
+DRIVER_INIT_MEMBER(igs011_state,drgnwrldv20j)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- drgnwrld_type3_decrypt(machine);
- drgnwrld_gfx_decrypt(machine);
+ drgnwrld_type3_decrypt(machine());
+ drgnwrld_gfx_decrypt(machine());
/*
// PROTECTION CHECKS
// bp 33d2; bp 11c74; bp 23d2a; bp 23f68; bp 240d4; bp 242ac; bp 244b2; bp 24630; bp 24886; bp 24aca; bp 24d46; bp 24f8e; bp 254ba; bp 26a52; bp 276a0; bp 2a86e
@@ -1896,21 +1912,21 @@ static DRIVER_INIT( drgnwrldv20j )
*/
}
-static DRIVER_INIT( drgnwrldv11h )
+DRIVER_INIT_MEMBER(igs011_state,drgnwrldv11h)
{
- drgnwrld_type1_decrypt(machine);
- drgnwrld_gfx_decrypt(machine);
+ drgnwrld_type1_decrypt(machine());
+ drgnwrld_gfx_decrypt(machine());
// PROTECTION CHECKS
// the protection checks are already patched out like we do!
}
-static DRIVER_INIT( drgnwrldv10c )
+DRIVER_INIT_MEMBER(igs011_state,drgnwrldv10c)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- drgnwrld_type1_decrypt(machine);
- drgnwrld_gfx_decrypt(machine);
+ drgnwrld_type1_decrypt(machine());
+ drgnwrld_gfx_decrypt(machine());
/*
// PROTECTION CHECKS
// bp 33d2; bp 23d0e; bp 23f58; bp 240d0; bp 242a8; bp 244ae; bp 2462c; bp 24882; bp 24ac6; bp 24d42; bp 24f8a; bp 254b6; bp 2a23a
@@ -1931,34 +1947,33 @@ static DRIVER_INIT( drgnwrldv10c )
}
-static DRIVER_INIT( lhb )
+DRIVER_INIT_MEMBER(igs011_state,lhb)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- lhb_decrypt(machine);
+ lhb_decrypt(machine());
// PROTECTION CHECKS
// rom[0x2eef6/2] = 0x4e75; // 02EEF6: 4E56 FE00 link A6, #-$200 (fills palette with pink otherwise)
}
-static DRIVER_INIT( lhbv33c )
+DRIVER_INIT_MEMBER(igs011_state,lhbv33c)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- lhb_decrypt(machine);
+ lhb_decrypt(machine());
// PROTECTION CHECKS
// rom[0x2e988/2] = 0x4e75; // 02E988: 4E56 FE00 link A6, #-$200 (fills palette with pink otherwise)
}
-static DRIVER_INIT( dbc )
+DRIVER_INIT_MEMBER(igs011_state,dbc)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- dbc_decrypt(machine);
+ dbc_decrypt(machine());
- igs011_state *state = machine.driver_data<igs011_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x10600, 0x107ff, read16_delegate(FUNC(igs011_state::dbc_igs011_prot2_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x10600, 0x107ff, read16_delegate(FUNC(igs011_state::dbc_igs011_prot2_r), this));
/*
// PROTECTION CHECKS
rom[0x04c42/2] = 0x602e; // 004C42: 6604 bne 4c48 (rom test error otherwise)
@@ -1982,25 +1997,24 @@ static DRIVER_INIT( dbc )
// rom[0x19E90/2] = 0x00ff;
}
-static DRIVER_INIT( ryukobou )
+DRIVER_INIT_MEMBER(igs011_state,ryukobou)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- ryukobou_decrypt(machine);
+ ryukobou_decrypt(machine());
- igs011_state *state = machine.driver_data<igs011_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x10600, 0x107ff, read16_delegate(FUNC(igs011_state::ryukobou_igs011_prot2_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x10600, 0x107ff, read16_delegate(FUNC(igs011_state::ryukobou_igs011_prot2_r), this));
// PROTECTION CHECKS
// rom[0x2df68/2] = 0x4e75; // 02DF68: 4E56 FE00 link A6, #-$200 (fills palette with pink otherwise)
}
-static DRIVER_INIT( xymg )
+DRIVER_INIT_MEMBER(igs011_state,xymg)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- lhb_decrypt(machine);
+ lhb_decrypt(machine());
/*
// PROTECTION CHECKS
rom[0x00502/2] = 0x6006; // 000502: 6050 bra 554
@@ -2030,11 +2044,11 @@ static DRIVER_INIT( xymg )
*/
}
-static DRIVER_INIT( wlcc )
+DRIVER_INIT_MEMBER(igs011_state,wlcc)
{
-// UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- wlcc_decrypt(machine);
+ wlcc_decrypt(machine());
/*
// PROTECTION CHECKS
rom[0x16b96/2] = 0x6000; // 016B96: 6700 02FE beq 16e96 (fills palette with red otherwise)
@@ -2054,12 +2068,12 @@ static DRIVER_INIT( wlcc )
}
-static DRIVER_INIT( lhb2 )
+DRIVER_INIT_MEMBER(igs011_state,lhb2)
{
- UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- lhb2_decrypt(machine);
- lhb2_decrypt_gfx(machine);
+ lhb2_decrypt(machine());
+ lhb2_decrypt_gfx(machine());
// PROTECTION CHECKS
rom[0x034f4/2] = 0x4e71; // 0034F4: 660E bne 3504 (rom test, fills palette with white otherwise)
@@ -2077,13 +2091,13 @@ static DRIVER_INIT( lhb2 )
rom[0x44834/2] = 0x6034; // 044834: 6734 beq 4486a (fills palette with black otherwise)
}
-static DRIVER_INIT( vbowl )
+DRIVER_INIT_MEMBER(igs011_state,vbowl)
{
- UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
- UINT8 *gfx = (UINT8 *) machine.root_device().memregion("blitter")->base();
+ UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
+ UINT8 *gfx = (UINT8 *) machine().root_device().memregion("blitter")->base();
int i;
- vbowlj_decrypt(machine);
+ vbowlj_decrypt(machine());
for (i = 0x400000-1; i >= 0; i--)
{
@@ -2102,13 +2116,13 @@ static DRIVER_INIT( vbowl )
}
-static DRIVER_INIT( vbowlj )
+DRIVER_INIT_MEMBER(igs011_state,vbowlj)
{
- UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
- UINT8 *gfx = (UINT8 *) machine.root_device().memregion("blitter")->base();
+ UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
+ UINT8 *gfx = (UINT8 *) machine().root_device().memregion("blitter")->base();
int i;
- vbowlj_decrypt(machine);
+ vbowlj_decrypt(machine());
for (i = 0x400000-1; i >= 0; i--)
{
@@ -2124,12 +2138,12 @@ static DRIVER_INIT( vbowlj )
}
-static DRIVER_INIT( nkishusp )
+DRIVER_INIT_MEMBER(igs011_state,nkishusp)
{
- UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- nkishusp_decrypt(machine);
- lhb2_decrypt_gfx(machine);
+ nkishusp_decrypt(machine());
+ lhb2_decrypt_gfx(machine());
// PROTECTION CHECKS (similar to lhb2)
diff --git a/src/mame/drivers/igs017.c b/src/mame/drivers/igs017.c
index b98deaadf74..1d8bc946521 100644
--- a/src/mame/drivers/igs017.c
+++ b/src/mame/drivers/igs017.c
@@ -135,6 +135,19 @@ public:
DECLARE_WRITE16_MEMBER(slqz2_magic_w);
DECLARE_READ16_MEMBER(slqz2_magic_r);
DECLARE_READ8_MEMBER(mgcs_keys_r);
+ DECLARE_DRIVER_INIT(iqblocka);
+ DECLARE_DRIVER_INIT(mgdh);
+ DECLARE_DRIVER_INIT(slqz2);
+ DECLARE_DRIVER_INIT(lhzb2);
+ DECLARE_DRIVER_INIT(starzan);
+ DECLARE_DRIVER_INIT(mgcs);
+ DECLARE_DRIVER_INIT(tjsb);
+ DECLARE_DRIVER_INIT(iqblockf);
+ DECLARE_DRIVER_INIT(sdmg2);
+ DECLARE_DRIVER_INIT(tarzan);
+ DECLARE_DRIVER_INIT(tarzana);
+ DECLARE_DRIVER_INIT(lhzb2a);
+ DECLARE_DRIVER_INIT(mgdha);
};
@@ -509,18 +522,18 @@ static void iqblocka_patch_rom(running_machine &machine)
// rom[0x385b1] = 0x18;
}
-static DRIVER_INIT( iqblocka )
+DRIVER_INIT_MEMBER(igs017_state,iqblocka)
{
- decrypt_program_rom(machine, 0x11, 7, 6, 5, 4, 3, 2, 1, 0);
- iqblocka_patch_rom(machine);
+ decrypt_program_rom(machine(), 0x11, 7, 6, 5, 4, 3, 2, 1, 0);
+ iqblocka_patch_rom(machine());
}
// iqblockf
-static DRIVER_INIT( iqblockf )
+DRIVER_INIT_MEMBER(igs017_state,iqblockf)
{
- decrypt_program_rom(machine, 0x11, 7, 6, 5, 4, 3, 2, 1, 0);
-// iqblockf_patch_rom(machine);
+ decrypt_program_rom(machine(), 0x11, 7, 6, 5, 4, 3, 2, 1, 0);
+// iqblockf_patch_rom(machine());
}
// tjsb
@@ -550,11 +563,11 @@ static void tjsb_decrypt_sprites(running_machine &machine)
}
}
-static DRIVER_INIT( tjsb )
+DRIVER_INIT_MEMBER(igs017_state,tjsb)
{
- decrypt_program_rom(machine, 0x05, 7, 6, 3, 2, 5, 4, 1, 0);
+ decrypt_program_rom(machine(), 0x05, 7, 6, 3, 2, 5, 4, 1, 0);
- tjsb_decrypt_sprites(machine);
+ tjsb_decrypt_sprites(machine());
}
@@ -661,22 +674,22 @@ static void mgcs_patch_rom(running_machine &machine)
rom[0x20666/2] = 0x601e; // 020666: 671E beq $20686 (rom check)
}
-static DRIVER_INIT( mgcs )
+DRIVER_INIT_MEMBER(igs017_state,mgcs)
{
- mgcs_decrypt_program_rom(machine);
- mgcs_patch_rom(machine);
+ mgcs_decrypt_program_rom(machine());
+ mgcs_patch_rom(machine());
- mgcs_decrypt_tiles(machine);
- mgcs_flip_sprites(machine);
+ mgcs_decrypt_tiles(machine());
+ mgcs_flip_sprites(machine());
}
// tarzan, tarzana
// decryption is incomplete, the first part of code doesn't seem right.
-static DRIVER_INIT( tarzan )
+DRIVER_INIT_MEMBER(igs017_state,tarzan)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
int i;
int size = 0x40000;
@@ -700,9 +713,9 @@ static DRIVER_INIT( tarzan )
}
}
// by iq_132
-static DRIVER_INIT( tarzana )
+DRIVER_INIT_MEMBER(igs017_state,tarzana)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
int i;
int size = 0x80000;
@@ -771,29 +784,29 @@ static void starzan_decrypt(UINT8 *ROM, int size, bool isOpcode)
}
}
-static DRIVER_INIT( starzan )
+DRIVER_INIT_MEMBER(igs017_state,starzan)
{
int size = 0x040000;
- UINT8 *data = machine.root_device().memregion("maincpu")->base();
- UINT8 *code = auto_alloc_array(machine, UINT8, size);
+ UINT8 *data = machine().root_device().memregion("maincpu")->base();
+ UINT8 *code = auto_alloc_array(machine(), UINT8, size);
memcpy(code, data, size);
starzan_decrypt(data, size, false); // data
starzan_decrypt(code, size, true); // opcodes
- machine.device("maincpu")->memory().space(AS_PROGRAM)->set_decrypted_region(0x00000, 0x3ffff, code);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->set_decrypted_region(0x00000, 0x3ffff, code);
- mgcs_flip_sprites(machine);
+ mgcs_flip_sprites(machine());
}
// sdmg2
-static DRIVER_INIT( sdmg2 )
+DRIVER_INIT_MEMBER(igs017_state,sdmg2)
{
int i;
- UINT16 *src = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *src = (UINT16 *)machine().root_device().memregion("maincpu")->base();
int rom_size = 0x80000;
@@ -847,10 +860,10 @@ static DRIVER_INIT( sdmg2 )
// mgdh, mgdha
-static DRIVER_INIT( mgdha )
+DRIVER_INIT_MEMBER(igs017_state,mgdha)
{
int i;
- UINT16 *src = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *src = (UINT16 *)machine().root_device().memregion("maincpu")->base();
int rom_size = 0x80000;
@@ -878,14 +891,14 @@ static DRIVER_INIT( mgdha )
src[i] = x;
}
- mgcs_flip_sprites(machine);
+ mgcs_flip_sprites(machine());
}
-static DRIVER_INIT( mgdh )
+DRIVER_INIT_MEMBER(igs017_state,mgdh)
{
- DRIVER_INIT_CALL( mgdha );
+ DRIVER_INIT_CALL(mgdha);
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// additional protection
rom[0x4ad50/2] = 0x4e71;
@@ -949,10 +962,10 @@ static void lhzb2_decrypt_sprites(running_machine &machine)
}
}
-static DRIVER_INIT( lhzb2 )
+DRIVER_INIT_MEMBER(igs017_state,lhzb2)
{
int i;
- UINT16 *src = (UINT16 *) (machine.root_device().memregion("maincpu")->base());
+ UINT16 *src = (UINT16 *) (machine().root_device().memregion("maincpu")->base());
int rom_size = 0x80000;
@@ -1035,18 +1048,18 @@ static DRIVER_INIT( lhzb2 )
src[i] = x;
}
- lhzb2_decrypt_tiles(machine);
- lhzb2_decrypt_sprites(machine);
- lhzb2_patch_rom(machine);
+ lhzb2_decrypt_tiles(machine());
+ lhzb2_decrypt_sprites(machine());
+ lhzb2_patch_rom(machine());
}
//lhzb2a
-static DRIVER_INIT( lhzb2a )
+DRIVER_INIT_MEMBER(igs017_state,lhzb2a)
{
int i;
- UINT16 *src = (UINT16 *) (machine.root_device().memregion("maincpu")->base());
+ UINT16 *src = (UINT16 *) (machine().root_device().memregion("maincpu")->base());
int rom_size = 0x80000;
@@ -1101,8 +1114,8 @@ static DRIVER_INIT( lhzb2a )
src[i] = x;
}
- lhzb2_decrypt_tiles(machine);
- lhzb2_decrypt_sprites(machine);
+ lhzb2_decrypt_tiles(machine());
+ lhzb2_decrypt_sprites(machine());
}
@@ -1136,10 +1149,10 @@ static void slqz2_decrypt_tiles(running_machine &machine)
auto_free(machine, tmp);
}
-static DRIVER_INIT( slqz2 )
+DRIVER_INIT_MEMBER(igs017_state,slqz2)
{
int i;
- UINT16 *src = (UINT16 *) (machine.root_device().memregion("maincpu")->base());
+ UINT16 *src = (UINT16 *) (machine().root_device().memregion("maincpu")->base());
int rom_size = 0x80000;
@@ -1212,9 +1225,9 @@ static DRIVER_INIT( slqz2 )
src[i] = x;
}
- slqz2_decrypt_tiles(machine);
- lhzb2_decrypt_sprites(machine);
- slqz2_patch_rom(machine);
+ slqz2_decrypt_tiles(machine());
+ lhzb2_decrypt_sprites(machine());
+ slqz2_patch_rom(machine());
}
/***************************************************************************
diff --git a/src/mame/drivers/igs_m027.c b/src/mame/drivers/igs_m027.c
index 681601ae76d..679a6a1a6a5 100644
--- a/src/mame/drivers/igs_m027.c
+++ b/src/mame/drivers/igs_m027.c
@@ -45,6 +45,16 @@ public:
DECLARE_WRITE32_MEMBER(igs_tx_videoram_w);
DECLARE_WRITE32_MEMBER(igs_bg_videoram_w);
DECLARE_WRITE32_MEMBER(igs_palette32_w);
+ DECLARE_DRIVER_INIT(sdwx);
+ DECLARE_DRIVER_INIT(chessc2);
+ DECLARE_DRIVER_INIT(lhzb4);
+ DECLARE_DRIVER_INIT(mgfx);
+ DECLARE_DRIVER_INIT(lhzb3);
+ DECLARE_DRIVER_INIT(gonefsh2);
+ DECLARE_DRIVER_INIT(sddz);
+ DECLARE_DRIVER_INIT(hauntedh);
+ DECLARE_DRIVER_INIT(bigd2);
+ DECLARE_DRIVER_INIT(klxyj);
};
@@ -1215,80 +1225,80 @@ static void lhzb4_decrypt(running_machine &machine)
/*
-static DRIVER_INIT( igs_m027 )
+DRIVER_INIT_MEMBER(igs_m027_state,igs_m027)
{
- pgm_create_dummy_internal_arm_region(machine);
+ pgm_create_dummy_internal_arm_region(machine());
}
*/
-static DRIVER_INIT( sdwx )
+DRIVER_INIT_MEMBER(igs_m027_state,sdwx)
{
- sdwx_decrypt(machine);
- sdwx_gfx_decrypt(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ sdwx_decrypt(machine());
+ sdwx_gfx_decrypt(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-static DRIVER_INIT( klxyj )
+DRIVER_INIT_MEMBER(igs_m027_state,klxyj)
{
- klxyj_decrypt(machine);
- //sdwx_gfx_decrypt(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ klxyj_decrypt(machine());
+ //sdwx_gfx_decrypt(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-static DRIVER_INIT( chessc2 )
+DRIVER_INIT_MEMBER(igs_m027_state,chessc2)
{
- chessc2_decrypt(machine);
- //sdwx_gfx_decrypt(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ chessc2_decrypt(machine());
+ //sdwx_gfx_decrypt(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-static DRIVER_INIT( hauntedh )
+DRIVER_INIT_MEMBER(igs_m027_state,hauntedh)
{
- hauntedh_decrypt(machine);
- //sdwx_gfx_decrypt(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ hauntedh_decrypt(machine());
+ //sdwx_gfx_decrypt(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-static DRIVER_INIT( lhzb4 )
+DRIVER_INIT_MEMBER(igs_m027_state,lhzb4)
{
- lhzb4_decrypt(machine);
- //sdwx_gfx_decrypt(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ lhzb4_decrypt(machine());
+ //sdwx_gfx_decrypt(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-static DRIVER_INIT( mgfx )
+DRIVER_INIT_MEMBER(igs_m027_state,mgfx)
{
- mgfx_decrypt(machine);
- //sdwx_gfx_decrypt(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ mgfx_decrypt(machine());
+ //sdwx_gfx_decrypt(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-static DRIVER_INIT( lhzb3 )
+DRIVER_INIT_MEMBER(igs_m027_state,lhzb3)
{
- lhzb3_decrypt(machine);
- //sdwx_gfx_decrypt(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ lhzb3_decrypt(machine());
+ //sdwx_gfx_decrypt(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-static DRIVER_INIT( sddz )
+DRIVER_INIT_MEMBER(igs_m027_state,sddz)
{
- sddz_decrypt(machine);
- //sdwx_gfx_decrypt(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ sddz_decrypt(machine());
+ //sdwx_gfx_decrypt(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-static DRIVER_INIT( gonefsh2 )
+DRIVER_INIT_MEMBER(igs_m027_state,gonefsh2)
{
- gonefsh2_decrypt(machine);
- //sdwx_gfx_decrypt(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ gonefsh2_decrypt(machine());
+ //sdwx_gfx_decrypt(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-static DRIVER_INIT( bigd2 )
+DRIVER_INIT_MEMBER(igs_m027_state,bigd2)
{
- big2_decrypt(machine);
- //sdwx_gfx_decrypt(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ big2_decrypt(machine());
+ //sdwx_gfx_decrypt(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
/***************************************************************************
diff --git a/src/mame/drivers/igspc.c b/src/mame/drivers/igspc.c
index 98ff1b09c19..1cb7057139d 100644
--- a/src/mame/drivers/igspc.c
+++ b/src/mame/drivers/igspc.c
@@ -56,6 +56,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(speeddrv);
};
static ADDRESS_MAP_START( speeddrv_map, AS_PROGRAM, 32, speeddrv_state )
@@ -105,7 +107,7 @@ ROM_START( eztouch )
ROM_END
-static DRIVER_INIT(speeddrv)
+DRIVER_INIT_MEMBER(speeddrv_state,speeddrv)
{
}
diff --git a/src/mame/drivers/igspoker.c b/src/mame/drivers/igspoker.c
index e85838108f6..1b23b887e4a 100644
--- a/src/mame/drivers/igspoker.c
+++ b/src/mame/drivers/igspoker.c
@@ -105,6 +105,15 @@ public:
DECLARE_READ8_MEMBER(exp_rom_r);
void show_out();
DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
+ DECLARE_DRIVER_INIT(igs_ncs);
+ DECLARE_DRIVER_INIT(number10);
+ DECLARE_DRIVER_INIT(pktet346);
+ DECLARE_DRIVER_INIT(cpokert);
+ DECLARE_DRIVER_INIT(chleague);
+ DECLARE_DRIVER_INIT(cska);
+ DECLARE_DRIVER_INIT(cpoker);
+ DECLARE_DRIVER_INIT(igs_ncs2);
+ DECLARE_DRIVER_INIT(cpokerpk);
};
@@ -1916,10 +1925,10 @@ ROM_END
/* Decode a simple PAL encryption
*/
-static DRIVER_INIT( cpoker )
+DRIVER_INIT_MEMBER(igspoker_state,cpoker)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0x10000;A++)
@@ -1931,9 +1940,9 @@ static DRIVER_INIT( cpoker )
}
}
-static DRIVER_INIT( cpokert )
+DRIVER_INIT_MEMBER(igspoker_state,cpokert)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int i;
/* decrypt the program ROM */
@@ -1960,10 +1969,10 @@ static DRIVER_INIT( cpokert )
}
}
-static DRIVER_INIT( cska )
+DRIVER_INIT_MEMBER(igspoker_state,cska)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0x10000;A++)
@@ -1977,10 +1986,10 @@ static DRIVER_INIT( cska )
}
-static DRIVER_INIT( igs_ncs )
+DRIVER_INIT_MEMBER(igspoker_state,igs_ncs)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0x10000;A++)
@@ -2139,9 +2148,9 @@ Clocks
*/
-static DRIVER_INIT( igs_ncs2 )
+DRIVER_INIT_MEMBER(igspoker_state,igs_ncs2)
{
- UINT8 *src = (UINT8 *) (machine.root_device().memregion("maincpu")->base());
+ UINT8 *src = (UINT8 *) (machine().root_device().memregion("maincpu")->base());
int i;
for(i = 0; i < 0x10000; i++)
@@ -2212,14 +2221,14 @@ ROM_START( igs_ncs2 )
ROM_END
-static DRIVER_INIT( chleague )
+DRIVER_INIT_MEMBER(igspoker_state,chleague)
{
int A;
int length;
UINT8 *rom;
- rom = machine.root_device().memregion("maincpu")->base();
- length = machine.root_device().memregion("maincpu")->bytes();
+ rom = machine().root_device().memregion("maincpu")->base();
+ length = machine().root_device().memregion("maincpu")->bytes();
for (A = 0;A < length;A++)
{
if ((A & 0x09C0) == 0x0880) rom[A] ^= 0x20;
@@ -2275,15 +2284,15 @@ ROM_START( chleagul )
ROM_END
-static DRIVER_INIT( number10 )
+DRIVER_INIT_MEMBER(igspoker_state,number10)
{
int A;
int length;
UINT8 *tmp;
UINT8 *rom;
- rom = machine.root_device().memregion("maincpu")->base();
- length = machine.root_device().memregion("maincpu")->bytes();
+ rom = machine().root_device().memregion("maincpu")->base();
+ length = machine().root_device().memregion("maincpu")->bytes();
for (A = 0;A < length;A++)
{
if ((A & 0x09C0) == 0x0880) rom[A] ^= 0x20;
@@ -2312,9 +2321,9 @@ static DRIVER_INIT( number10 )
rom[0xeed] = 0xc3;
/* Descramble graphic */
- rom = machine.root_device().memregion("gfx1")->base();
- length = machine.root_device().memregion("gfx1")->bytes();
- tmp = auto_alloc_array(machine, UINT8, length);
+ rom = machine().root_device().memregion("gfx1")->base();
+ length = machine().root_device().memregion("gfx1")->bytes();
+ tmp = auto_alloc_array(machine(), UINT8, length);
memcpy(tmp,rom,length);
for (A = 0;A < length;A++)
{
@@ -2322,7 +2331,7 @@ static DRIVER_INIT( number10 )
rom[A] = tmp[addr];
}
- auto_free(machine, tmp);
+ auto_free(machine(), tmp);
}
@@ -2358,10 +2367,10 @@ ROM_START( numbr10l )
ROM_LOAD( "9.bin", 0x0000, 0x40000, CRC(dd213b5c) SHA1(82e32aa44eee227d7424553a743df48606bbd48e) )
ROM_END
-static DRIVER_INIT( cpokerpk )
+DRIVER_INIT_MEMBER(igspoker_state,cpokerpk)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A=0x0714; A < 0xF000; A+=0x1000)
rom[A] ^= 0x20;
@@ -2412,10 +2421,10 @@ ROM_START( citalcup )
ROM_LOAD( "9.bin", 0x0000, 0x40000, CRC(dd213b5c) SHA1(82e32aa44eee227d7424553a743df48606bbd48e) )
ROM_END
-static DRIVER_INIT( pktet346 )
+DRIVER_INIT_MEMBER(igspoker_state,pktet346)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0x10000;A++)
@@ -2463,6 +2472,6 @@ GAMEL( 199?, citalcup, cpokerpk, cpokerpk, cpokerpk, igspoker_state, cpokerpk,
GAMEL( 2000, igs_ncs2, 0, igs_ncs, igs_ncs, igspoker_state, igs_ncs2, ROT0, "IGS", "New Champion Skill (v100n 2000)", GAME_IMPERFECT_GRAPHICS, layout_igspoker )
-GAMEL( 1998, stellecu, 0, number10, number10, igspoker_state, 0, ROT0, "Sure", "Stelle e Cubi (Italy)", GAME_NOT_WORKING, layout_igspoker )
+GAMEL( 1998, stellecu, 0, number10, number10, driver_device, 0, ROT0, "Sure", "Stelle e Cubi (Italy)", GAME_NOT_WORKING, layout_igspoker )
GAMEL( 1993?,pktet346, 0, pktetris, pktet346, igspoker_state, pktet346, ROT0, "IGS", "PK Tetris (v346I)", 0, layout_igspoker )
diff --git a/src/mame/drivers/ikki.c b/src/mame/drivers/ikki.c
index 70ba7230fe3..1cf9757bb02 100644
--- a/src/mame/drivers/ikki.c
+++ b/src/mame/drivers/ikki.c
@@ -379,5 +379,5 @@ ROM_END
*
*************************************/
-GAME( 1985, ikki, 0, ikki, ikki, ikki_state, 0, ROT0, "Sun Electronics", "Ikki (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, farmer, ikki, ikki, ikki, ikki_state, 0, ROT0, "Sun Electronics", "Farmers Rebellion", GAME_SUPPORTS_SAVE )
+GAME( 1985, ikki, 0, ikki, ikki, driver_device, 0, ROT0, "Sun Electronics", "Ikki (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, farmer, ikki, ikki, ikki, driver_device, 0, ROT0, "Sun Electronics", "Farmers Rebellion", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/imolagp.c b/src/mame/drivers/imolagp.c
index 7abde8ef5d4..0f5c916bccc 100644
--- a/src/mame/drivers/imolagp.c
+++ b/src/mame/drivers/imolagp.c
@@ -609,4 +609,4 @@ ROM_END
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME */
-GAME( 1981, imolagp, 0, imolagp, imolagp, imolagp_state, 0, ROT90, "Alberici", "Imola Grand Prix", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1981, imolagp, 0, imolagp, imolagp, driver_device, 0, ROT90, "Alberici", "Imola Grand Prix", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/inder.c b/src/mame/drivers/inder.c
index ebbc6a427d0..6e6de432d8f 100644
--- a/src/mame/drivers/inder.c
+++ b/src/mame/drivers/inder.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(inder);
};
static ADDRESS_MAP_START( inder_map, AS_PROGRAM, 8, inder_state )
@@ -31,7 +33,7 @@ void inder_state::machine_reset()
{
}
-static DRIVER_INIT( inder )
+DRIVER_INIT_MEMBER(inder_state,inder)
{
}
diff --git a/src/mame/drivers/intrscti.c b/src/mame/drivers/intrscti.c
index 0adfa87edf7..1f3db7f3c08 100644
--- a/src/mame/drivers/intrscti.c
+++ b/src/mame/drivers/intrscti.c
@@ -24,6 +24,7 @@ public:
required_shared_ptr<UINT8> m_vram;
// DECLARE_READ8_MEMBER(unk_r);
+ DECLARE_DRIVER_INIT(intrscti);
};
static VIDEO_START(intrscti)
@@ -193,10 +194,9 @@ ROM_START( intrscti )
ROM_LOAD( "b.5a", 0x2000, 0x1000, CRC(8951fb7e) SHA1(c423bf0536e3a09453814172e31b47f9c3c3324c) )
ROM_END
-static DRIVER_INIT( intrscti )
+DRIVER_INIT_MEMBER(intrscti_state,intrscti)
{
- intrscti_state *state = machine.driver_data<intrscti_state>();
- UINT8 *cpu = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *cpu = machine().root_device().memregion( "maincpu" )->base();
int i;
for (i=0;i<0x1000;i++)
cpu[i+0x8000]=0xc9; // ret
@@ -208,8 +208,8 @@ static DRIVER_INIT( intrscti )
/* one of the protection sub-routines does this */
for (i=0;i<0x400;i++)
{
- state->m_vram[i+0x000] = 0x0e;
- state->m_vram[i+0x400] = 0xff;
+ m_vram[i+0x000] = 0x0e;
+ m_vram[i+0x400] = 0xff;
}
}
diff --git a/src/mame/drivers/inufuku.c b/src/mame/drivers/inufuku.c
index 718a5240114..a2234e0e769 100644
--- a/src/mame/drivers/inufuku.c
+++ b/src/mame/drivers/inufuku.c
@@ -424,4 +424,4 @@ ROM_END
******************************************************************************/
-GAME( 1998, inufuku, 0, inufuku, inufuku, inufuku_state, 0, ROT0, "Video System Co.", "Quiz & Variety Sukusuku Inufuku (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1998, inufuku, 0, inufuku, inufuku, driver_device, 0, ROT0, "Video System Co.", "Quiz & Variety Sukusuku Inufuku (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/invqix.c b/src/mame/drivers/invqix.c
index 159b4c44a6d..553472774f1 100644
--- a/src/mame/drivers/invqix.c
+++ b/src/mame/drivers/invqix.c
@@ -348,4 +348,4 @@ ROM_START( invqix )
ROM_LOAD16_WORD_SWAP( "93c46.ic6", 0x000000, 0x000080, CRC(564b744e) SHA1(4d9ea7dc253797c513258d07a936dfb63d8ed18c) )
ROM_END
-GAME(2003, invqix, 0, invqix, invqix, invqix_state, 0, ROT270, "Namco/Taito", "Space Invaders / Qix Silver Anniversary Edition (Ver. 2.03)", 0)
+GAME(2003, invqix, 0, invqix, invqix, driver_device, 0, ROT270, "Namco/Taito", "Space Invaders / Qix Silver Anniversary Edition (Ver. 2.03)", 0)
diff --git a/src/mame/drivers/iqblock.c b/src/mame/drivers/iqblock.c
index eab06f55220..4c108f670ce 100644
--- a/src/mame/drivers/iqblock.c
+++ b/src/mame/drivers/iqblock.c
@@ -426,10 +426,9 @@ ROM_START( grndtour )
ROM_LOAD( "grand5.u24", 0x4000, 0x4000, CRC(f896efb2) SHA1(8dc8546e363b4ff80983e3b8e2a19ebb7ff30c7b) )
ROM_END
-static DRIVER_INIT( iqblock )
+DRIVER_INIT_MEMBER(iqblock_state,iqblock)
{
- iqblock_state *state = machine.driver_data<iqblock_state>();
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
int i;
/* decrypt the program ROM */
@@ -441,18 +440,17 @@ static DRIVER_INIT( iqblock )
}
/* initialize pointers for I/O mapped RAM */
- state->m_generic_paletteram_8.set_target(rom + 0x12000, 0x800);
- state->m_generic_paletteram2_8.set_target(rom + 0x12800, 0x800);
- state->m_fgvideoram = rom + 0x16800;
- state->m_bgvideoram = rom + 0x17000;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xfe26, 0xfe26, write8_delegate(FUNC(iqblock_state::iqblock_prot_w),state));
- state->m_video_type=1;
+ m_generic_paletteram_8.set_target(rom + 0x12000, 0x800);
+ m_generic_paletteram2_8.set_target(rom + 0x12800, 0x800);
+ m_fgvideoram = rom + 0x16800;
+ m_bgvideoram = rom + 0x17000;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xfe26, 0xfe26, write8_delegate(FUNC(iqblock_state::iqblock_prot_w),this));
+ m_video_type=1;
}
-static DRIVER_INIT( grndtour )
+DRIVER_INIT_MEMBER(iqblock_state,grndtour)
{
- iqblock_state *state = machine.driver_data<iqblock_state>();
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
int i;
/* decrypt the program ROM */
@@ -464,12 +462,12 @@ static DRIVER_INIT( grndtour )
}
/* initialize pointers for I/O mapped RAM */
- state->m_generic_paletteram_8.set_target(rom + 0x12000, 0x800);
- state->m_generic_paletteram2_8.set_target(rom + 0x12800, 0x800);
- state->m_fgvideoram = rom + 0x16800;
- state->m_bgvideoram = rom + 0x17000;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xfe39, 0xfe39, write8_delegate(FUNC(iqblock_state::grndtour_prot_w),state));
- state->m_video_type=0;
+ m_generic_paletteram_8.set_target(rom + 0x12000, 0x800);
+ m_generic_paletteram2_8.set_target(rom + 0x12800, 0x800);
+ m_fgvideoram = rom + 0x16800;
+ m_bgvideoram = rom + 0x17000;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xfe39, 0xfe39, write8_delegate(FUNC(iqblock_state::grndtour_prot_w),this));
+ m_video_type=0;
}
diff --git a/src/mame/drivers/ironhors.c b/src/mame/drivers/ironhors.c
index a0ee670311b..e3e42c0f2dd 100644
--- a/src/mame/drivers/ironhors.c
+++ b/src/mame/drivers/ironhors.c
@@ -566,6 +566,6 @@ ROM_END
*
*************************************/
-GAME( 1986, ironhors, 0, ironhors, ironhors, ironhors_state, 0, ROT0, "Konami", "Iron Horse", 0 )
-GAME( 1986, dairesya, ironhors, ironhors, dairesya, ironhors_state, 0, ROT0, "Konami (Kawakusu license)", "Dai Ressya Goutou (Japan)", 0 )
-GAME( 1986, farwest, ironhors, farwest, ironhors, ironhors_state, 0, ROT0, "bootleg?", "Far West", GAME_NOT_WORKING )
+GAME( 1986, ironhors, 0, ironhors, ironhors, driver_device, 0, ROT0, "Konami", "Iron Horse", 0 )
+GAME( 1986, dairesya, ironhors, ironhors, dairesya, driver_device, 0, ROT0, "Konami (Kawakusu license)", "Dai Ressya Goutou (Japan)", 0 )
+GAME( 1986, farwest, ironhors, farwest, ironhors, driver_device, 0, ROT0, "bootleg?", "Far West", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/istellar.c b/src/mame/drivers/istellar.c
index 86885a7a203..e8b1f0f2f4a 100644
--- a/src/mame/drivers/istellar.c
+++ b/src/mame/drivers/istellar.c
@@ -50,6 +50,7 @@ public:
DECLARE_READ8_MEMBER(z80_2_unknown_read);
DECLARE_WRITE8_MEMBER(z80_2_latch1_write);
DECLARE_WRITE8_MEMBER(z80_2_ldp_write);
+ DECLARE_DRIVER_INIT(istellar);
};
@@ -398,14 +399,13 @@ ROM_START( istellar )
ROM_END
-static DRIVER_INIT( istellar )
+DRIVER_INIT_MEMBER(istellar_state,istellar)
{
- istellar_state *state = machine.driver_data<istellar_state>();
- state->m_z80_2_nmi_enable = 0;
+ m_z80_2_nmi_enable = 0;
#if 0
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x4465] = 0x00;
ROM[0x4466] = 0x00;
diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c
index 7e0c9403994..65f0384b608 100644
--- a/src/mame/drivers/itech32.c
+++ b/src/mame/drivers/itech32.c
@@ -4007,67 +4007,62 @@ static void init_program_rom(running_machine &machine)
}
-static DRIVER_INIT( timekill )
+DRIVER_INIT_MEMBER(itech32_state,timekill)
{
- itech32_state *state = machine.driver_data<itech32_state>();
- init_program_rom(machine);
- state->m_vram_height = 512;
- state->m_planes = 2;
- state->m_is_drivedge = 0;
+ init_program_rom(machine());
+ m_vram_height = 512;
+ m_planes = 2;
+ m_is_drivedge = 0;
}
-static DRIVER_INIT( hardyard )
+DRIVER_INIT_MEMBER(itech32_state,hardyard)
{
- itech32_state *state = machine.driver_data<itech32_state>();
- init_program_rom(machine);
- state->m_vram_height = 1024;
- state->m_planes = 1;
- state->m_is_drivedge = 0;
+ init_program_rom(machine());
+ m_vram_height = 1024;
+ m_planes = 1;
+ m_is_drivedge = 0;
}
-static DRIVER_INIT( bloodstm )
+DRIVER_INIT_MEMBER(itech32_state,bloodstm)
{
- itech32_state *state = machine.driver_data<itech32_state>();
- init_program_rom(machine);
- state->m_vram_height = 1024;
- state->m_planes = 1;
- state->m_is_drivedge = 0;
+ init_program_rom(machine());
+ m_vram_height = 1024;
+ m_planes = 1;
+ m_is_drivedge = 0;
}
-static DRIVER_INIT( drivedge )
+DRIVER_INIT_MEMBER(itech32_state,drivedge)
{
- itech32_state *state = machine.driver_data<itech32_state>();
- init_program_rom(machine);
- state->m_vram_height = 1024;
- state->m_planes = 1;
- state->m_is_drivedge = 1;
+ init_program_rom(machine());
+ m_vram_height = 1024;
+ m_planes = 1;
+ m_is_drivedge = 1;
- machine.device("dsp1")->memory().space(AS_PROGRAM)->install_read_handler(0x8382, 0x8382, read32_delegate(FUNC(itech32_state::drivedge_tms1_speedup_r),state));
- machine.device("dsp2")->memory().space(AS_PROGRAM)->install_read_handler(0x8382, 0x8382, read32_delegate(FUNC(itech32_state::drivedge_tms2_speedup_r),state));
+ machine().device("dsp1")->memory().space(AS_PROGRAM)->install_read_handler(0x8382, 0x8382, read32_delegate(FUNC(itech32_state::drivedge_tms1_speedup_r),this));
+ machine().device("dsp2")->memory().space(AS_PROGRAM)->install_read_handler(0x8382, 0x8382, read32_delegate(FUNC(itech32_state::drivedge_tms2_speedup_r),this));
}
-static DRIVER_INIT( wcbowl )
+DRIVER_INIT_MEMBER(itech32_state,wcbowl)
{
- itech32_state *state = machine.driver_data<itech32_state>();
/*
This is the 3 tier PCB set:
Main P/N 1059 Rev 3 (see Hot Memory PCB layout above)
ROM P/N 1079 Rev 1 (contains graphic roms, 4MHz OSC + ITBWL-1 security PIC chip)
Sound P/N 1060 Rev 0 (see Hot Memory PCB layout above)
*/
- init_program_rom(machine);
- state->m_vram_height = 1024;
- state->m_planes = 1;
+ init_program_rom(machine());
+ m_vram_height = 1024;
+ m_planes = 1;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x680000, 0x680001, read16_delegate(FUNC(itech32_state::trackball_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x680000, 0x680001, read16_delegate(FUNC(itech32_state::trackball_r),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x578000, 0x57ffff);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x680080, 0x680081, read16_delegate(FUNC(itech32_state::wcbowl_prot_result_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x680080, 0x680081);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x578000, 0x57ffff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x680080, 0x680081, read16_delegate(FUNC(itech32_state::wcbowl_prot_result_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x680080, 0x680081);
}
@@ -4086,15 +4081,15 @@ static void init_sftm_common(running_machine &machine, int prot_addr)
}
-static DRIVER_INIT( sftm )
+DRIVER_INIT_MEMBER(itech32_state,sftm)
{
- init_sftm_common(machine, 0x7a6a);
+ init_sftm_common(machine(), 0x7a6a);
}
-static DRIVER_INIT( sftm110 )
+DRIVER_INIT_MEMBER(itech32_state,sftm110)
{
- init_sftm_common(machine, 0x7a66);
+ init_sftm_common(machine(), 0x7a66);
}
@@ -4120,16 +4115,16 @@ static void init_shuffle_bowl_common(running_machine &machine, int prot_addr)
}
-static DRIVER_INIT( shufshot ) /* PIC 16C54 labeled as ITSHF-1 (ITBWL-4 for WCB Deluxe) */
+DRIVER_INIT_MEMBER(itech32_state,shufshot)
{
- init_shuffle_bowl_common(machine, 0x111a);
+ init_shuffle_bowl_common(machine(), 0x111a);
}
-static DRIVER_INIT( wcbowln ) /* PIC 16C54 labeled as ITBWL-3 */
+DRIVER_INIT_MEMBER(itech32_state,wcbowln)
{
/* The security PROM is NOT interchangeable between the Deluxe and "normal" versions. */
- init_shuffle_bowl_common(machine, 0x1116);
+ init_shuffle_bowl_common(machine(), 0x1116);
}
static void install_timekeeper(running_machine &machine)
@@ -4138,12 +4133,12 @@ static void install_timekeeper(running_machine &machine)
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(*device, 0x681000, 0x6817ff, FUNC(timekeeper_r), FUNC(timekeeper_w), 0xffffffff);
}
-static DRIVER_INIT( wcbowlt ) /* PIC 16C54 labeled as ITBWL-3 */
+DRIVER_INIT_MEMBER(itech32_state,wcbowlt)
{
/* Tournament Version, Same protection memory address as WCB Deluxe, but uses the standard WCB pic ITBWL-3 */
- init_shuffle_bowl_common(machine, 0x111a);
+ init_shuffle_bowl_common(machine(), 0x111a);
- install_timekeeper(machine);
+ install_timekeeper(machine());
}
static void init_gt_common(running_machine &machine)
@@ -4158,7 +4153,7 @@ static void init_gt_common(running_machine &machine)
}
-static DRIVER_INIT( gt3d )
+DRIVER_INIT_MEMBER(itech32_state,gt3d)
{
/*
This is the 3 tier PCB with the short ROM board:
@@ -4167,13 +4162,12 @@ static DRIVER_INIT( gt3d )
Hacked versions of this PCB have been found with GT97
through GTClassic. This is _NOT_ a factory modification
*/
- itech32_state *state = machine.driver_data<itech32_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200003, read32_delegate(FUNC(itech32_state::trackball32_8bit_r),state));
- init_gt_common(machine);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200003, read32_delegate(FUNC(itech32_state::trackball32_8bit_r),this));
+ init_gt_common(machine());
}
-static DRIVER_INIT( aama )
+DRIVER_INIT_MEMBER(itech32_state,aama)
{
/*
This is the single PCB style board commonly referred to as:
@@ -4181,25 +4175,24 @@ static DRIVER_INIT( aama )
board share the same sound CPU code and sample ROMs.
This board has all versions of GT for it, GT3D through GTClassic
*/
- itech32_state *state = machine.driver_data<itech32_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x180800, 0x180803, read32_delegate(FUNC(itech32_state::trackball32_4bit_p1_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x181000, 0x181003, read32_delegate(FUNC(itech32_state::trackball32_4bit_p2_r),state));
- init_gt_common(machine);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x180800, 0x180803, read32_delegate(FUNC(itech32_state::trackball32_4bit_p1_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x181000, 0x181003, read32_delegate(FUNC(itech32_state::trackball32_4bit_p2_r),this));
+ init_gt_common(machine());
}
-static DRIVER_INIT( aamat )
+DRIVER_INIT_MEMBER(itech32_state,aamat)
{
/*
Tournament Version - So install needed handler for the TimeKeeper ram
*/
DRIVER_INIT_CALL(aama);
- install_timekeeper(machine);
+ install_timekeeper(machine());
}
-static DRIVER_INIT( s_ver )
+DRIVER_INIT_MEMBER(itech32_state,s_ver)
{
/*
This is a special 3 tier PCB with a short ROM board and 1 trackball
@@ -4207,13 +4200,12 @@ static DRIVER_INIT( s_ver )
board: GT97 v1.21S, GT98, GT99, GT2K & GT Classic Versions 1.00S
Trackball info is read through 200202 (actually 200203).
*/
- itech32_state *state = machine.driver_data<itech32_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200200, 0x200203, read32_delegate(FUNC(itech32_state::trackball32_4bit_p1_r),state));
- init_gt_common(machine);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200200, 0x200203, read32_delegate(FUNC(itech32_state::trackball32_4bit_p1_r),this));
+ init_gt_common(machine());
}
-static DRIVER_INIT( gt3dl )
+DRIVER_INIT_MEMBER(itech32_state,gt3dl)
{
/*
This is the 3 tier PCB with the long ROM board:
@@ -4222,17 +4214,15 @@ static DRIVER_INIT( gt3dl )
Player 1 trackball read through 200003
Player 2 trackball read through 200002
*/
- itech32_state *state = machine.driver_data<itech32_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200003, read32_delegate(FUNC(itech32_state::trackball32_4bit_combined_r),state));
- init_gt_common(machine);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200003, read32_delegate(FUNC(itech32_state::trackball32_4bit_combined_r),this));
+ init_gt_common(machine());
}
-static DRIVER_INIT( gt2kp )
+DRIVER_INIT_MEMBER(itech32_state,gt2kp)
{
/* a little extra protection */
- itech32_state *state = machine.driver_data<itech32_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x680000, 0x680003, read32_delegate(FUNC(itech32_state::gt2kp_prot_result_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x680000, 0x680003, read32_delegate(FUNC(itech32_state::gt2kp_prot_result_r),this));
DRIVER_INIT_CALL(aama);
/* The protection code is:
@@ -4250,11 +4240,10 @@ Label1 bne.s Label1 ; Infinite loop if result isn't 0x01
}
-static DRIVER_INIT( gtclasscp )
+DRIVER_INIT_MEMBER(itech32_state,gtclasscp)
{
/* a little extra protection */
- itech32_state *state = machine.driver_data<itech32_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x680000, 0x680003, read32_delegate(FUNC(itech32_state::gtclass_prot_result_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x680000, 0x680003, read32_delegate(FUNC(itech32_state::gtclass_prot_result_r),this));
DRIVER_INIT_CALL(aama);
/* The protection code is:
diff --git a/src/mame/drivers/itech8.c b/src/mame/drivers/itech8.c
index f423e5356bb..0b2b966af2e 100644
--- a/src/mame/drivers/itech8.c
+++ b/src/mame/drivers/itech8.c
@@ -2631,72 +2631,66 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( grmatch )
+DRIVER_INIT_MEMBER(itech8_state,grmatch)
{
- itech8_state *state = machine.driver_data<itech8_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0160, 0x0160, write8_delegate(FUNC(itech8_state::grmatch_palette_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0180, 0x0180, write8_delegate(FUNC(itech8_state::grmatch_xscroll_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x01e0, 0x01ff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0160, 0x0160, write8_delegate(FUNC(itech8_state::grmatch_palette_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0180, 0x0180, write8_delegate(FUNC(itech8_state::grmatch_xscroll_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x01e0, 0x01ff);
}
-static DRIVER_INIT( slikshot )
+DRIVER_INIT_MEMBER(itech8_state,slikshot)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x0180, 0x0180, FUNC(slikshot_z80_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x01cf, 0x01cf, FUNC(slikshot_z80_control_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x01cf, 0x01cf, FUNC(slikshot_z80_control_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x0180, 0x0180, FUNC(slikshot_z80_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x01cf, 0x01cf, FUNC(slikshot_z80_control_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x01cf, 0x01cf, FUNC(slikshot_z80_control_w));
}
-static DRIVER_INIT( sstrike )
+DRIVER_INIT_MEMBER(itech8_state,sstrike)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x1180, 0x1180, FUNC(slikshot_z80_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x11cf, 0x11cf, FUNC(slikshot_z80_control_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x11cf, 0x11cf, FUNC(slikshot_z80_control_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x1180, 0x1180, FUNC(slikshot_z80_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x11cf, 0x11cf, FUNC(slikshot_z80_control_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x11cf, 0x11cf, FUNC(slikshot_z80_control_w));
}
-static DRIVER_INIT( hstennis )
+DRIVER_INIT_MEMBER(itech8_state,hstennis)
{
- itech8_state *state = machine.driver_data<itech8_state>();
- state->m_visarea.set(0, 375, 0, 239);
+ m_visarea.set(0, 375, 0, 239);
}
-static DRIVER_INIT( arligntn )
+DRIVER_INIT_MEMBER(itech8_state,arligntn)
{
- itech8_state *state = machine.driver_data<itech8_state>();
- state->m_visarea.set(16, 389, 0, 239);
+ m_visarea.set(16, 389, 0, 239);
}
-static DRIVER_INIT( peggle )
+DRIVER_INIT_MEMBER(itech8_state,peggle)
{
- itech8_state *state = machine.driver_data<itech8_state>();
- state->m_visarea.set(18, 367, 0, 239);
+ m_visarea.set(18, 367, 0, 239);
}
-static DRIVER_INIT( neckneck )
+DRIVER_INIT_MEMBER(itech8_state,neckneck)
{
- itech8_state *state = machine.driver_data<itech8_state>();
- state->m_visarea.set(8, 375, 0, 239);
+ m_visarea.set(8, 375, 0, 239);
}
-static DRIVER_INIT( rimrockn )
+DRIVER_INIT_MEMBER(itech8_state,rimrockn)
{
- itech8_state *state = machine.driver_data<itech8_state>();
/* additional input ports */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port (0x0161, 0x0161, "161");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port (0x0162, 0x0162, "162");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port (0x0163, 0x0163, "163");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port (0x0164, 0x0164, "164");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port (0x0165, 0x0165, "165");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port (0x0161, 0x0161, "161");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port (0x0162, 0x0162, "162");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port (0x0163, 0x0163, "163");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port (0x0164, 0x0164, "164");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port (0x0165, 0x0165, "165");
/* different banking mechanism (disable the old one) */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x01a0, 0x01a0, write8_delegate(FUNC(itech8_state::rimrockn_bank_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x01c0, 0x01df, write8_delegate(FUNC(itech8_state::itech8_blitter_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x01a0, 0x01a0, write8_delegate(FUNC(itech8_state::rimrockn_bank_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x01c0, 0x01df, write8_delegate(FUNC(itech8_state::itech8_blitter_w),this));
}
@@ -2708,20 +2702,20 @@ static DRIVER_INIT( rimrockn )
*************************************/
/* Wheel of Fortune-style PCB */
-GAME( 1989, wfortune, 0, wfortune, wfortune, itech8_state, 0, ROT0, "GameTek", "Wheel Of Fortune (set 1)", 0 )
-GAME( 1989, wfortunea,wfortune, wfortune, wfortune, itech8_state, 0, ROT0, "GameTek", "Wheel Of Fortune (set 2)", 0 )
+GAME( 1989, wfortune, 0, wfortune, wfortune, driver_device, 0, ROT0, "GameTek", "Wheel Of Fortune (set 1)", 0 )
+GAME( 1989, wfortunea,wfortune, wfortune, wfortune, driver_device, 0, ROT0, "GameTek", "Wheel Of Fortune (set 2)", 0 )
/* Grudge Match-style PCB */
GAME( 1989, grmatch, 0, grmatch, grmatch, itech8_state, grmatch, ROT0, "Yankee Game Technology", "Grudge Match (Yankee Game Technology)", 0 )
/* Strata Bowling-style PCB */
-GAME( 1990, stratab, 0, stratab_hi, stratab, itech8_state, 0, ROT270, "Strata/Incredible Technologies", "Strata Bowling (V3)", 0 )
-GAME( 1990, stratab1, stratab, stratab_hi, stratab, itech8_state, 0, ROT270, "Strata/Incredible Technologies", "Strata Bowling (V1)", 0 )
-GAME( 1990, gtg, 0, stratab_hi, gtg, itech8_state, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf (Joystick, v3.1)", 0 )
-GAME( 1989, gtgt, gtg, stratab_hi, gtgt, itech8_state, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf (Trackball, v2.0)", 0 )
-GAME( 1989, gtgt1, gtg, stratab_hi, gtgt, itech8_state, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf (Trackball, v1.0)", 0 )
-GAME( 1989, gtg2t, gtg2, stratab_hi, gtg2t, itech8_state, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf II (Trackball, V1.1)", 0 )
-GAME( 1991, gtg2j, gtg2, stratab_lo, gtg, itech8_state, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf II (Joystick, V1.0)", 0 )
+GAME( 1990, stratab, 0, stratab_hi, stratab, driver_device, 0, ROT270, "Strata/Incredible Technologies", "Strata Bowling (V3)", 0 )
+GAME( 1990, stratab1, stratab, stratab_hi, stratab, driver_device, 0, ROT270, "Strata/Incredible Technologies", "Strata Bowling (V1)", 0 )
+GAME( 1990, gtg, 0, stratab_hi, gtg, driver_device, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf (Joystick, v3.1)", 0 )
+GAME( 1989, gtgt, gtg, stratab_hi, gtgt, driver_device, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf (Trackball, v2.0)", 0 )
+GAME( 1989, gtgt1, gtg, stratab_hi, gtgt, driver_device, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf (Trackball, v1.0)", 0 )
+GAME( 1989, gtg2t, gtg2, stratab_hi, gtg2t, driver_device, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf II (Trackball, V1.1)", 0 )
+GAME( 1991, gtg2j, gtg2, stratab_lo, gtg, driver_device, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf II (Joystick, V1.0)", 0 )
/* Slick Shot-style PCB */
GAME( 1990, slikshot, 0, slikshot_hi, slikshot, itech8_state, slikshot, ROT90, "Grand Products/Incredible Technologies", "Slick Shot (V2.2)", GAME_MECHANICAL )
@@ -2729,7 +2723,7 @@ GAME( 1990, slikshot17,slikshot, slikshot_hi, slikshot, itech8_state, slik
GAME( 1990, slikshot16,slikshot, slikshot_hi, slikshot, itech8_state, slikshot, ROT90, "Grand Products/Incredible Technologies", "Slick Shot (V1.6)", GAME_MECHANICAL )
GAME( 1990, dynobop, 0, slikshot_hi, dynobop, itech8_state, slikshot, ROT90, "Grand Products/Incredible Technologies", "Dyno Bop", GAME_MECHANICAL )
GAME( 1990, sstrike, 0, sstrike, sstrike, itech8_state, sstrike, ROT270, "Strata/Incredible Technologies", "Super Strike Bowling", GAME_MECHANICAL )
-GAME( 1991, pokrdice, 0, slikshot_lo_noz80, pokrdice, itech8_state, 0, ROT90, "Strata/Incredible Technologies", "Poker Dice", 0 )
+GAME( 1991, pokrdice, 0, slikshot_lo_noz80, pokrdice, driver_device, 0, ROT90, "Strata/Incredible Technologies", "Poker Dice", 0 )
/* Hot Shots Tennis-style PCB */
GAME( 1990, hstennis, 0, hstennis_hi, hstennis, itech8_state, hstennis, ROT90, "Strata/Incredible Technologies", "Hot Shots Tennis (V1.1)", 0 )
@@ -2746,8 +2740,8 @@ GAME( 1991, rimrockn16, rimrockn, rimrockn, rimrockn, itech8_state, rim
GAME( 1991, rimrockn12, rimrockn, rimrockn, rimrockn, itech8_state, rimrockn, ROT0, "Strata/Incredible Technologies", "Rim Rockin' Basketball (V1.2)", 0 )
/* Ninja Clowns-style PCB */
-GAME( 1991, ninclown, 0, ninclown, ninclown, itech8_state, 0, ROT0, "Strata/Incredible Technologies", "Ninja Clowns (08/27/91)", 0 )
+GAME( 1991, ninclown, 0, ninclown, ninclown, driver_device, 0, ROT0, "Strata/Incredible Technologies", "Ninja Clowns (08/27/91)", 0 )
/* Golden Tee Golf II-style PCB */
-GAME( 1992, gpgolf, 0, gtg2, gpgolf, itech8_state, 0, ROT0, "Strata/Incredible Technologies", "Golden Par Golf (Joystick, V1.1)", 0 )
-GAME( 1992, gtg2, 0, gtg2, gtg2, itech8_state, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf II (Trackball, V2.2)", 0 )
+GAME( 1992, gpgolf, 0, gtg2, gpgolf, driver_device, 0, ROT0, "Strata/Incredible Technologies", "Golden Par Golf (Joystick, V1.1)", 0 )
+GAME( 1992, gtg2, 0, gtg2, gtg2, driver_device, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf II (Trackball, V2.2)", 0 )
diff --git a/src/mame/drivers/itgambl2.c b/src/mame/drivers/itgambl2.c
index 93c3a2685a7..763e4b16ce7 100644
--- a/src/mame/drivers/itgambl2.c
+++ b/src/mame/drivers/itgambl2.c
@@ -925,19 +925,19 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1999, ntcash, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "NtCash", GAME_IS_SKELETON )
-GAME( 1999, wizard, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "A.A.", "Wizard (Ver 1.0)", GAME_IS_SKELETON )
-GAME( 200?, trstar2k, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "A.M.", "Triple Star 2000", GAME_IS_SKELETON )
-GAME( 2001, laser2k1, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Laser 2001 (Ver 1.2)", GAME_IS_SKELETON )
-GAME( 2001, mdrink, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Magic Drink (Ver 1.2)", GAME_IS_SKELETON )
-GAME( 2001, te0144, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Puzzle Bobble (Italian Gambling Game)", GAME_IS_SKELETON )
-GAME( 200?, cmagica, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Carta Magica (Ver 1.8)", GAME_IS_SKELETON )
-GAME( 200?, millsun, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Millennium Sun", GAME_IS_SKELETON )
-GAME( 200?, sspac2k1, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Super Space 2001", GAME_IS_SKELETON )
-GAME( 200?, elvis, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Elvis?", GAME_IS_SKELETON )
-GAME( 200?, sstar, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Super Star", GAME_IS_SKELETON )
-GAME( 2001, pirati, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "Cin", "Pirati", GAME_IS_SKELETON )
-GAME( 200?, mnumitg, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Magic Number (Italian Gambling Game, Ver 1.5)", GAME_IS_SKELETON )
-GAME( 200?, mclass, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Magic Class (Ver 2.2)", GAME_IS_SKELETON )
-GAME( 200?, europass, 0, itgambl2, itgambl2, itgambl2_state, 0, ROT0, "<unknown>", "Euro Pass (Ver 1.1)", GAME_IS_SKELETON )
+GAME( 1999, ntcash, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "NtCash", GAME_IS_SKELETON )
+GAME( 1999, wizard, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "A.A.", "Wizard (Ver 1.0)", GAME_IS_SKELETON )
+GAME( 200?, trstar2k, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "A.M.", "Triple Star 2000", GAME_IS_SKELETON )
+GAME( 2001, laser2k1, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Laser 2001 (Ver 1.2)", GAME_IS_SKELETON )
+GAME( 2001, mdrink, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Magic Drink (Ver 1.2)", GAME_IS_SKELETON )
+GAME( 2001, te0144, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Puzzle Bobble (Italian Gambling Game)", GAME_IS_SKELETON )
+GAME( 200?, cmagica, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Carta Magica (Ver 1.8)", GAME_IS_SKELETON )
+GAME( 200?, millsun, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Millennium Sun", GAME_IS_SKELETON )
+GAME( 200?, sspac2k1, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Super Space 2001", GAME_IS_SKELETON )
+GAME( 200?, elvis, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Elvis?", GAME_IS_SKELETON )
+GAME( 200?, sstar, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Super Star", GAME_IS_SKELETON )
+GAME( 2001, pirati, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "Cin", "Pirati", GAME_IS_SKELETON )
+GAME( 200?, mnumitg, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Magic Number (Italian Gambling Game, Ver 1.5)", GAME_IS_SKELETON )
+GAME( 200?, mclass, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Magic Class (Ver 2.2)", GAME_IS_SKELETON )
+GAME( 200?, europass, 0, itgambl2, itgambl2, driver_device, 0, ROT0, "<unknown>", "Euro Pass (Ver 1.1)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/itgambl3.c b/src/mame/drivers/itgambl3.c
index a61fd31139d..a83fd5e788e 100644
--- a/src/mame/drivers/itgambl3.c
+++ b/src/mame/drivers/itgambl3.c
@@ -486,7 +486,7 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 200?, ejollyx5, 0, itgambl3, itgambl3, itgambl3_state, 0, ROT0, "Solar Games", "Euro Jolly X5", GAME_IS_SKELETON )
-GAME( 200?, grandprx, 0, itgambl3, itgambl3, itgambl3_state, 0, ROT0, "4fun", "Grand Prix", GAME_IS_SKELETON )
-GAME( 200?, supjolly, 0, itgambl3, itgambl3, itgambl3_state, 0, ROT0, "<unknown>", "Super Jolly", GAME_IS_SKELETON )
-GAME( 200?, x5jokers, 0, itgambl3, itgambl3, itgambl3_state, 0, ROT0, "Electronic Projects", "X Five Jokers (Version 1.12)", GAME_IS_SKELETON )
+GAME( 200?, ejollyx5, 0, itgambl3, itgambl3, driver_device, 0, ROT0, "Solar Games", "Euro Jolly X5", GAME_IS_SKELETON )
+GAME( 200?, grandprx, 0, itgambl3, itgambl3, driver_device, 0, ROT0, "4fun", "Grand Prix", GAME_IS_SKELETON )
+GAME( 200?, supjolly, 0, itgambl3, itgambl3, driver_device, 0, ROT0, "<unknown>", "Super Jolly", GAME_IS_SKELETON )
+GAME( 200?, x5jokers, 0, itgambl3, itgambl3, driver_device, 0, ROT0, "Electronic Projects", "X Five Jokers (Version 1.12)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/itgamble.c b/src/mame/drivers/itgamble.c
index 5c6c7e96096..0a7de91c4e3 100644
--- a/src/mame/drivers/itgamble.c
+++ b/src/mame/drivers/itgamble.c
@@ -697,15 +697,15 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 2000, capunc, 0, itgamble, itgamble, itgamble_state, 0, ROT0, "Nazionale Elettronica", "Capitan Uncino (Ver 1.2)", GAME_IS_SKELETON )
-GAME( 2001, capcor, 0, itgamble, itgamble, itgamble_state, 0, ROT0, "Nazionale Elettronica", "Capitani Coraggiosi (Ver 1.3)", GAME_IS_SKELETON )
-GAME( 2002, laperla, 0, itgamble, itgamble, itgamble_state, 0, ROT0, "Nazionale Elettronica", "La Perla Nera (Ver 2.0)", GAME_IS_SKELETON )
-GAME( 2001, laperlag, 0, itgamble, itgamble, itgamble_state, 0, ROT0, "Nazionale Elettronica", "La Perla Nera Gold (Ver 2.0)", GAME_IS_SKELETON )
-GAME( 2001, euro2k2, 0, itgamble, itgamble, itgamble_state, 0, ROT0, "Nazionale Elettronica", "Europa 2002 (Ver 2.0, set 1)", GAME_IS_SKELETON )
-GAME( 2001, euro2k2a, euro2k2, itgamble, itgamble, itgamble_state, 0, ROT0, "Nazionale Elettronica", "Europa 2002 (Ver 2.0, set 2)", GAME_IS_SKELETON )
-GAME( 2002, euro2k2s, euro2k2, itgamble, itgamble, itgamble_state, 0, ROT0, "Nazionale Elettronica", "Europa 2002 Space (Ver 3.0)", GAME_IS_SKELETON )
-GAME( 200?, abacus, 0, itgamble, itgamble, itgamble_state, 0, ROT0, "<unknown>", "Abacus (Ver 1.0)", GAME_IS_SKELETON )
-GAME( 200?, bookthr, 0, itgamble, itgamble, itgamble_state, 0, ROT0, "<unknown>", "Book Theatre (Ver 1.2)", GAME_IS_SKELETON )
+GAME( 2000, capunc, 0, itgamble, itgamble, driver_device, 0, ROT0, "Nazionale Elettronica", "Capitan Uncino (Ver 1.2)", GAME_IS_SKELETON )
+GAME( 2001, capcor, 0, itgamble, itgamble, driver_device, 0, ROT0, "Nazionale Elettronica", "Capitani Coraggiosi (Ver 1.3)", GAME_IS_SKELETON )
+GAME( 2002, laperla, 0, itgamble, itgamble, driver_device, 0, ROT0, "Nazionale Elettronica", "La Perla Nera (Ver 2.0)", GAME_IS_SKELETON )
+GAME( 2001, laperlag, 0, itgamble, itgamble, driver_device, 0, ROT0, "Nazionale Elettronica", "La Perla Nera Gold (Ver 2.0)", GAME_IS_SKELETON )
+GAME( 2001, euro2k2, 0, itgamble, itgamble, driver_device, 0, ROT0, "Nazionale Elettronica", "Europa 2002 (Ver 2.0, set 1)", GAME_IS_SKELETON )
+GAME( 2001, euro2k2a, euro2k2, itgamble, itgamble, driver_device, 0, ROT0, "Nazionale Elettronica", "Europa 2002 (Ver 2.0, set 2)", GAME_IS_SKELETON )
+GAME( 2002, euro2k2s, euro2k2, itgamble, itgamble, driver_device, 0, ROT0, "Nazionale Elettronica", "Europa 2002 Space (Ver 3.0)", GAME_IS_SKELETON )
+GAME( 200?, abacus, 0, itgamble, itgamble, driver_device, 0, ROT0, "<unknown>", "Abacus (Ver 1.0)", GAME_IS_SKELETON )
+GAME( 200?, bookthr, 0, itgamble, itgamble, driver_device, 0, ROT0, "<unknown>", "Book Theatre (Ver 1.2)", GAME_IS_SKELETON )
/* different hardware */
-GAME( 200?, mnumber, 0, mnumber, itgamble, itgamble_state, 0, ROT0, "M.M. - B.R.L.", "Mystery Number", GAME_IS_SKELETON )
+GAME( 200?, mnumber, 0, mnumber, itgamble, driver_device, 0, ROT0, "M.M. - B.R.L.", "Mystery Number", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/jack.c b/src/mame/drivers/jack.c
index f37bd7dce90..fa1645ab22c 100644
--- a/src/mame/drivers/jack.c
+++ b/src/mame/drivers/jack.c
@@ -1337,28 +1337,24 @@ static void treahunt_decode( running_machine &machine )
}
}
-static DRIVER_INIT( jack )
+DRIVER_INIT_MEMBER(jack_state,jack)
{
- jack_state *state = machine.driver_data<jack_state>();
- state->m_timer_rate = 128;
+ m_timer_rate = 128;
}
-static DRIVER_INIT( treahunt )
+DRIVER_INIT_MEMBER(jack_state,treahunt)
{
- jack_state *state = machine.driver_data<jack_state>();
- state->m_timer_rate = 128;
- treahunt_decode(machine);
+ m_timer_rate = 128;
+ treahunt_decode(machine());
}
-static DRIVER_INIT( zzyzzyxx )
+DRIVER_INIT_MEMBER(jack_state,zzyzzyxx)
{
- jack_state *state = machine.driver_data<jack_state>();
- state->m_timer_rate = 16;
+ m_timer_rate = 16;
}
-static DRIVER_INIT( loverboy )
+DRIVER_INIT_MEMBER(jack_state,loverboy)
{
- jack_state *state = machine.driver_data<jack_state>();
/* this doesn't make sense.. the startup code, and irq0 have jumps to 0..
I replace the startup jump with another jump to what appears to be
@@ -1371,18 +1367,17 @@ static DRIVER_INIT( loverboy )
code, the protection device is disabled or changes behaviour via
writes at 0xf000 and 0xf008. -AS
*/
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
ROM[0x13] = 0x01;
ROM[0x12] = 0x9d;
- state->m_timer_rate = 16;
+ m_timer_rate = 16;
}
-static DRIVER_INIT( striv )
+DRIVER_INIT_MEMBER(jack_state,striv)
{
- jack_state *state = machine.driver_data<jack_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
UINT8 data;
int A;
@@ -1409,12 +1404,12 @@ static DRIVER_INIT( striv )
}
// Set-up the weirdest questions read ever done
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc000, 0xcfff, read8_delegate(FUNC(jack_state::striv_question_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc000, 0xcfff, read8_delegate(FUNC(jack_state::striv_question_r),this));
// Nop out unused sprites writes
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xb000, 0xb0ff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xb000, 0xb0ff);
- state->m_timer_rate = 128;
+ m_timer_rate = 128;
}
/*************************************
diff --git a/src/mame/drivers/jackal.c b/src/mame/drivers/jackal.c
index c32e13aee3e..909d591179b 100644
--- a/src/mame/drivers/jackal.c
+++ b/src/mame/drivers/jackal.c
@@ -505,7 +505,7 @@ ROM_END
*
*************************************/
-GAME( 1986, jackal, 0, jackal, jackal, jackal_state, 0, ROT90, "Konami", "Jackal (World)", 0 )
-GAME( 1986, topgunr, jackal, jackal, jackal, jackal_state, 0, ROT90, "Konami", "Top Gunner (US)", 0 )
-GAME( 1986, jackalj, jackal, jackal, jackal, jackal_state, 0, ROT90, "Konami", "Tokushu Butai Jackal (Japan)", 0 )
-GAME( 1986, topgunbl, jackal, jackal, topgunbl, jackal_state, 0, ROT90, "bootleg", "Top Gunner (bootleg)", 0 )
+GAME( 1986, jackal, 0, jackal, jackal, driver_device, 0, ROT90, "Konami", "Jackal (World)", 0 )
+GAME( 1986, topgunr, jackal, jackal, jackal, driver_device, 0, ROT90, "Konami", "Top Gunner (US)", 0 )
+GAME( 1986, jackalj, jackal, jackal, jackal, driver_device, 0, ROT90, "Konami", "Tokushu Butai Jackal (Japan)", 0 )
+GAME( 1986, topgunbl, jackal, jackal, topgunbl, driver_device, 0, ROT90, "bootleg", "Top Gunner (bootleg)", 0 )
diff --git a/src/mame/drivers/jackie.c b/src/mame/drivers/jackie.c
index f4b45251826..c060a30f99f 100644
--- a/src/mame/drivers/jackie.c
+++ b/src/mame/drivers/jackie.c
@@ -103,6 +103,7 @@ public:
void jackie_unk_reg_hi_w( int offset, UINT8 data, int reg );
void show_out();
DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
+ DECLARE_DRIVER_INIT(jackie);
};
@@ -536,11 +537,11 @@ static GFXDECODE_START( jackie )
GFXDECODE_ENTRY( "gfx2", 0, layout_8x32x6, 0, 16 )
GFXDECODE_END
-static DRIVER_INIT( jackie )
+DRIVER_INIT_MEMBER(jackie_state,jackie)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0xf000;A++)
{
diff --git a/src/mame/drivers/jackpool.c b/src/mame/drivers/jackpool.c
index 6a89ded2036..bda997cd393 100644
--- a/src/mame/drivers/jackpool.c
+++ b/src/mame/drivers/jackpool.c
@@ -35,6 +35,7 @@ public:
DECLARE_READ16_MEMBER(jackpool_ff_r);
DECLARE_READ16_MEMBER(jackpool_io_r);
DECLARE_WRITE16_MEMBER(jackpool_io_w);
+ DECLARE_DRIVER_INIT(jackpool);
};
@@ -294,9 +295,9 @@ ROM_START( jackpool )
ROM_LOAD( "jpc7", 0xc0000, 0x40000, CRC(b1d40623) SHA1(fb76ae6b53474bd4bee19dbce9537da0f2b63ff4) )
ROM_END
-static DRIVER_INIT( jackpool )
+DRIVER_INIT_MEMBER(jackpool_state,jackpool)
{
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
/* patch NVRAM routine */
rom[0x9040/2] = 0x6602;
diff --git a/src/mame/drivers/jaguar.c b/src/mame/drivers/jaguar.c
index 678c3bf8f1b..35ee6434a95 100644
--- a/src/mame/drivers/jaguar.c
+++ b/src/mame/drivers/jaguar.c
@@ -437,6 +437,20 @@ public:
DECLARE_WRITE16_MEMBER(jaguar_gpu_clut_w16);
DECLARE_READ16_MEMBER(jaguar_gpu_ram_r16);
DECLARE_WRITE16_MEMBER(jaguar_gpu_ram_w16);
+ DECLARE_DRIVER_INIT(jaguar);
+ DECLARE_DRIVER_INIT(area51mx);
+ DECLARE_DRIVER_INIT(maxforce);
+ DECLARE_DRIVER_INIT(freezeat);
+ DECLARE_DRIVER_INIT(fishfren);
+ DECLARE_DRIVER_INIT(a51mxr3k);
+ DECLARE_DRIVER_INIT(area51);
+ DECLARE_DRIVER_INIT(freezeat4);
+ DECLARE_DRIVER_INIT(freezeat5);
+ DECLARE_DRIVER_INIT(freezeat6);
+ DECLARE_DRIVER_INIT(vcircle);
+ DECLARE_DRIVER_INIT(freezeat3);
+ DECLARE_DRIVER_INIT(freezeat2);
+ DECLARE_DRIVER_INIT(area51a);
};
@@ -1848,10 +1862,10 @@ static void jaguar_fix_endian( running_machine &machine, UINT32 addr, UINT32 siz
}
}
-static DRIVER_INIT( jaguar )
+DRIVER_INIT_MEMBER(cojag_state,jaguar)
{
jaguar_hacks_enabled = false;
- state_save_register_global(machine, joystick_data);
+ state_save_register_global(machine(), joystick_data);
using_cart = 0;
for (int i=0;i<0x20000/4;i++) // the cd bios is bigger.. check
@@ -2368,100 +2382,94 @@ static void cojag_common_init(running_machine &machine, UINT16 gpu_jump_offs, UI
}
-static DRIVER_INIT( area51a )
+DRIVER_INIT_MEMBER(cojag_state,area51a)
{
jaguar_hacks_enabled = true;
- cojag_common_init(machine, 0x5c4, 0x5a0);
+ cojag_common_init(machine(), 0x5c4, 0x5a0);
#if ENABLE_SPEEDUP_HACKS
{
- cojag_state *state = machine.driver_data<cojag_state>();
/* install speedup for main CPU */
- state->m_main_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa02030, 0xa02033, write32_delegate(FUNC(cojag_state::area51_main_speedup_w),state));
+ m_main_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa02030, 0xa02033, write32_delegate(FUNC(cojag_state::area51_main_speedup_w),this));
}
#endif
}
-static DRIVER_INIT( area51 )
+DRIVER_INIT_MEMBER(cojag_state,area51)
{
jaguar_hacks_enabled = true;
- cojag_common_init(machine, 0x0c0, 0x09e);
+ cojag_common_init(machine(), 0x0c0, 0x09e);
#if ENABLE_SPEEDUP_HACKS
{
- cojag_state *state = machine.driver_data<cojag_state>();
/* install speedup for main CPU */
- state->m_main_speedup_max_cycles = 120;
- state->m_main_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x100062e8, 0x100062eb, read32_delegate(FUNC(cojag_state::cojagr3k_main_speedup_r),state));
+ m_main_speedup_max_cycles = 120;
+ m_main_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x100062e8, 0x100062eb, read32_delegate(FUNC(cojag_state::cojagr3k_main_speedup_r),this));
}
#endif
}
-static DRIVER_INIT( maxforce )
+DRIVER_INIT_MEMBER(cojag_state,maxforce)
{
jaguar_hacks_enabled = true;
- cojag_state *state = machine.driver_data<cojag_state>();
- cojag_common_init(machine, 0x0c0, 0x09e);
+ cojag_common_init(machine(), 0x0c0, 0x09e);
/* patch the protection */
- state->m_rom_base[0x220/4] = 0x03e00008;
+ m_rom_base[0x220/4] = 0x03e00008;
#if ENABLE_SPEEDUP_HACKS
/* install speedup for main CPU */
- state->m_main_speedup_max_cycles = 120;
- state->m_main_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x1000865c, 0x1000865f, read32_delegate(FUNC(cojag_state::cojagr3k_main_speedup_r),state));
+ m_main_speedup_max_cycles = 120;
+ m_main_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x1000865c, 0x1000865f, read32_delegate(FUNC(cojag_state::cojagr3k_main_speedup_r),this));
#endif
}
-static DRIVER_INIT( area51mx )
+DRIVER_INIT_MEMBER(cojag_state,area51mx)
{
jaguar_hacks_enabled = true;
- cojag_state *state = machine.driver_data<cojag_state>();
- cojag_common_init(machine, 0x0c0, 0x09e);
+ cojag_common_init(machine(), 0x0c0, 0x09e);
/* patch the protection */
- state->m_rom_base[0x418/4] = 0x4e754e75;
+ m_rom_base[0x418/4] = 0x4e754e75;
#if ENABLE_SPEEDUP_HACKS
/* install speedup for main CPU */
- state->m_main_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa19550, 0xa19557, write32_delegate(FUNC(cojag_state::area51mx_main_speedup_w),state));
+ m_main_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa19550, 0xa19557, write32_delegate(FUNC(cojag_state::area51mx_main_speedup_w),this));
#endif
}
-static DRIVER_INIT( a51mxr3k )
+DRIVER_INIT_MEMBER(cojag_state,a51mxr3k)
{
jaguar_hacks_enabled = true;
- cojag_state *state = machine.driver_data<cojag_state>();
- cojag_common_init(machine, 0x0c0, 0x09e);
+ cojag_common_init(machine(), 0x0c0, 0x09e);
/* patch the protection */
- state->m_rom_base[0x220/4] = 0x03e00008;
+ m_rom_base[0x220/4] = 0x03e00008;
#if ENABLE_SPEEDUP_HACKS
/* install speedup for main CPU */
- state->m_main_speedup_max_cycles = 120;
- state->m_main_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x10006f0c, 0x10006f0f, read32_delegate(FUNC(cojag_state::cojagr3k_main_speedup_r),state));
+ m_main_speedup_max_cycles = 120;
+ m_main_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x10006f0c, 0x10006f0f, read32_delegate(FUNC(cojag_state::cojagr3k_main_speedup_r),this));
#endif
}
-static DRIVER_INIT( fishfren )
+DRIVER_INIT_MEMBER(cojag_state,fishfren)
{
jaguar_hacks_enabled = true;
- cojag_common_init(machine, 0x578, 0x554);
+ cojag_common_init(machine(), 0x578, 0x554);
#if ENABLE_SPEEDUP_HACKS
{
- cojag_state *state = machine.driver_data<cojag_state>();
/* install speedup for main CPU */
- state->m_main_speedup_max_cycles = 200;
- state->m_main_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x10021b60, 0x10021b63, read32_delegate(FUNC(cojag_state::cojagr3k_main_speedup_r),state));
+ m_main_speedup_max_cycles = 200;
+ m_main_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x10021b60, 0x10021b63, read32_delegate(FUNC(cojag_state::cojagr3k_main_speedup_r),this));
}
#endif
}
@@ -2484,26 +2492,24 @@ static void init_freeze_common(running_machine &machine, offs_t main_speedup_add
#endif
}
-static DRIVER_INIT( freezeat ) { jaguar_hacks_enabled = true; init_freeze_common(machine, 0x1001a9f4); }
-static DRIVER_INIT( freezeat2 ) { jaguar_hacks_enabled = true; init_freeze_common(machine, 0x1001a8c4); }
-static DRIVER_INIT( freezeat3 ) { jaguar_hacks_enabled = true; init_freeze_common(machine, 0x1001a134); }
-static DRIVER_INIT( freezeat4 ) { jaguar_hacks_enabled = true; init_freeze_common(machine, 0x1001a134); }
-static DRIVER_INIT( freezeat5 ) { jaguar_hacks_enabled = true; init_freeze_common(machine, 0x10019b34); }
-static DRIVER_INIT( freezeat6 ) { jaguar_hacks_enabled = true; init_freeze_common(machine, 0x10019684); }
+DRIVER_INIT_MEMBER(cojag_state,freezeat) { jaguar_hacks_enabled = true; init_freeze_common(machine(), 0x1001a9f4); }
+DRIVER_INIT_MEMBER(cojag_state,freezeat2) { jaguar_hacks_enabled = true; init_freeze_common(machine(), 0x1001a8c4); }
+DRIVER_INIT_MEMBER(cojag_state,freezeat3) { jaguar_hacks_enabled = true; init_freeze_common(machine(), 0x1001a134); }
+DRIVER_INIT_MEMBER(cojag_state,freezeat4) { jaguar_hacks_enabled = true; init_freeze_common(machine(), 0x1001a134); }
+DRIVER_INIT_MEMBER(cojag_state,freezeat5) { jaguar_hacks_enabled = true; init_freeze_common(machine(), 0x10019b34); }
+DRIVER_INIT_MEMBER(cojag_state,freezeat6) { jaguar_hacks_enabled = true; init_freeze_common(machine(), 0x10019684); }
-
-static DRIVER_INIT( vcircle )
+DRIVER_INIT_MEMBER(cojag_state,vcircle)
{
jaguar_hacks_enabled = true;
- cojag_common_init(machine, 0x5c0, 0x5a0);
+ cojag_common_init(machine(), 0x5c0, 0x5a0);
#if ENABLE_SPEEDUP_HACKS
{
- cojag_state *state = machine.driver_data<cojag_state>();
/* install speedup for main CPU */
- state->m_main_speedup_max_cycles = 50;
- state->m_main_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x12005b34, 0x12005b37, read32_delegate(FUNC(cojag_state::cojagr3k_main_speedup_r),state));
+ m_main_speedup_max_cycles = 50;
+ m_main_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x12005b34, 0x12005b37, read32_delegate(FUNC(cojag_state::cojagr3k_main_speedup_r),this));
}
#endif
}
diff --git a/src/mame/drivers/jailbrek.c b/src/mame/drivers/jailbrek.c
index c7356cbd6ac..9f4dc176461 100644
--- a/src/mame/drivers/jailbrek.c
+++ b/src/mame/drivers/jailbrek.c
@@ -421,9 +421,9 @@ ROM_START( jailbrekb )
ROM_LOAD( "k8.bin", 0x0000, 0x0001, NO_DUMP ) /* PAL16L8 */
ROM_END
-static DRIVER_INIT( jailbrek )
+DRIVER_INIT_MEMBER(jailbrek_state,jailbrek)
{
- UINT8 *SPEECH_ROM = machine.root_device().memregion("vlm")->base();
+ UINT8 *SPEECH_ROM = machine().root_device().memregion("vlm")->base();
int ind;
/*
@@ -435,7 +435,7 @@ static DRIVER_INIT( jailbrek )
represents address line A13.)
*/
- if (machine.root_device().memregion("vlm")->bytes() == 0x4000)
+ if (machine().root_device().memregion("vlm")->bytes() == 0x4000)
{
for (ind = 0; ind < 0x2000; ++ind)
{
@@ -443,7 +443,7 @@ static DRIVER_INIT( jailbrek )
}
}
- konami1_decode(machine, "maincpu");
+ konami1_decode(machine(), "maincpu");
}
GAME( 1986, jailbrek, 0, jailbrek, jailbrek, jailbrek_state, jailbrek, ROT0, "Konami", "Jail Break", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/jalmah.c b/src/mame/drivers/jalmah.c
index 0c8e18329ba..d9a614f82bf 100644
--- a/src/mame/drivers/jalmah.c
+++ b/src/mame/drivers/jalmah.c
@@ -185,6 +185,12 @@ public:
DECLARE_WRITE16_MEMBER(mjzoomin_mcu_w);
DECLARE_READ16_MEMBER(kakumei_mcu_r);
DECLARE_READ16_MEMBER(suchipi_mcu_r);
+ DECLARE_DRIVER_INIT(suchipi);
+ DECLARE_DRIVER_INIT(kakumei);
+ DECLARE_DRIVER_INIT(urashima);
+ DECLARE_DRIVER_INIT(kakumei2);
+ DECLARE_DRIVER_INIT(daireika);
+ DECLARE_DRIVER_INIT(mjzoomin);
};
@@ -2409,54 +2415,48 @@ READ16_MEMBER(jalmah_state::suchipi_mcu_r)
return res;
}
-static DRIVER_INIT( urashima )
+DRIVER_INIT_MEMBER(jalmah_state,urashima)
{
- jalmah_state *state = machine.driver_data<jalmah_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::urashima_mcu_r), state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x80012, 0x80013, write16_delegate(FUNC(jalmah_state::urashima_mcu_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::urashima_mcu_r), this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x80012, 0x80013, write16_delegate(FUNC(jalmah_state::urashima_mcu_w), this));
- state->m_mcu_prg = 0x12;
+ m_mcu_prg = 0x12;
}
-static DRIVER_INIT( daireika )
+DRIVER_INIT_MEMBER(jalmah_state,daireika)
{
- jalmah_state *state = machine.driver_data<jalmah_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::daireika_mcu_r), state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x80012, 0x80013, write16_delegate(FUNC(jalmah_state::daireika_mcu_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::daireika_mcu_r), this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x80012, 0x80013, write16_delegate(FUNC(jalmah_state::daireika_mcu_w), this));
- state->m_mcu_prg = 0x11;
+ m_mcu_prg = 0x11;
}
-static DRIVER_INIT( mjzoomin )
+DRIVER_INIT_MEMBER(jalmah_state,mjzoomin)
{
- jalmah_state *state = machine.driver_data<jalmah_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::mjzoomin_mcu_r), state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x80012, 0x80013, write16_delegate(FUNC(jalmah_state::mjzoomin_mcu_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::mjzoomin_mcu_r), this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x80012, 0x80013, write16_delegate(FUNC(jalmah_state::mjzoomin_mcu_w), this));
- state->m_mcu_prg = 0x13;
+ m_mcu_prg = 0x13;
}
-static DRIVER_INIT( kakumei )
+DRIVER_INIT_MEMBER(jalmah_state,kakumei)
{
- jalmah_state *state = machine.driver_data<jalmah_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::kakumei_mcu_r), state));
- state->m_mcu_prg = 0x21;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::kakumei_mcu_r), this));
+ m_mcu_prg = 0x21;
}
-static DRIVER_INIT( kakumei2 )
+DRIVER_INIT_MEMBER(jalmah_state,kakumei2)
{
- jalmah_state *state = machine.driver_data<jalmah_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::kakumei_mcu_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::kakumei_mcu_r), this));
- state->m_mcu_prg = 0x22;
+ m_mcu_prg = 0x22;
}
-static DRIVER_INIT( suchipi )
+DRIVER_INIT_MEMBER(jalmah_state,suchipi)
{
- jalmah_state *state = machine.driver_data<jalmah_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::suchipi_mcu_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80004, 0x80005, read16_delegate(FUNC(jalmah_state::suchipi_mcu_r), this));
- state->m_mcu_prg = 0x23;
+ m_mcu_prg = 0x23;
}
/*First version of the MCU*/
diff --git a/src/mame/drivers/jangou.c b/src/mame/drivers/jangou.c
index 047ec6c92e0..bb511e49f7d 100644
--- a/src/mame/drivers/jangou.c
+++ b/src/mame/drivers/jangou.c
@@ -79,6 +79,8 @@ public:
DECLARE_READ8_MEMBER(jngolady_rng_r);
DECLARE_READ8_MEMBER(input_mux_r);
DECLARE_READ8_MEMBER(input_system_r);
+ DECLARE_DRIVER_INIT(jngolady);
+ DECLARE_DRIVER_INIT(luckygrl);
};
@@ -1362,17 +1364,16 @@ READ8_MEMBER(jangou_state::jngolady_rng_r)
return machine().rand();
}
-static DRIVER_INIT( jngolady )
+DRIVER_INIT_MEMBER(jangou_state,jngolady)
{
- jangou_state *state = machine.driver_data<jangou_state>();
- machine.device("nsc")->memory().space(AS_PROGRAM)->install_read_handler(0x08, 0x08, read8_delegate(FUNC(jangou_state::jngolady_rng_r),state) );
+ machine().device("nsc")->memory().space(AS_PROGRAM)->install_read_handler(0x08, 0x08, read8_delegate(FUNC(jangou_state::jngolady_rng_r),this) );
}
-static DRIVER_INIT (luckygrl)
+DRIVER_INIT_MEMBER(jangou_state,luckygrl)
{
// this is WRONG
int A;
- UINT8 *ROM = machine.root_device().memregion("cpu0")->base();
+ UINT8 *ROM = machine().root_device().memregion("cpu0")->base();
unsigned char patn1[32] = {
0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0,
@@ -1398,7 +1399,7 @@ static DRIVER_INIT (luckygrl)
{
FILE *fp;
char filename[256];
- sprintf(filename,"decrypted_%s", machine.system().name);
+ sprintf(filename,"decrypted_%s", machine().system().name);
fp=fopen(filename, "w+b");
if (fp)
{
@@ -1417,13 +1418,13 @@ static DRIVER_INIT (luckygrl)
*
*************************************/
-GAME( 1983, jangou, 0, jangou, jangou, jangou_state, 0, ROT0, "Nichibutsu", "Jangou [BET] (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1983, macha, 0, jangou, macha, jangou_state, 0, ROT0, "Logitec", "Monoshiri Quiz Osyaberi Macha (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1983, jangou, 0, jangou, jangou, driver_device, 0, ROT0, "Nichibutsu", "Jangou [BET] (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1983, macha, 0, jangou, macha, driver_device, 0, ROT0, "Logitec", "Monoshiri Quiz Osyaberi Macha (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1984, jngolady, 0, jngolady, jngolady, jangou_state, jngolady, ROT0, "Nichibutsu", "Jangou Lady (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, cntrygrl, 0, cntrygrl, cntrygrl, jangou_state, 0, ROT0, "Royal Denshi", "Country Girl (Japan set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, cntrygrla, cntrygrl, cntrygrl, cntrygrl, jangou_state, 0, ROT0, "Nichibutsu", "Country Girl (Japan set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, fruitbun, cntrygrl, cntrygrl, cntrygrl, jangou_state, 0, ROT0, "Nichibutsu", "Fruits & Bunny (World?)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1985, roylcrdn, 0, roylcrdn, roylcrdn, jangou_state, 0, ROT0, "Nichibutsu", "Royal Card (Nichibutsu)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1984, cntrygrl, 0, cntrygrl, cntrygrl, driver_device, 0, ROT0, "Royal Denshi", "Country Girl (Japan set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1984, cntrygrla, cntrygrl, cntrygrl, cntrygrl, driver_device, 0, ROT0, "Nichibutsu", "Country Girl (Japan set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1984, fruitbun, cntrygrl, cntrygrl, cntrygrl, driver_device, 0, ROT0, "Nichibutsu", "Fruits & Bunny (World?)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1985, roylcrdn, 0, roylcrdn, roylcrdn, driver_device, 0, ROT0, "Nichibutsu", "Royal Card (Nichibutsu)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
/* The following might not run there... */
GAME( 1984?, luckygrl, 0, cntrygrl, cntrygrl, jangou_state, luckygrl, ROT0, "Wing Co., Ltd.", "Lucky Girl? (Wing)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/jankenmn.c b/src/mame/drivers/jankenmn.c
index ed5a7c308dc..8c74b223190 100644
--- a/src/mame/drivers/jankenmn.c
+++ b/src/mame/drivers/jankenmn.c
@@ -382,4 +382,4 @@ ROM_END
*********************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS... LAYOUT */
-GAMEL( 1991, jankenmn, 0, jankenmn, jankenmn, jankenmn_state, 0, ROT0, "Sunwise", "Janken Man Kattara Ageru", 0, layout_jankenmn )
+GAMEL( 1991, jankenmn, 0, jankenmn, jankenmn, driver_device, 0, ROT0, "Sunwise", "Janken Man Kattara Ageru", 0, layout_jankenmn )
diff --git a/src/mame/drivers/jantotsu.c b/src/mame/drivers/jantotsu.c
index 6d9c045b9f2..d6d827ea6f6 100644
--- a/src/mame/drivers/jantotsu.c
+++ b/src/mame/drivers/jantotsu.c
@@ -585,4 +585,4 @@ ROM_END
*
*************************************/
-GAME( 1983, jantotsu, 0, jantotsu, jantotsu, jantotsu_state, 0, ROT270, "Sanritsu", "4nin-uchi Mahjong Jantotsu", GAME_SUPPORTS_SAVE )
+GAME( 1983, jantotsu, 0, jantotsu, jantotsu, driver_device, 0, ROT270, "Sanritsu", "4nin-uchi Mahjong Jantotsu", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/jchan.c b/src/mame/drivers/jchan.c
index 816ea19595b..96656fed9e4 100644
--- a/src/mame/drivers/jchan.c
+++ b/src/mame/drivers/jchan.c
@@ -224,6 +224,7 @@ public:
DECLARE_WRITE16_MEMBER(jchan_suprnova_sprite32regs_1_w);
DECLARE_WRITE16_MEMBER(jchan_suprnova_sprite32_2_w);
DECLARE_WRITE16_MEMBER(jchan_suprnova_sprite32regs_2_w);
+ DECLARE_DRIVER_INIT(jchan);
};
@@ -801,18 +802,17 @@ ROM_START( jchan2 ) /* Some kind of semi-sequel? MASK ROMs dumped and confirmed
ROM_LOAD16_WORD_SWAP( "j2d1x1.u13", 0x000000, 0x020000, CRC(b2b7fc90) SHA1(1b90c13bb41a313c4ed791a15d56073a7c29928b) )
ROM_END
-static DRIVER_INIT( jchan )
+DRIVER_INIT_MEMBER(jchan_state,jchan)
{
- jchan_state *state = machine.driver_data<jchan_state>();
- DRIVER_INIT_CALL( decrypt_toybox_rom );
+ DRIVER_INIT_CALL(decrypt_toybox_rom);
// install these here, putting them in the memory map causes issues
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x403ffe, 0x403fff, write16_delegate(FUNC(jchan_state::main2sub_cmd_w),state));
- machine.device("sub")->memory().space(AS_PROGRAM)->install_write_handler(0x400000, 0x400001, write16_delegate(FUNC(jchan_state::sub2main_cmd_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x403ffe, 0x403fff, write16_delegate(FUNC(jchan_state::main2sub_cmd_w),this));
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_write_handler(0x400000, 0x400001, write16_delegate(FUNC(jchan_state::sub2main_cmd_w),this));
- memset(state->m_mcu_com, 0, 4 * sizeof( UINT16 ) );
+ memset(m_mcu_com, 0, 4 * sizeof( UINT16 ) );
- machine.device<nvram_device>("nvram")->set_base(state->m_nvram_data, sizeof(state->m_nvram_data));
+ machine().device<nvram_device>("nvram")->set_base(m_nvram_data, sizeof(m_nvram_data));
}
diff --git a/src/mame/drivers/jclub2.c b/src/mame/drivers/jclub2.c
index ea8528fbe15..cd1c48a973e 100644
--- a/src/mame/drivers/jclub2.c
+++ b/src/mame/drivers/jclub2.c
@@ -137,6 +137,7 @@ public:
DECLARE_READ32_MEMBER(darkhors_input_sel_r);
DECLARE_WRITE32_MEMBER(darkhors_unk1_w);
DECLARE_WRITE32_MEMBER(darkhors_eeprom_w);
+ DECLARE_DRIVER_INIT(darkhors);
};
@@ -989,7 +990,7 @@ ROM_END
***************************************************************************/
-static DRIVER_INIT( darkhors )
+DRIVER_INIT_MEMBER(darkhors_state,darkhors)
{
// the dumped eeprom bytes are in a different order to how MAME expects them to be
// (offset 0x00, 0x40, 0x01, 0x41, 0x02, 0x42 ..... )
@@ -999,20 +1000,20 @@ static DRIVER_INIT( darkhors )
// the eeprom contains the game ID, which must be valid for it to boot
// is there a way (key sequence) to reprogram it??
// I bet the original sets need similar get further in their boot sequence
- UINT8 *eeprom = (UINT8 *) machine.root_device().memregion("eeprom")->base();
+ UINT8 *eeprom = (UINT8 *) machine().root_device().memregion("eeprom")->base();
if (eeprom != NULL)
{
- size_t len = machine.root_device().memregion("eeprom")->bytes();
- UINT8* temp = (UINT8*)auto_alloc_array(machine, UINT8, len);
+ size_t len = machine().root_device().memregion("eeprom")->bytes();
+ UINT8* temp = (UINT8*)auto_alloc_array(machine(), UINT8, len);
int i;
for (i = 0; i < len; i++)
temp[i] = eeprom[BITSWAP8(i,7,5,4,3,2,1,0,6)];
memcpy(eeprom, temp, len);
- auto_free(machine, temp);
+ auto_free(machine(), temp);
}
}
-GAME( 199?, jclub2, 0, jclub2, darkhors, darkhors_state, 0, ROT0, "Seta", "Jockey Club II (newer hardware)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, jclub2o, jclub2, jclub2o, darkhors, darkhors_state, 0, ROT0, "Seta", "Jockey Club II (older hardware)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, jclub2, 0, jclub2, darkhors, driver_device, 0, ROT0, "Seta", "Jockey Club II (newer hardware)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, jclub2o, jclub2, jclub2o, darkhors, driver_device, 0, ROT0, "Seta", "Jockey Club II (older hardware)", GAME_NOT_WORKING | GAME_NO_SOUND )
GAME( 2001, darkhors, jclub2, darkhors,darkhors, darkhors_state, darkhors, ROT0, "bootleg", "Dark Horse (bootleg of Jockey Club II)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/jedi.c b/src/mame/drivers/jedi.c
index cd33dcdabf2..1ef0c0fcbd9 100644
--- a/src/mame/drivers/jedi.c
+++ b/src/mame/drivers/jedi.c
@@ -403,4 +403,4 @@ ROM_END
*
*************************************/
-GAME( 1984, jedi, 0, jedi, jedi, jedi_state, 0, ROT0, "Atari", "Return of the Jedi", GAME_SUPPORTS_SAVE )
+GAME( 1984, jedi, 0, jedi, jedi, driver_device, 0, ROT0, "Atari", "Return of the Jedi", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/jeutel.c b/src/mame/drivers/jeutel.c
index 70c65e5ebec..2c5e1f31923 100644
--- a/src/mame/drivers/jeutel.c
+++ b/src/mame/drivers/jeutel.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(jeutel);
};
@@ -31,7 +33,7 @@ void jeutel_state::machine_reset()
{
}
-static DRIVER_INIT( jeutel )
+DRIVER_INIT_MEMBER(jeutel_state,jeutel)
{
}
diff --git a/src/mame/drivers/jokrwild.c b/src/mame/drivers/jokrwild.c
index 1e20c54a144..5b67f161a3a 100644
--- a/src/mame/drivers/jokrwild.c
+++ b/src/mame/drivers/jokrwild.c
@@ -113,6 +113,7 @@ public:
DECLARE_READ8_MEMBER(rng_r);
DECLARE_WRITE8_MEMBER(testa_w);
DECLARE_WRITE8_MEMBER(testb_w);
+ DECLARE_DRIVER_INIT(jokrwild);
};
@@ -537,7 +538,7 @@ ROM_END
* Driver Initialization *
**************************/
-static DRIVER_INIT( jokrwild )
+DRIVER_INIT_MEMBER(jokrwild_state,jokrwild)
/*****************************************************************************
Encryption was made by pages of 256 bytes.
@@ -555,7 +556,7 @@ static DRIVER_INIT( jokrwild )
*****************************************************************************/
{
int i, offs;
- UINT8 *srcp = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *srcp = machine().root_device().memregion( "maincpu" )->base();
for (i = 0x8000; i < 0x10000; i++)
{
diff --git a/src/mame/drivers/jollyjgr.c b/src/mame/drivers/jollyjgr.c
index f1b96736bf6..0a2b942775b 100644
--- a/src/mame/drivers/jollyjgr.c
+++ b/src/mame/drivers/jollyjgr.c
@@ -764,5 +764,5 @@ ROM_END
*
*************************************/
-GAME( 1981, fspiderb, 0, fspider, fspider, jollyjgr_state, 0, ROT90, "Taito Corporation", "Frog & Spiders (bootleg?)", GAME_SUPPORTS_SAVE ) // comes from a Fawaz Group bootleg(?) board
-GAME( 1982, jollyjgr, 0, jollyjgr, jollyjgr, jollyjgr_state, 0, ROT90, "Taito Corporation", "Jolly Jogger", GAME_SUPPORTS_SAVE )
+GAME( 1981, fspiderb, 0, fspider, fspider, driver_device, 0, ROT90, "Taito Corporation", "Frog & Spiders (bootleg?)", GAME_SUPPORTS_SAVE ) // comes from a Fawaz Group bootleg(?) board
+GAME( 1982, jollyjgr, 0, jollyjgr, jollyjgr, driver_device, 0, ROT90, "Taito Corporation", "Jolly Jogger", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/jongkyo.c b/src/mame/drivers/jongkyo.c
index ca7907b1ba3..751aa4d379e 100644
--- a/src/mame/drivers/jongkyo.c
+++ b/src/mame/drivers/jongkyo.c
@@ -53,6 +53,7 @@ public:
DECLARE_WRITE8_MEMBER(unknown_w);
DECLARE_READ8_MEMBER(input_1p_r);
DECLARE_READ8_MEMBER(input_2p_r);
+ DECLARE_DRIVER_INIT(jongkyo);
};
@@ -547,10 +548,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( jongkyo )
+DRIVER_INIT_MEMBER(jongkyo_state,jongkyo)
{
int i;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
/* first of all, do a simple bitswap */
for (i = 0x6000; i < 0x9000; ++i)
@@ -559,7 +560,7 @@ static DRIVER_INIT( jongkyo )
}
/* then do the standard Sega decryption */
- jongkyo_decode(machine, "maincpu");
+ jongkyo_decode(machine(), "maincpu");
}
diff --git a/src/mame/drivers/jp.c b/src/mame/drivers/jp.c
index d3f479dad27..41f75aca0e3 100644
--- a/src/mame/drivers/jp.c
+++ b/src/mame/drivers/jp.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(jp);
};
@@ -31,7 +33,7 @@ void jp_state::machine_reset()
{
}
-static DRIVER_INIT( jp )
+DRIVER_INIT_MEMBER(jp_state,jp)
{
}
diff --git a/src/mame/drivers/jpmimpct.c b/src/mame/drivers/jpmimpct.c
index e12fe9a5e2d..3928dfbce9a 100644
--- a/src/mame/drivers/jpmimpct.c
+++ b/src/mame/drivers/jpmimpct.c
@@ -5439,14 +5439,14 @@ ROM_END
-DRIVER_INIT( j6fbcrz )
+DRIVER_INIT_MEMBER(jpmimpct_state,j6fbcrz)
{
#if 0
int i;
- UINT8 *src1 = machine.root_device().memregion( "maincpu" )->base();
- UINT8 *src2 = machine.root_device().memregion( "encrypted" )->base();
+ UINT8 *src1 = machine().root_device().memregion( "maincpu" )->base();
+ UINT8 *src2 = machine().root_device().memregion( "encrypted" )->base();
for (i=0;i<0x040000;i++)
{
@@ -5456,7 +5456,7 @@ DRIVER_INIT( j6fbcrz )
{
FILE *fp;
char filename[256];
- sprintf(filename,"%s", machine.system().name);
+ sprintf(filename,"%s", machine().system().name);
fp=fopen(filename, "w+b");
if (fp)
{
@@ -5476,248 +5476,248 @@ DRIVER_INIT( j6fbcrz )
/* Video */
-GAME( 1995, cluedo, 0, jpmimpct, cluedo, jpmimpct_state, 0, ROT0, "JPM", "Cluedo (prod. 2D)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1995, cluedod, cluedo, jpmimpct, cluedo, jpmimpct_state, 0, ROT0, "JPM", "Cluedo (prod. 2D) (Protocol)",GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1995, cluedo2c, cluedo, jpmimpct, cluedo, jpmimpct_state, 0, ROT0, "JPM", "Cluedo (prod. 2C)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1995, cluedo2, cluedo, jpmimpct, cluedo, jpmimpct_state, 0, ROT0, "JPM", "Cluedo (prod. 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1996, trivialp, 0, jpmimpct, trivialp, jpmimpct_state, 0, ROT0, "JPM", "Trivial Pursuit (New Edition) (prod. 1D)", GAME_SUPPORTS_SAVE )
-GAME( 1996, trivialpd,trivialp,jpmimpct, trivialp, jpmimpct_state, 0, ROT0, "JPM", "Trivial Pursuit (New Edition) (prod. 1D) (Protocol)",GAME_SUPPORTS_SAVE )
-GAME( 1996, trivialpo,trivialp,jpmimpct, trivialp, jpmimpct_state, 0, ROT0, "JPM", "Trivial Pursuit", GAME_SUPPORTS_SAVE )
-GAME( 1997, scrabble, 0, jpmimpct, scrabble, jpmimpct_state, 0, ROT0, "JPM", "Scrabble (rev. F)", GAME_SUPPORTS_SAVE )
-GAME( 1997, scrabbled,scrabble,jpmimpct, scrabble, jpmimpct_state, 0, ROT0, "JPM", "Scrabble (rev. F) (Protocol)",GAME_SUPPORTS_SAVE )
-GAME( 1998, hngmnjpm, 0, jpmimpct, hngmnjpm, jpmimpct_state, 0, ROT0, "JPM", "Hangman (JPM)", GAME_SUPPORTS_SAVE )
-GAME( 1998, hngmnjpmd,hngmnjpm,jpmimpct, hngmnjpm, jpmimpct_state, 0, ROT0, "JPM", "Hangman (JPM) (Protocol)", GAME_SUPPORTS_SAVE )
-GAME( 1999, coronatn, 0, jpmimpct, coronatn, jpmimpct_state, 0, ROT0, "JPM", "Coronation Street Quiz Game", GAME_SUPPORTS_SAVE )
-GAME( 1999, coronatnd,coronatn,jpmimpct, coronatn, jpmimpct_state, 0, ROT0, "JPM", "Coronation Street Quiz Game (Protocol)", GAME_SUPPORTS_SAVE )
-GAME( 199?, tqst, 0, jpmimpct, cluedo , jpmimpct_state, 0, ROT0, "JPM", "Treasure Quest" , GAME_NOT_WORKING) // seems to be a video set (different to the games below), but probably incomplete, was marked as 'ACE' ?
-GAME( 199?, snlad, 0, jpmimpct, cluedo , jpmimpct_state, 0, ROT0, "JPM", "Snake & Ladders" , GAME_NOT_WORKING) // probably incomplete
+GAME( 1995, cluedo, 0, jpmimpct, cluedo, driver_device, 0, ROT0, "JPM", "Cluedo (prod. 2D)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1995, cluedod, cluedo, jpmimpct, cluedo, driver_device, 0, ROT0, "JPM", "Cluedo (prod. 2D) (Protocol)",GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1995, cluedo2c, cluedo, jpmimpct, cluedo, driver_device, 0, ROT0, "JPM", "Cluedo (prod. 2C)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1995, cluedo2, cluedo, jpmimpct, cluedo, driver_device, 0, ROT0, "JPM", "Cluedo (prod. 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1996, trivialp, 0, jpmimpct, trivialp, driver_device, 0, ROT0, "JPM", "Trivial Pursuit (New Edition) (prod. 1D)", GAME_SUPPORTS_SAVE )
+GAME( 1996, trivialpd,trivialp,jpmimpct, trivialp, driver_device, 0, ROT0, "JPM", "Trivial Pursuit (New Edition) (prod. 1D) (Protocol)",GAME_SUPPORTS_SAVE )
+GAME( 1996, trivialpo,trivialp,jpmimpct, trivialp, driver_device, 0, ROT0, "JPM", "Trivial Pursuit", GAME_SUPPORTS_SAVE )
+GAME( 1997, scrabble, 0, jpmimpct, scrabble, driver_device, 0, ROT0, "JPM", "Scrabble (rev. F)", GAME_SUPPORTS_SAVE )
+GAME( 1997, scrabbled,scrabble,jpmimpct, scrabble, driver_device, 0, ROT0, "JPM", "Scrabble (rev. F) (Protocol)",GAME_SUPPORTS_SAVE )
+GAME( 1998, hngmnjpm, 0, jpmimpct, hngmnjpm, driver_device, 0, ROT0, "JPM", "Hangman (JPM)", GAME_SUPPORTS_SAVE )
+GAME( 1998, hngmnjpmd,hngmnjpm,jpmimpct, hngmnjpm, driver_device, 0, ROT0, "JPM", "Hangman (JPM) (Protocol)", GAME_SUPPORTS_SAVE )
+GAME( 1999, coronatn, 0, jpmimpct, coronatn, driver_device, 0, ROT0, "JPM", "Coronation Street Quiz Game", GAME_SUPPORTS_SAVE )
+GAME( 1999, coronatnd,coronatn,jpmimpct, coronatn, driver_device, 0, ROT0, "JPM", "Coronation Street Quiz Game (Protocol)", GAME_SUPPORTS_SAVE )
+GAME( 199?, tqst, 0, jpmimpct, cluedo , driver_device, 0, ROT0, "JPM", "Treasure Quest" , GAME_NOT_WORKING) // seems to be a video set (different to the games below), but probably incomplete, was marked as 'ACE' ?
+GAME( 199?, snlad, 0, jpmimpct, cluedo , driver_device, 0, ROT0, "JPM", "Snake & Ladders" , GAME_NOT_WORKING) // probably incomplete
/* Mechanical Below */
#define GAME_FLAGS GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND
-GAME( 199?, j6fifth , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "5th Dimension (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6aceclb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Ace Of Clubs (Crystal) (IMPACT, set 1)", GAME_FLAGS )
-GAME( 199?, j6aceclba , j6aceclb , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Ace Of Clubs (Crystal) (IMPACT, set 2)", GAME_FLAGS )
-GAME( 199?, j6acehi , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Aces High (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6amdrm , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Mdm", "American Dream (Mdm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6arcade , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Arcadia (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bnkrcl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Banker Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6big50 , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Big 50 (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigbnk , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Big Banker (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigbuk , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Big Bucks (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigcsh , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Empire", "Big Cash Machine (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigpct , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Big Picture (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigtop , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Big Top Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigwhl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Big Wheel (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bnza , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Bonanza (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6brkout , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Breakout (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bucks , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Bucks Fizz (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6buzz , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Buzzundrum (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cpclb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Caesar's Palace Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6camelt , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Camelot (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6scarlt , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Captain Scarlet (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshbox , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Empire", "Cash Box Club (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshbeu , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Empire", "Cash Box Club (Empire) (Euro) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshbst , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Cash Buster (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshcnt , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Cash Countdown (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshrd , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Cash Raider (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshtwr , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Cash Towers (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshvgs , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Cash Vegas Strip (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cas5 , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Casino 5ive Liner (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cascz , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Casino Crazy (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cccla , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Casino Crazy Classic (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cascla , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Casino Crazy Classic Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6casclb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Casino Crazy Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6caslas , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Casino Las Vegas (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cheque , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Cheque Mate (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cluclb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Cluedo Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6col , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Mdm", "Coliseum (Mdm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6colcsh , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Coliseum Cash (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6colmon , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Colour Of Money (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6coprob , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Qps", "Cops 'n' Robbers (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6crack , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Cracker (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6crzclb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Crazy Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6crsfir , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Cross Fire (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6daygld , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Daytona Gold (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6dayml , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Daytona Millennium (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6dmnjkr , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Demon Jokers (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6dmngz , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Diamond Geezer (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6dyfl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Do You Feel Lucky (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6drdogh , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Qps", "Dr Dough (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6euphor , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Euphoria (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fastfr , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Qps", "Fast Fruits Club (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fasttk , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Fast Trak (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6filth , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Filthy Rich Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6firbl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Fireball (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fireck , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Firecracker (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6firclb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Firecracker Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fivalv , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Five Alive Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fiveln , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Five Liner (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6frc10 , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Force 10 (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6framft , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Frame & Fortune Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6frtmch , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "The Fruit Machine (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6frtpot , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Qps", "Fruitpots (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gforce , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "G Force (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gforceb , j6gforce , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "G Force (Jpm) (IMPACT) (15GBP Jackpot)", GAME_FLAGS )
-GAME( 199?, j6gidogh , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "G.I. Dough (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6guab , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Give Us A Break (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6guabcl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Give Us A Break Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gldclb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Gladiator Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gogold , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Go For Gold (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gldmin , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Empire", "Gold Mine (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gldday , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Golden Day (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6golddm , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Golden Demons (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6goldgl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Golden Goal (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hapyhr , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Happy Hour (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hifly , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Hi Flyer (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6impact , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Hi Impact (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6impactb , j6impact , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Hi Impact (Jpm) (IMPACT) (15GBP Jackpot)", GAME_FLAGS )
-GAME( 199?, j6hilosv , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Hi Lo Silver (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hirol , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Hi Roller (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hirlcl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Hi Roller Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6histk , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Qps", "Hi Stakes (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hiphop , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Hip Hopper (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hotsht , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Hot Shot (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6impuls , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Impulse (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6indy , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Indiana Jones (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6showtm , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "It's Showtime (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jackjs , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Qps", "Jackpot Justice (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jkrgld , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Jokers Gold (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jkrpls , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Jokers Plus (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jkpldx , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Jokers Plus Deluxe (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jkwld , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Jokers Wild (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jungfv , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Jungle Fever (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6kamel , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Kameleon (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6kungfu , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Kung Fu (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6luckla , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Lucky Las Vegas (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6magcir , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Magic Circle Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6mavrk , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Maverick (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6maxod , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Maximum Overdrive (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6maxcsh , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Maximus Cash (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6medal , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Qps", "Medallion Job (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6megbck , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Mega Bucks (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6monmad , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Money Madness (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6monspd , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Money Spider (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6montlk , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Money Talks (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6mono60 , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Monopoly 60th Anniversary Edition (Jpm) (IMPACT, set 1)", GAME_FLAGS )
-GAME( 199?, j6mono60a , j6mono60 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Monopoly 60th Anniversary Edition (Jpm) (IMPACT, set 2)", GAME_FLAGS )
-GAME( 199?, j6monobn , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Monopoly Bingo (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6outlaw , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Outlaw (Jpm) (IMPACT, v3)", GAME_FLAGS )
-GAME( 199?, j6outlawd , j6outlaw , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Outlaw (Jpm) (IMPACT, v3) (Protocol)", GAME_FLAGS )
-GAME( 199?, j6outlawc , j6outlaw , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Outlaw (Jpm) (IMPACT, Club?)", GAME_FLAGS )
-GAME( 199?, j6oxo , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Oxo (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6oxobin , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Oxo Bingo (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pacman , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Qps", "Pac Man Plus (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6papa , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Empire", "Paparazzi (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6phxgld , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Phoenix Gold (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pnxgd , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Phoenix Gold De Luxe (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pnxmil , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Phoenix Millennium (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pinwzd , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Pinball Wizard (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pirgld , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Pirates Gold (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6popoli , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Popeye & Olive (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pog , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Pot Of Gold (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pogcls , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Pot Of Gold Classic (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pwrlin , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Power Lines (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pwrspn , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Powerspin (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6quantm , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Quantum Leap (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6quick , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "RAL", "Quicksilver (RAL) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rager , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Red Alert (Jpm) [German] (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ra , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Red Alert (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6raclb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Red Alert Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6redarw , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Red Arrow (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6redarww , j6redarw , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Whitbread / JPM", "Red Arrow (Whitbread / Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6reddmn , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Red Demon (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 2002, j6rh6 , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Red Hot 6 (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rhchil , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Red Hot Chili Stepper (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rh6cl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Red Hot Six Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6reelmn , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Reel Money (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6reelth , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Reel Thing (Ace) (IMPACT, set 1)", GAME_FLAGS )
-GAME( 199?, j6reeltha , j6reelth , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Reel Thing (Ace) (IMPACT, set 2)", GAME_FLAGS )
-GAME( 199?, j6richpk , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Rich Pickings (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rico , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Ricochet (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6robin , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Robin Hood (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6roller , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Roller Coaster (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rccls , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Roller Coaster Classic (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6royfls , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Royal Flush Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6samur , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Samurai Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6sidewd , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Sidewinder (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6snakes , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Snakes & Ladders (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6sonic , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Sonic The Hedgehog (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6spcinv , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Space Invaders (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6stards , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Stardust (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6start , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Starturn (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6strk10 , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Strike 10 (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6supbrk , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Super Breakout (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6swpdrp , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Swop Till Ya Drop (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bags , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Three Bags Full (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6roof , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Thru' The Roof (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6tbirds , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Thunderbirds (Jpm) (IMPACT, set 1)", GAME_FLAGS )
-GAME( 199?, j6tbirdsa , j6tbirds , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Thunderbirds (Jpm) (IMPACT, set 2)", GAME_FLAGS )
-GAME( 199?, j6tbirdsb , j6tbirds , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Thunderbirds (Jpm) (IMPACT, set 3)", GAME_FLAGS )
-GAME( 199?, j6tbrdcl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Thunderbirds Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6tomb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Tomb Raider (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6topflg , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Top Flight (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6tutti , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Qps", "Tutti Frutti (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6twst , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Twister (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6twstd , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Twister (Jpm) [Dutch] (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6untch , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Untouchables (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pompay , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Up Pompay (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6vindal , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Vindaloot (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6vivark , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Viva Rock Vegas (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6vivrkc , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Viva Rock Vegas Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6wldkng , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Wild King Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6wthing , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Empire", "Wild Thing (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6wildw , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "Wild West (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6wizard , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Wizard Of Odds (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6knight , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Your Lucky Knight (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6svndb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Ace", "7 Deadly Bins (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ewn , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Each Way Nudger (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hikar , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Hi Karate (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hisprt , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Empire", "High Spirits (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rcclub , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Roller Coaster Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6slvgst , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Silver Ghost (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6footy , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Empire", "Football Fever (Empire) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6fifth , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "5th Dimension (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6aceclb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Ace Of Clubs (Crystal) (IMPACT, set 1)", GAME_FLAGS )
+GAME( 199?, j6aceclba , j6aceclb , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Ace Of Clubs (Crystal) (IMPACT, set 2)", GAME_FLAGS )
+GAME( 199?, j6acehi , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Aces High (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6amdrm , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Mdm", "American Dream (Mdm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6arcade , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Arcadia (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bnkrcl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Banker Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6big50 , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Big 50 (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bigbnk , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Big Banker (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bigbuk , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Big Bucks (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bigcsh , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Empire", "Big Cash Machine (Empire) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bigpct , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Big Picture (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bigtop , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Big Top Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bigwhl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Big Wheel (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bnza , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Bonanza (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6brkout , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Breakout (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bucks , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Bucks Fizz (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6buzz , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Buzzundrum (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cpclb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Caesar's Palace Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6camelt , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Camelot (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6scarlt , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Captain Scarlet (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cshbox , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Empire", "Cash Box Club (Empire) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cshbeu , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Empire", "Cash Box Club (Empire) (Euro) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cshbst , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Cash Buster (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cshcnt , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Cash Countdown (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cshrd , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Cash Raider (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cshtwr , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Cash Towers (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cshvgs , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Cash Vegas Strip (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cas5 , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Casino 5ive Liner (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cascz , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Casino Crazy (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cccla , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Casino Crazy Classic (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cascla , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Casino Crazy Classic Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6casclb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Casino Crazy Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6caslas , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Casino Las Vegas (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cheque , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Cheque Mate (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cluclb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Cluedo Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6col , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Mdm", "Coliseum (Mdm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6colcsh , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Coliseum Cash (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6colmon , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Colour Of Money (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6coprob , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Qps", "Cops 'n' Robbers (Qps) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6crack , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Cracker (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6crzclb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Crazy Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6crsfir , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Cross Fire (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6daygld , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Daytona Gold (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6dayml , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Daytona Millennium (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6dmnjkr , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Demon Jokers (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6dmngz , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Diamond Geezer (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6dyfl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Do You Feel Lucky (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6drdogh , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Qps", "Dr Dough (Qps) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6euphor , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Euphoria (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6fastfr , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Qps", "Fast Fruits Club (Qps) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6fasttk , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Fast Trak (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6filth , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Filthy Rich Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6firbl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Fireball (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6fireck , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Firecracker (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6firclb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Firecracker Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6fivalv , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Five Alive Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6fiveln , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Five Liner (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6frc10 , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Force 10 (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6framft , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Frame & Fortune Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6frtmch , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "The Fruit Machine (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6frtpot , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Qps", "Fruitpots (Qps) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6gforce , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "G Force (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6gforceb , j6gforce , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "G Force (Jpm) (IMPACT) (15GBP Jackpot)", GAME_FLAGS )
+GAME( 199?, j6gidogh , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "G.I. Dough (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6guab , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Give Us A Break (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6guabcl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Give Us A Break Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6gldclb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Gladiator Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6gogold , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Go For Gold (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6gldmin , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Empire", "Gold Mine (Empire) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6gldday , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Golden Day (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6golddm , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Golden Demons (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6goldgl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Golden Goal (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6hapyhr , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Happy Hour (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6hifly , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Hi Flyer (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6impact , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Hi Impact (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6impactb , j6impact , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Hi Impact (Jpm) (IMPACT) (15GBP Jackpot)", GAME_FLAGS )
+GAME( 199?, j6hilosv , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Hi Lo Silver (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6hirol , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Hi Roller (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6hirlcl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Hi Roller Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6histk , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Qps", "Hi Stakes (Qps) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6hiphop , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Hip Hopper (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6hotsht , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Hot Shot (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6impuls , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Impulse (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6indy , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Indiana Jones (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6showtm , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "It's Showtime (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6jackjs , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Qps", "Jackpot Justice (Qps) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6jkrgld , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Jokers Gold (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6jkrpls , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Jokers Plus (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6jkpldx , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Jokers Plus Deluxe (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6jkwld , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Jokers Wild (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6jungfv , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Jungle Fever (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6kamel , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Kameleon (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6kungfu , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Kung Fu (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6luckla , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Lucky Las Vegas (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6magcir , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Magic Circle Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6mavrk , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Maverick (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6maxod , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Maximum Overdrive (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6maxcsh , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Maximus Cash (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6medal , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Qps", "Medallion Job (Qps) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6megbck , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Mega Bucks (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6monmad , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Money Madness (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6monspd , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Money Spider (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6montlk , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Money Talks (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6mono60 , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Monopoly 60th Anniversary Edition (Jpm) (IMPACT, set 1)", GAME_FLAGS )
+GAME( 199?, j6mono60a , j6mono60 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Monopoly 60th Anniversary Edition (Jpm) (IMPACT, set 2)", GAME_FLAGS )
+GAME( 199?, j6monobn , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Monopoly Bingo (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6outlaw , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Outlaw (Jpm) (IMPACT, v3)", GAME_FLAGS )
+GAME( 199?, j6outlawd , j6outlaw , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Outlaw (Jpm) (IMPACT, v3) (Protocol)", GAME_FLAGS )
+GAME( 199?, j6outlawc , j6outlaw , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Outlaw (Jpm) (IMPACT, Club?)", GAME_FLAGS )
+GAME( 199?, j6oxo , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Oxo (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6oxobin , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Oxo Bingo (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pacman , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Qps", "Pac Man Plus (Qps) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6papa , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Empire", "Paparazzi (Empire) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6phxgld , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Phoenix Gold (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pnxgd , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Phoenix Gold De Luxe (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pnxmil , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Phoenix Millennium (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pinwzd , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Pinball Wizard (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pirgld , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Pirates Gold (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6popoli , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Popeye & Olive (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pog , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Pot Of Gold (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pogcls , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Pot Of Gold Classic (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pwrlin , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Power Lines (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pwrspn , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Powerspin (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6quantm , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Quantum Leap (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6quick , 0 , impctawp, tbirds, driver_device, 0, ROT0, "RAL", "Quicksilver (RAL) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6rager , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Red Alert (Jpm) [German] (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6ra , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Red Alert (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6raclb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Red Alert Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6redarw , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Red Arrow (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6redarww , j6redarw , impctawp, tbirds, driver_device, 0, ROT0, "Whitbread / JPM", "Red Arrow (Whitbread / Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6reddmn , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Red Demon (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 2002, j6rh6 , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Red Hot 6 (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6rhchil , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Red Hot Chili Stepper (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6rh6cl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Red Hot Six Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6reelmn , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Reel Money (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6reelth , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Reel Thing (Ace) (IMPACT, set 1)", GAME_FLAGS )
+GAME( 199?, j6reeltha , j6reelth , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Reel Thing (Ace) (IMPACT, set 2)", GAME_FLAGS )
+GAME( 199?, j6richpk , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Rich Pickings (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6rico , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Ricochet (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6robin , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Robin Hood (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6roller , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Roller Coaster (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6rccls , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Roller Coaster Classic (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6royfls , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Royal Flush Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6samur , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Samurai Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6sidewd , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Sidewinder (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6snakes , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Snakes & Ladders (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6sonic , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Sonic The Hedgehog (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6spcinv , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Space Invaders (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6stards , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Stardust (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6start , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Starturn (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6strk10 , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Strike 10 (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6supbrk , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Super Breakout (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6swpdrp , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Swop Till Ya Drop (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bags , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Three Bags Full (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6roof , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Thru' The Roof (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6tbirds , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Thunderbirds (Jpm) (IMPACT, set 1)", GAME_FLAGS )
+GAME( 199?, j6tbirdsa , j6tbirds , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Thunderbirds (Jpm) (IMPACT, set 2)", GAME_FLAGS )
+GAME( 199?, j6tbirdsb , j6tbirds , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Thunderbirds (Jpm) (IMPACT, set 3)", GAME_FLAGS )
+GAME( 199?, j6tbrdcl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Thunderbirds Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6tomb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Tomb Raider (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6topflg , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Top Flight (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6tutti , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Qps", "Tutti Frutti (Qps) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6twst , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Twister (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6twstd , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Twister (Jpm) [Dutch] (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6untch , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Untouchables (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pompay , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Up Pompay (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6vindal , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Vindaloot (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6vivark , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Viva Rock Vegas (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6vivrkc , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Viva Rock Vegas Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6wldkng , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Wild King Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6wthing , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Empire", "Wild Thing (Empire) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6wildw , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "Wild West (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6wizard , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Wizard Of Odds (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6knight , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Your Lucky Knight (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6svndb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Ace", "7 Deadly Bins (Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6ewn , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Each Way Nudger (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6hikar , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Hi Karate (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6hisprt , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Empire", "High Spirits (Empire) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6rcclub , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Roller Coaster Club (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6slvgst , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Silver Ghost (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6footy , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Empire", "Football Fever (Empire) (IMPACT)", GAME_FLAGS )
GAME( 199?, j6fbcrz , 0 , impctawp, tbirds, jpmimpct_state, j6fbcrz, ROT0, "JPM", "Football Crazy (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6h5clb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "High Five Club (Jpm) (IMPACT)", GAME_FLAGS )
-
-
-
-
-GAME( 199?, j6bbankr , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Big Banker (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bmc , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Big Money Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bno , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Big Nite Out (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6btbw , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Born To Be Wild Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cpal , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Whitbread / Crystal", "Caesars Palace (Whitbread / Crystal) (IMPACT, set 1)", GAME_FLAGS )
-GAME( 199?, j6cpala , j6cpal , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Whitbread / Crystal", "Caesars Palace (Whitbread / Crystal) (IMPACT, set 2)", GAME_FLAGS ) // marked as ACE
-GAME( 1998, j6cpalb , j6cpal , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Whitbread / Ace", "Caesars Palace (Whitbread / Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cdivr , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Cash Diver (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ccc , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Casino Crazy Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6colic , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Coliseum (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6crakr , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Cracker (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ewndg , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Each Way Nudger (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6easy , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Easy Money (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ffc , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Frame & Fortune Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6grc , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Gold Rush Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hdc , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Hot Dogs Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6impls , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Impulse (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6kapang , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Kapang! (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6kfc , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Kung Fu Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6lucklo , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Lucky Lottery Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6monst , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Monster Cash Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pinfvr , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Pinball Fever (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pinwzdc , j6pinwzd , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Pinball Wizard (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6potg , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Pot Of Gold (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ramese , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Rameses' Riches Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6r2rum , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Ready To Rumble (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6redal , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Red Alert (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6reelb , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Reel Bingo Classic Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6sl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Snakes & Ladders (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6sla , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Snakes & Ladders Slides Again (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6thril , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Thriller (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6tqust , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Crystal", "Treasure Quest (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gldpl , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "Qps / Mazooma", "Golden Palace (Qps / Mazooma) (IMPACT)", GAME_FLAGS ) // Mazooma rebuild? only has QPS strings tho
-GAME( 199?, j6shoot , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM / Whitbread", "ShootOut (Jpm / Whitbread) (IMPACT)", GAME_FLAGS ) // Mazooma rebuild? only has QPS strings tho
+GAME( 199?, j6h5clb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "High Five Club (Jpm) (IMPACT)", GAME_FLAGS )
+
+
+
+
+GAME( 199?, j6bbankr , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Big Banker (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bmc , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Big Money Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6bno , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Big Nite Out (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6btbw , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Born To Be Wild Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cpal , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Whitbread / Crystal", "Caesars Palace (Whitbread / Crystal) (IMPACT, set 1)", GAME_FLAGS )
+GAME( 199?, j6cpala , j6cpal , impctawp, tbirds, driver_device, 0, ROT0, "Whitbread / Crystal", "Caesars Palace (Whitbread / Crystal) (IMPACT, set 2)", GAME_FLAGS ) // marked as ACE
+GAME( 1998, j6cpalb , j6cpal , impctawp, tbirds, driver_device, 0, ROT0, "Whitbread / Ace", "Caesars Palace (Whitbread / Ace) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6cdivr , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Cash Diver (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6ccc , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Casino Crazy Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6colic , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Coliseum (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6crakr , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Cracker (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6ewndg , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Each Way Nudger (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6easy , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Easy Money (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6ffc , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Frame & Fortune Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6grc , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Gold Rush Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6hdc , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Hot Dogs Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6impls , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Impulse (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6kapang , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Kapang! (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6kfc , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Kung Fu Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6lucklo , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Lucky Lottery Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6monst , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Monster Cash Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pinfvr , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Pinball Fever (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6pinwzdc , j6pinwzd , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Pinball Wizard (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6potg , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Pot Of Gold (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6ramese , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Rameses' Riches Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6r2rum , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Ready To Rumble (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6redal , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Red Alert (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6reelb , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Reel Bingo Classic Club (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6sl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Snakes & Ladders (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6sla , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Snakes & Ladders Slides Again (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6thril , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Thriller (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6tqust , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Crystal", "Treasure Quest (Crystal) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6gldpl , 0 , impctawp, tbirds, driver_device, 0, ROT0, "Qps / Mazooma", "Golden Palace (Qps / Mazooma) (IMPACT)", GAME_FLAGS ) // Mazooma rebuild? only has QPS strings tho
+GAME( 199?, j6shoot , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM / Whitbread", "ShootOut (Jpm / Whitbread) (IMPACT)", GAME_FLAGS ) // Mazooma rebuild? only has QPS strings tho
// was marked as SWP, should this be a video game? - Apparently it's just a link box using the same hardware, but for 3 PC based units which aren't dumped, and probably can't really be emulated :-/
-GAME( 199?, j6milln , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Millionaire (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6milln , 0 , impctawp, tbirds, driver_device, 0, ROT0, "JPM", "Millionaire (Jpm) (IMPACT)", GAME_FLAGS )
diff --git a/src/mame/drivers/jpmmps.c b/src/mame/drivers/jpmmps.c
index 228b9fac370..21fc5085e41 100644
--- a/src/mame/drivers/jpmmps.c
+++ b/src/mame/drivers/jpmmps.c
@@ -40,6 +40,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(jpmmps);
};
static ADDRESS_MAP_START( jpmmps_map, AS_PROGRAM, 8, jpmmps_state )
@@ -167,7 +169,7 @@ static MACHINE_CONFIG_START( jpmmps, jpmmps_state )
MACHINE_CONFIG_END
-DRIVER_INIT( jpmmps )
+DRIVER_INIT_MEMBER(jpmmps_state,jpmmps)
{
}
diff --git a/src/mame/drivers/jpms80.c b/src/mame/drivers/jpms80.c
index 25bd8a19dfb..a249d5f735d 100644
--- a/src/mame/drivers/jpms80.c
+++ b/src/mame/drivers/jpms80.c
@@ -36,6 +36,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(jpms80);
};
static ADDRESS_MAP_START( jpms80_map, AS_PROGRAM, 8, jpms80_state )
@@ -100,7 +102,7 @@ static MACHINE_CONFIG_START( jpms80, jpms80_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-DRIVER_INIT( jpms80 )
+DRIVER_INIT_MEMBER(jpms80_state,jpms80)
{
}
diff --git a/src/mame/drivers/jpmsru.c b/src/mame/drivers/jpmsru.c
index 1fd47e2989c..3aaaaf1835c 100644
--- a/src/mame/drivers/jpmsru.c
+++ b/src/mame/drivers/jpmsru.c
@@ -29,6 +29,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(jpmsru);
};
// blind guess
@@ -70,7 +72,7 @@ static MACHINE_CONFIG_START( jpmsru_4, jpmsru_state )
MCFG_CPU_IO_MAP(jpmsru_io)
MACHINE_CONFIG_END
-DRIVER_INIT( jpmsru )
+DRIVER_INIT_MEMBER(jpmsru_state,jpmsru)
{
}
diff --git a/src/mame/drivers/jpmsys5.c b/src/mame/drivers/jpmsys5.c
index 8bc6d07bae1..93473696ac7 100644
--- a/src/mame/drivers/jpmsys5.c
+++ b/src/mame/drivers/jpmsys5.c
@@ -2346,178 +2346,178 @@ ROM_END
/* Video based titles */
-GAME( 1994, monopoly , 0 , jpmsys5v, monopoly, jpmsys5_state, 0, ROT0, "JPM", "Monopoly (Jpm) (SYSTEM5 VIDEO, set 1)", 0 )
-GAME( 1994, monopolya , monopoly , jpmsys5v, monopoly, jpmsys5_state, 0, ROT0, "JPM", "Monopoly (Jpm) (SYSTEM5 VIDEO, set 2)", 0 )
-GAME( 1995, monoplcl , monopoly , jpmsys5v, monopoly, jpmsys5_state, 0, ROT0, "JPM", "Monopoly Classic (Jpm) (SYSTEM5 VIDEO)", 0 )
-GAME( 1995, monopldx , 0 , jpmsys5v, monopoly, jpmsys5_state, 0, ROT0, "JPM", "Monopoly Deluxe (Jpm) (SYSTEM5 VIDEO)", 0 )
-GAME( 199?, cashcade , 0 , jpmsys5v, monopoly, jpmsys5_state, 0, ROT0, "JPM", "Cashcade (Jpm) (SYSTEM5 VIDEO)", GAME_NOT_WORKING|GAME_NO_SOUND ) // shows a loading error.. is the set incomplete?
+GAME( 1994, monopoly , 0 , jpmsys5v, monopoly, driver_device, 0, ROT0, "JPM", "Monopoly (Jpm) (SYSTEM5 VIDEO, set 1)", 0 )
+GAME( 1994, monopolya , monopoly , jpmsys5v, monopoly, driver_device, 0, ROT0, "JPM", "Monopoly (Jpm) (SYSTEM5 VIDEO, set 2)", 0 )
+GAME( 1995, monoplcl , monopoly , jpmsys5v, monopoly, driver_device, 0, ROT0, "JPM", "Monopoly Classic (Jpm) (SYSTEM5 VIDEO)", 0 )
+GAME( 1995, monopldx , 0 , jpmsys5v, monopoly, driver_device, 0, ROT0, "JPM", "Monopoly Deluxe (Jpm) (SYSTEM5 VIDEO)", 0 )
+GAME( 199?, cashcade , 0 , jpmsys5v, monopoly, driver_device, 0, ROT0, "JPM", "Cashcade (Jpm) (SYSTEM5 VIDEO)", GAME_NOT_WORKING|GAME_NO_SOUND ) // shows a loading error.. is the set incomplete?
#define GAME_FLAGS GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND
/* Non-Video */
-GAME( 199?, j5tstal , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "JPM System 5 Alpha Display Test Utility (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5tst1 , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "JPM System 5 Test Set (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5tst2 , j5tst1 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "JPM System 5 Test Set (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-
-GAME( 199?, j5fifth , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "5th Avenue (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5ar80 , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 1)", GAME_FLAGS ) // This was also listed as by 'Crystal'. There was Crystal ROM in the set, but it wasn't an JPM SYS5 rom...
-GAME( 199?, j5ar80a , j5ar80 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5ar80b , j5ar80 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5ar80c , j5ar80 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5ar80d , j5ar80 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5ar80cl , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5ar80cla , j5ar80cl , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5ar80clb , j5ar80cl , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5ar80clc , j5ar80cl , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5buc , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Buccaneer (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5cir , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5cira , j5cir , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5cirb , j5cir , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5circ , j5cir , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5cird , j5cir , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5clbnud , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Club Nudger (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5clbnuda , j5clbnud , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Club Nudger (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5daytn , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Daytona (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5daytna , j5daytn , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Daytona (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5daycls , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Daytona Classic (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5dayclsa , j5daycls , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Daytona Classic (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5dirty , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5dirtya , j5dirty , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5dirtyb , j5dirty , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5dirtyc , j5dirty , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5fairgd , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS ) // or just 'Fairground' ?
-GAME( 199?, j5fairgda , j5fairgd , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5fairgdb , j5fairgd , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5fairgdc , j5fairgd , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5fairgdd , j5fairgd , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5fairgde , j5fairgd , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5fair , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5faira , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5fairb , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5fairc , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5faird , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5faire , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5fairf , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
-GAME( 199?, j5fairg , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
-GAME( 199?, j5fairh , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
-GAME( 199?, j5fairi , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
-GAME( 199?, j5fairj , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 11)", GAME_FLAGS )
-GAME( 199?, j5fairk , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 12)", GAME_FLAGS )
-GAME( 199?, j5fairl , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 13)", GAME_FLAGS )
-GAME( 199?, j5fairm , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 14)", GAME_FLAGS )
-GAME( 199?, j5fairn , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 15)", GAME_FLAGS )
-GAME( 199?, j5fairo , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 16)", GAME_FLAGS )
-GAME( 199?, j5fairp , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 17)", GAME_FLAGS )
-GAME( 199?, j5fairq , j5fair , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 18)", GAME_FLAGS )
-GAME( 199?, j5filth , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5filtha , j5filth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5filthb , j5filth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5filthc , j5filth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5filthd , j5filth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5filthe , j5filth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5filthf , j5filth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
-GAME( 199?, j5filthg , j5filth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
-GAME( 199?, j5filthh , j5filth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
-GAME( 199?, j5filthi , j5filth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
-GAME( 199?, j5filthj , j5filth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 11)", GAME_FLAGS )
-GAME( 199?, j5firebl , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5firebla , j5firebl , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5fireblb , j5firebl , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5frmag , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Fruit Magic (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5goldbr , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Golden Bars (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5hagar , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5hagara , j5hagar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5hagarb , j5hagar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5hagarc , j5hagar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5hagard , j5hagar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5hagare , j5hagar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5hagarf , j5hagar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
-GAME( 199?, j5hagarg , j5hagar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
-GAME( 199?, j5hagarh , j5hagar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
-GAME( 199?, j5hagari , j5hagar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
-GAME( 199?, j5hagarj , j5hagar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 11)", GAME_FLAGS )
-GAME( 199?, j5hagsho , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5hagshoa , j5hagsho , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5hagshob , j5hagsho , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5hagshoc , j5hagsho , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5holly , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5hollya , j5holly , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5hollyb , j5holly , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5hollyc , j5holly , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5hollyd , j5holly , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5hollye , j5holly , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5hotdog , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hot Dogs (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5hotdoga , j5hotdog , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hot Dogs (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5indsum , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Indian Summer (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5indy , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Indy 500 (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5intr , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5intra , j5intr , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5intrb , j5intr , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5intrc , j5intr , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5jokgld , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5jokglda , j5jokgld , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5jokgldb , j5jokgld , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5jokgldc , j5jokgld , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5jokgldd , j5jokgld , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5jokglde , j5jokgld , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5jokgldf , j5jokgld , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
-GAME( 199?, j5jokgldg , j5jokgld , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
-GAME( 199?, j5jokgldh , j5jokgld , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
-GAME( 199?, j5nite , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Nite Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5nitea , j5nite , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Nite Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5palm , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Palm Springs (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5palma , j5palm , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Palm Springs (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5phnx , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Phoenix (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5phnxa , j5phnx , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Phoenix (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5popeye , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 1)", GAME_FLAGS ) // (20p/8 GBP Token) ?
-GAME( 199?, j5popeyea , j5popeye , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5popeyeb , j5popeye , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5popeyec , j5popeye , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5popeyed , j5popeye , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5popeyee , j5popeye , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5popeyef , j5popeye , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
-GAME( 199?, j5popeyeg , j5popeye , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
-GAME( 199?, j5popeyeh , j5popeye , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
-GAME( 199?, j5popeyei , j5popeye , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
-GAME( 199?, j5popth , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5poptha , j5popth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5popthb , j5popth , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5popprz , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Prize Popeye Vending (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5popprza , j5popprz , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Prize Popeye Vending (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5reelgh , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Reel Ghost (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5roul , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Roulette (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5roulcl , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5roulcla , j5roulcl , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5roulclb , j5roulcl , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5roulclc , j5roulcl , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5slvree , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Silver Reels (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5slvreea , j5slvree , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Silver Reels (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5slvstr , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5slvstra , j5slvstr , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5slvstrb , j5slvstr , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5street , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Streetwise (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5sup4 , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Super 4 (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5supbar , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Super Bars (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5supbara , j5supbar , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Super Bars (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5suphi , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Super Hi-Lo (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5swop , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Swop A Fruit Club (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5term , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Terminator (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5topshp , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Top Of The Shop Club (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5trail , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5traila , j5trail , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5trailb , j5trail , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5td , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Tumbling Dice (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5uj , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5uja , j5uj , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5ujb , j5uj , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5wsc , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Wall Street Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5wsca , j5wsc , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Wall Street Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-
-GAME( 199?, j5movie , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "Crystal", "Movie Magic Club (Crystal) (SYSTEM5)", GAME_FLAGS ) // apparently by Crystal
-
-GAME( 199?, j5nudfic , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Nudge Fiction (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5revo , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Revolver (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5revoa , j5revo , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Revolver (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5sizl , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Sizzling (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5hilos , 0 , jpmsys5, popeye, jpmsys5_state, 0, ROT0, "JPM", "Hi Lo Silver (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5tstal , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "JPM System 5 Alpha Display Test Utility (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5tst1 , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "JPM System 5 Test Set (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5tst2 , j5tst1 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "JPM System 5 Test Set (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+
+GAME( 199?, j5fifth , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "5th Avenue (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5ar80 , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 1)", GAME_FLAGS ) // This was also listed as by 'Crystal'. There was Crystal ROM in the set, but it wasn't an JPM SYS5 rom...
+GAME( 199?, j5ar80a , j5ar80 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5ar80b , j5ar80 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5ar80c , j5ar80 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5ar80d , j5ar80 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
+GAME( 199?, j5ar80cl , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5ar80cla , j5ar80cl , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5ar80clb , j5ar80cl , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5ar80clc , j5ar80cl , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5buc , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Buccaneer (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5cir , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5cira , j5cir , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5cirb , j5cir , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5circ , j5cir , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5cird , j5cir , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
+GAME( 199?, j5clbnud , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Club Nudger (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5clbnuda , j5clbnud , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Club Nudger (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5daytn , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Daytona (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5daytna , j5daytn , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Daytona (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5daycls , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Daytona Classic (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5dayclsa , j5daycls , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Daytona Classic (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5dirty , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5dirtya , j5dirty , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5dirtyb , j5dirty , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5dirtyc , j5dirty , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5fairgd , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS ) // or just 'Fairground' ?
+GAME( 199?, j5fairgda , j5fairgd , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5fairgdb , j5fairgd , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5fairgdc , j5fairgd , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5fairgdd , j5fairgd , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
+GAME( 199?, j5fairgde , j5fairgd , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
+GAME( 199?, j5fair , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5faira , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5fairb , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5fairc , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5faird , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
+GAME( 199?, j5faire , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
+GAME( 199?, j5fairf , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
+GAME( 199?, j5fairg , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
+GAME( 199?, j5fairh , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
+GAME( 199?, j5fairi , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
+GAME( 199?, j5fairj , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 11)", GAME_FLAGS )
+GAME( 199?, j5fairk , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 12)", GAME_FLAGS )
+GAME( 199?, j5fairl , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 13)", GAME_FLAGS )
+GAME( 199?, j5fairm , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 14)", GAME_FLAGS )
+GAME( 199?, j5fairn , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 15)", GAME_FLAGS )
+GAME( 199?, j5fairo , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 16)", GAME_FLAGS )
+GAME( 199?, j5fairp , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 17)", GAME_FLAGS )
+GAME( 199?, j5fairq , j5fair , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 18)", GAME_FLAGS )
+GAME( 199?, j5filth , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5filtha , j5filth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5filthb , j5filth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5filthc , j5filth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5filthd , j5filth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
+GAME( 199?, j5filthe , j5filth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
+GAME( 199?, j5filthf , j5filth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
+GAME( 199?, j5filthg , j5filth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
+GAME( 199?, j5filthh , j5filth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
+GAME( 199?, j5filthi , j5filth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
+GAME( 199?, j5filthj , j5filth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 11)", GAME_FLAGS )
+GAME( 199?, j5firebl , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5firebla , j5firebl , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5fireblb , j5firebl , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5frmag , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Fruit Magic (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5goldbr , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Golden Bars (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5hagar , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5hagara , j5hagar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5hagarb , j5hagar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5hagarc , j5hagar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5hagard , j5hagar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
+GAME( 199?, j5hagare , j5hagar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
+GAME( 199?, j5hagarf , j5hagar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
+GAME( 199?, j5hagarg , j5hagar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
+GAME( 199?, j5hagarh , j5hagar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
+GAME( 199?, j5hagari , j5hagar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
+GAME( 199?, j5hagarj , j5hagar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 11)", GAME_FLAGS )
+GAME( 199?, j5hagsho , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5hagshoa , j5hagsho , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5hagshob , j5hagsho , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5hagshoc , j5hagsho , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5holly , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5hollya , j5holly , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5hollyb , j5holly , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5hollyc , j5holly , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5hollyd , j5holly , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
+GAME( 199?, j5hollye , j5holly , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5hotdog , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hot Dogs (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5hotdoga , j5hotdog , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hot Dogs (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5indsum , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Indian Summer (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5indy , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Indy 500 (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5intr , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5intra , j5intr , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5intrb , j5intr , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5intrc , j5intr , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5jokgld , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5jokglda , j5jokgld , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5jokgldb , j5jokgld , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5jokgldc , j5jokgld , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5jokgldd , j5jokgld , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
+GAME( 199?, j5jokglde , j5jokgld , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
+GAME( 199?, j5jokgldf , j5jokgld , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
+GAME( 199?, j5jokgldg , j5jokgld , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
+GAME( 199?, j5jokgldh , j5jokgld , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
+GAME( 199?, j5nite , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Nite Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5nitea , j5nite , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Nite Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5palm , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Palm Springs (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5palma , j5palm , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Palm Springs (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5phnx , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Phoenix (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5phnxa , j5phnx , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Phoenix (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5popeye , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 1)", GAME_FLAGS ) // (20p/8 GBP Token) ?
+GAME( 199?, j5popeyea , j5popeye , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5popeyeb , j5popeye , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5popeyec , j5popeye , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5popeyed , j5popeye , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
+GAME( 199?, j5popeyee , j5popeye , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
+GAME( 199?, j5popeyef , j5popeye , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
+GAME( 199?, j5popeyeg , j5popeye , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
+GAME( 199?, j5popeyeh , j5popeye , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
+GAME( 199?, j5popeyei , j5popeye , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
+GAME( 199?, j5popth , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5poptha , j5popth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5popthb , j5popth , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5popprz , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Prize Popeye Vending (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5popprza , j5popprz , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Prize Popeye Vending (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5reelgh , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Reel Ghost (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5roul , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Roulette (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5roulcl , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5roulcla , j5roulcl , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5roulclb , j5roulcl , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5roulclc , j5roulcl , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
+GAME( 199?, j5slvree , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Silver Reels (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5slvreea , j5slvree , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Silver Reels (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5slvstr , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5slvstra , j5slvstr , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5slvstrb , j5slvstr , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5street , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Streetwise (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5sup4 , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Super 4 (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5supbar , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Super Bars (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5supbara , j5supbar , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Super Bars (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5suphi , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Super Hi-Lo (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5swop , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Swop A Fruit Club (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5term , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Terminator (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5topshp , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Top Of The Shop Club (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5trail , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5traila , j5trail , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5trailb , j5trail , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5td , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Tumbling Dice (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5uj , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5uja , j5uj , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5ujb , j5uj , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
+GAME( 199?, j5wsc , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Wall Street Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5wsca , j5wsc , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Wall Street Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+
+GAME( 199?, j5movie , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "Crystal", "Movie Magic Club (Crystal) (SYSTEM5)", GAME_FLAGS ) // apparently by Crystal
+
+GAME( 199?, j5nudfic , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Nudge Fiction (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5revo , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Revolver (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
+GAME( 199?, j5revoa , j5revo , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Revolver (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
+GAME( 199?, j5sizl , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Sizzling (Jpm) (SYSTEM5)", GAME_FLAGS )
+GAME( 199?, j5hilos , 0 , jpmsys5, popeye, driver_device, 0, ROT0, "JPM", "Hi Lo Silver (Jpm) (SYSTEM5)", GAME_FLAGS )
diff --git a/src/mame/drivers/jpmsys7.c b/src/mame/drivers/jpmsys7.c
index 287df4fb237..268a8be0d23 100644
--- a/src/mame/drivers/jpmsys7.c
+++ b/src/mame/drivers/jpmsys7.c
@@ -208,15 +208,15 @@ ROM_START( j7bullio )
ROM_END
-GAME( 200?, j7bmagic ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Jpm","Black Magic (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7cexprs ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Jpm","Cash Xpress (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7crztrl ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Jpm","Crazy Trails (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7fantaz ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Jpm","Fantaztec (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7kerchn ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Jpm","Ker - Chinq (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7razzma ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Jpm","Razzamataz (Jpm) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7razzmaa ,j7razzma, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Jpm","Razzamataz (Jpm) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7r2roll ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Jpm","Ready To Roll (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7tubgld ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Jpm","Turbo Gold (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7wldwkd ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Jpm","Wild 'N' Wicked (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7bullio ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Ace","Bullionaire (Ace)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7clbmag ,0, jpmsys7, jpmsys7, jpmsys7_state, 0, ROT0, "Qps","Club Magic (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7bmagic ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Jpm","Black Magic (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7cexprs ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Jpm","Cash Xpress (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7crztrl ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Jpm","Crazy Trails (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7fantaz ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Jpm","Fantaztec (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7kerchn ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Jpm","Ker - Chinq (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7razzma ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Jpm","Razzamataz (Jpm) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7razzmaa ,j7razzma, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Jpm","Razzamataz (Jpm) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7r2roll ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Jpm","Ready To Roll (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7tubgld ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Jpm","Turbo Gold (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7wldwkd ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Jpm","Wild 'N' Wicked (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7bullio ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Ace","Bullionaire (Ace)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, j7clbmag ,0, jpmsys7, jpmsys7, driver_device, 0, ROT0, "Qps","Club Magic (Jpm)", GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/jrpacman.c b/src/mame/drivers/jrpacman.c
index 73052ebd700..faa16b93a9d 100644
--- a/src/mame/drivers/jrpacman.c
+++ b/src/mame/drivers/jrpacman.c
@@ -111,6 +111,7 @@ public:
: pacman_state(mconfig, type, tag) { }
DECLARE_WRITE8_MEMBER(jrpacman_interrupt_vector_w);
DECLARE_WRITE8_MEMBER(irq_mask_w);
+ DECLARE_DRIVER_INIT(jrpacman);
};
@@ -355,10 +356,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( jrpacman )
+DRIVER_INIT_MEMBER(jrpacman_state,jrpacman)
{
/* The encryption PALs garble bits 0, 2 and 7 of the ROMs. The encryption */
- /* scheme is complex (basically it's a state machine) and can only be */
+ /* scheme is complex (basically it's a state machine()) and can only be */
/* faithfully emulated at run time. To avoid the performance hit that would */
/* cause, here we have a table of the values which must be XORed with */
/* each memory region to obtain the decrypted bytes. */
@@ -392,7 +393,7 @@ static DRIVER_INIT( jrpacman )
{ 0,0 }
};
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
int i, j, A;
for (i = A = 0; table[i].count; i++)
diff --git a/src/mame/drivers/jubilee.c b/src/mame/drivers/jubilee.c
index 2fb73638da7..23fd8984942 100644
--- a/src/mame/drivers/jubilee.c
+++ b/src/mame/drivers/jubilee.c
@@ -460,4 +460,4 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 198?, jubileep, 0, jubileep, jubileep, jubilee_state, 0, ROT0, "Jubilee", "Jubilee Double-Up Poker", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 198?, jubileep, 0, jubileep, jubileep, driver_device, 0, ROT0, "Jubilee", "Jubilee Double-Up Poker", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/junofrst.c b/src/mame/drivers/junofrst.c
index f2b678be84d..d8873e66673 100644
--- a/src/mame/drivers/junofrst.c
+++ b/src/mame/drivers/junofrst.c
@@ -115,6 +115,7 @@ public:
DECLARE_WRITE8_MEMBER(junofrst_irq_enable_w);
DECLARE_READ8_MEMBER(junofrst_portA_r);
DECLARE_WRITE8_MEMBER(junofrst_portB_w);
+ DECLARE_DRIVER_INIT(junofrst);
};
@@ -525,12 +526,12 @@ ROM_END
-static DRIVER_INIT( junofrst )
+DRIVER_INIT_MEMBER(junofrst_state,junofrst)
{
- UINT8 *decrypted = konami1_decode(machine, "maincpu");
+ UINT8 *decrypted = konami1_decode(machine(), "maincpu");
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x1000);
- machine.root_device().membank("bank1")->configure_decrypted_entries(0, 16, decrypted + 0x10000, 0x1000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x1000);
+ machine().root_device().membank("bank1")->configure_decrypted_entries(0, 16, decrypted + 0x10000, 0x1000);
}
diff --git a/src/mame/drivers/jvh.c b/src/mame/drivers/jvh.c
index 4a35aece790..077949865d1 100644
--- a/src/mame/drivers/jvh.c
+++ b/src/mame/drivers/jvh.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(jvh);
};
@@ -32,7 +34,7 @@ void jvh_state::machine_reset()
{
}
-static DRIVER_INIT( jvh )
+DRIVER_INIT_MEMBER(jvh_state,jvh)
{
}
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index 7da25133896..7e2873b31af 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -2257,22 +2257,22 @@ static void kaneko16_expand_sample_banks(running_machine &machine, const char *r
}
}
-static DRIVER_INIT( kaneko16 )
+DRIVER_INIT_MEMBER(kaneko16_state,kaneko16)
{
- kaneko16_unscramble_tiles(machine, "gfx2");
- kaneko16_unscramble_tiles(machine, "gfx3");
+ kaneko16_unscramble_tiles(machine(), "gfx2");
+ kaneko16_unscramble_tiles(machine(), "gfx3");
}
-static DRIVER_INIT( berlwall )
+DRIVER_INIT_MEMBER(kaneko16_berlwall_state,berlwall)
{
- kaneko16_unscramble_tiles(machine, "gfx2");
+ kaneko16_unscramble_tiles(machine(), "gfx2");
}
-static DRIVER_INIT( samplebank )
+DRIVER_INIT_MEMBER(kaneko16_state,samplebank)
{
- kaneko16_unscramble_tiles(machine, "gfx2");
- kaneko16_unscramble_tiles(machine, "gfx3");
- kaneko16_expand_sample_banks(machine, "oki1");
+ kaneko16_unscramble_tiles(machine(), "gfx2");
+ kaneko16_unscramble_tiles(machine(), "gfx3");
+ kaneko16_expand_sample_banks(machine(), "oki1");
}
@@ -3875,42 +3875,39 @@ ROM_START( bonkadv )
ROM_LOAD( "pc603108.102", 0x200000, 0x100000, CRC(58458985) SHA1(9a846d604ba901eb2a59d2b6cd9c42e3b43adb6a) )
ROM_END
-static DRIVER_INIT( bloodwar )
+DRIVER_INIT_MEMBER(kaneko16_state,bloodwar)
{
- kaneko16_state *state = machine.driver_data<kaneko16_state>();
- machine.device<nvram_device>("nvram")->set_base(state->m_nvram_save, sizeof(state->m_nvram_save));
+ machine().device<nvram_device>("nvram")->set_base(m_nvram_save, sizeof(m_nvram_save));
DRIVER_INIT_CALL(samplebank);
DRIVER_INIT_CALL(decrypt_toybox_rom);
}
-static DRIVER_INIT( gtmr2 )
+DRIVER_INIT_MEMBER(kaneko16_state,gtmr2)
{
- kaneko16_state *state = machine.driver_data<kaneko16_state>();
- machine.device<nvram_device>("nvram")->set_base(state->m_nvram_save, sizeof(state->m_nvram_save));
+ machine().device<nvram_device>("nvram")->set_base(m_nvram_save, sizeof(m_nvram_save));
DRIVER_INIT_CALL(samplebank);
DRIVER_INIT_CALL(decrypt_toybox_rom_alt);
}
-static DRIVER_INIT( shogwarr )
+DRIVER_INIT_MEMBER(kaneko16_shogwarr_state,shogwarr)
{
// default sample banks
- kaneko16_common_oki_bank_w(machine, "bank10", "oki1", 0, 0x30000, 0x10000);
- kaneko16_common_oki_bank_w(machine, "bank11", "oki2", 0, 0x00000, 0x40000);
+ kaneko16_common_oki_bank_w(machine(), "bank10", "oki1", 0, 0x30000, 0x10000);
+ kaneko16_common_oki_bank_w(machine(), "bank11", "oki2", 0, 0x00000, 0x40000);
DRIVER_INIT_CALL(kaneko16);
}
-static DRIVER_INIT( brapboys )
+DRIVER_INIT_MEMBER(kaneko16_shogwarr_state,brapboys)
{
- kaneko16_shogwarr_state *state = machine.driver_data<kaneko16_shogwarr_state>();
// sample banking is different on brap boys for the music, why? GALs / PALs ?
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe00000, 0xe00001, write16_delegate(FUNC(kaneko16_shogwarr_state::brapboys_oki_bank_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe00000, 0xe00001, write16_delegate(FUNC(kaneko16_shogwarr_state::brapboys_oki_bank_w),this));
// default sample banks
- kaneko16_common_oki_bank_w(machine, "bank10", "oki1", 0, 0x30000, 0x10000);
- kaneko16_common_oki_bank_w(machine, "bank11", "oki2", 0, 0x20000, 0x20000);
+ kaneko16_common_oki_bank_w(machine(), "bank10", "oki1", 0, 0x30000, 0x10000);
+ kaneko16_common_oki_bank_w(machine(), "bank11", "oki2", 0, 0x20000, 0x20000);
DRIVER_INIT_CALL(kaneko16);
}
diff --git a/src/mame/drivers/kangaroo.c b/src/mame/drivers/kangaroo.c
index 7fa8c3bb17d..6f97afcf6ed 100644
--- a/src/mame/drivers/kangaroo.c
+++ b/src/mame/drivers/kangaroo.c
@@ -570,7 +570,7 @@ ROM_END
*
*************************************/
-GAME( 1981, fnkyfish, 0, nomcu, fnkyfish, kangaroo_state, 0, ROT90, "Sun Electronics", "Funky Fish", GAME_SUPPORTS_SAVE )
-GAME( 1982, kangaroo, 0, mcu, kangaroo, kangaroo_state, 0, ROT90, "Sun Electronics", "Kangaroo", GAME_SUPPORTS_SAVE )
-GAME( 1982, kangarooa, kangaroo, mcu, kangaroo, kangaroo_state, 0, ROT90, "Sun Electronics (Atari license)", "Kangaroo (Atari)", GAME_SUPPORTS_SAVE )
-GAME( 1982, kangaroob, kangaroo, nomcu, kangaroo, kangaroo_state, 0, ROT90, "bootleg", "Kangaroo (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, fnkyfish, 0, nomcu, fnkyfish, driver_device, 0, ROT90, "Sun Electronics", "Funky Fish", GAME_SUPPORTS_SAVE )
+GAME( 1982, kangaroo, 0, mcu, kangaroo, driver_device, 0, ROT90, "Sun Electronics", "Kangaroo", GAME_SUPPORTS_SAVE )
+GAME( 1982, kangarooa, kangaroo, mcu, kangaroo, driver_device, 0, ROT90, "Sun Electronics (Atari license)", "Kangaroo (Atari)", GAME_SUPPORTS_SAVE )
+GAME( 1982, kangaroob, kangaroo, nomcu, kangaroo, driver_device, 0, ROT90, "bootleg", "Kangaroo (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/karnov.c b/src/mame/drivers/karnov.c
index 3e6d8be6375..98e0c070b5f 100644
--- a/src/mame/drivers/karnov.c
+++ b/src/mame/drivers/karnov.c
@@ -1129,56 +1129,50 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( karnov )
+DRIVER_INIT_MEMBER(karnov_state,karnov)
{
- karnov_state *state = machine.driver_data<karnov_state>();
- state->m_microcontroller_id = KARNOV;
- state->m_coin_mask = 0x07;
+ m_microcontroller_id = KARNOV;
+ m_coin_mask = 0x07;
}
-static DRIVER_INIT( karnovj )
+DRIVER_INIT_MEMBER(karnov_state,karnovj)
{
- karnov_state *state = machine.driver_data<karnov_state>();
- state->m_microcontroller_id = KARNOVJ;
- state->m_coin_mask = 0x07;
+ m_microcontroller_id = KARNOVJ;
+ m_coin_mask = 0x07;
}
-static DRIVER_INIT( wndrplnt )
+DRIVER_INIT_MEMBER(karnov_state,wndrplnt)
{
- karnov_state *state = machine.driver_data<karnov_state>();
- state->m_microcontroller_id = WNDRPLNT;
- state->m_coin_mask = 0x00;
+ m_microcontroller_id = WNDRPLNT;
+ m_coin_mask = 0x00;
}
-static DRIVER_INIT( chelnov )
+DRIVER_INIT_MEMBER(karnov_state,chelnov)
{
- karnov_state *state = machine.driver_data<karnov_state>();
- UINT16 *RAM = (UINT16 *)state->memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *)memregion("maincpu")->base();
- state->m_microcontroller_id = CHELNOV;
- state->m_coin_mask = 0xe0;
+ m_microcontroller_id = CHELNOV;
+ m_coin_mask = 0xe0;
RAM[0x0a26/2] = 0x4e71; /* removes a protection lookup table */
RAM[0x062a/2] = 0x4e71; /* hangs waiting on i8751 int */
}
-static DRIVER_INIT( chelnovu )
+DRIVER_INIT_MEMBER(karnov_state,chelnovu)
{
- karnov_state *state = machine.driver_data<karnov_state>();
- UINT16 *RAM = (UINT16 *)state->memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *)memregion("maincpu")->base();
- state->m_microcontroller_id = CHELNOVU;
- state->m_coin_mask = 0xe0;
+ m_microcontroller_id = CHELNOVU;
+ m_coin_mask = 0xe0;
RAM[0x0a26/2] = 0x4e71; /* removes a protection lookup table */
RAM[0x062a/2] = 0x4e71; /* hangs waiting on i8751 int */
}
-static DRIVER_INIT( chelnovj )
+DRIVER_INIT_MEMBER(karnov_state,chelnovj)
{
- karnov_state *state = machine.driver_data<karnov_state>();
- UINT16 *RAM = (UINT16 *)state->memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *)memregion("maincpu")->base();
- state->m_microcontroller_id = CHELNOVJ;
- state->m_coin_mask = 0xe0;
+ m_microcontroller_id = CHELNOVJ;
+ m_coin_mask = 0xe0;
RAM[0x0a2e/2] = 0x4e71; /* removes a protection lookup table */
RAM[0x062a/2] = 0x4e71; /* hangs waiting on i8751 int */
}
diff --git a/src/mame/drivers/kas89.c b/src/mame/drivers/kas89.c
index bfda8f59085..ea4cc3a1035 100644
--- a/src/mame/drivers/kas89.c
+++ b/src/mame/drivers/kas89.c
@@ -225,6 +225,7 @@ public:
DECLARE_WRITE8_MEMBER(int_ack_w);
DECLARE_WRITE8_MEMBER(led_mux_data_w);
DECLARE_WRITE8_MEMBER(led_mux_select_w);
+ DECLARE_DRIVER_INIT(kas89);
};
#define VDP_MEM 0x40000
@@ -862,11 +863,11 @@ ROM_END
A13-> A06
A14-> A14
*/
-static DRIVER_INIT(kas89)
+DRIVER_INIT_MEMBER(kas89_state,kas89)
{
int i;
- UINT8 *mem = machine.root_device().memregion("maincpu")->base();
- int memsize = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *mem = machine().root_device().memregion("maincpu")->base();
+ int memsize = machine().root_device().memregion("maincpu")->bytes();
UINT8 *buf;
/* Unscrambling data lines */
@@ -876,14 +877,14 @@ static DRIVER_INIT(kas89)
}
/* Unscrambling address lines */
- buf = auto_alloc_array(machine, UINT8, memsize);
+ buf = auto_alloc_array(machine(), UINT8, memsize);
memcpy(buf, mem, memsize);
for ( i = 0; i < memsize; i++ )
{
mem[BITSWAP16(i,15,14,5,6,3,0,12,1,9,13,4,7,10,8,2,11)] = buf[i];
}
- auto_free(machine, buf);
+ auto_free(machine(), buf);
}
diff --git a/src/mame/drivers/kchamp.c b/src/mame/drivers/kchamp.c
index 544109c13d2..ac1a16e73c4 100644
--- a/src/mame/drivers/kchamp.c
+++ b/src/mame/drivers/kchamp.c
@@ -736,11 +736,10 @@ static UINT8 *decrypt_code(running_machine &machine)
}
-static DRIVER_INIT( kchampvs )
+DRIVER_INIT_MEMBER(kchamp_state,kchampvs)
{
- kchamp_state *state = machine.driver_data<kchamp_state>();
- UINT8 *rom = state->memregion("maincpu")->base();
- UINT8 *decrypted = decrypt_code(machine);
+ UINT8 *rom = memregion("maincpu")->base();
+ UINT8 *decrypted = decrypt_code(machine());
int A;
/*
@@ -762,26 +761,25 @@ static DRIVER_INIT( kchampvs )
decrypted[A] = rom[A]; /* fix fourth opcode (ld ($xxxx),a */
/* and from here on, opcodes are encrypted */
- state->m_counter = 0;
- state->m_msm_data = 0;
- state->m_msm_play_lo_nibble = 0;
+ m_counter = 0;
+ m_msm_data = 0;
+ m_msm_play_lo_nibble = 0;
}
-static DRIVER_INIT( kchampvs2 )
+DRIVER_INIT_MEMBER(kchamp_state,kchampvs2)
{
- kchamp_state *state = machine.driver_data<kchamp_state>();
- decrypt_code(machine);
- state->m_counter = 0;
- state->m_msm_data = 0;
- state->m_msm_play_lo_nibble = 1;
+ decrypt_code(machine());
+ m_counter = 0;
+ m_msm_data = 0;
+ m_msm_play_lo_nibble = 1;
}
-GAME( 1984, kchamp, 0, kchamp, kchamp, kchamp_state, 0, ROT90, "Data East USA", "Karate Champ (US)", GAME_SUPPORTS_SAVE )
-GAME( 1984, karatedo, kchamp, kchamp, kchamp, kchamp_state, 0, ROT90, "Data East Corporation", "Karate Dou (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, kchamp, 0, kchamp, kchamp, driver_device, 0, ROT90, "Data East USA", "Karate Champ (US)", GAME_SUPPORTS_SAVE )
+GAME( 1984, karatedo, kchamp, kchamp, kchamp, driver_device, 0, ROT90, "Data East Corporation", "Karate Dou (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1984, kchampvs, kchamp, kchampvs, kchampvs, kchamp_state, kchampvs, ROT90, "Data East USA", "Karate Champ (US, VS version set 1)", GAME_SUPPORTS_SAVE )
GAME( 1984, kchampvs2, kchamp, kchampvs, kchampvs, kchamp_state, kchampvs2, ROT90, "Data East USA", "Karate Champ (US, VS version set 2)", GAME_SUPPORTS_SAVE )
GAME( 1984, karatevs, kchamp, kchampvs, kchampvs, kchamp_state, kchampvs, ROT90, "Data East Corporation", "Taisen Karate Dou (Japan VS version)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/kickgoal.c b/src/mame/drivers/kickgoal.c
index 020c1fbd959..a9b2ee49f60 100644
--- a/src/mame/drivers/kickgoal.c
+++ b/src/mame/drivers/kickgoal.c
@@ -782,10 +782,10 @@ ROM_END
/* GAME drivers **************************************************************/
-static DRIVER_INIT( kickgoal )
+DRIVER_INIT_MEMBER(kickgoal_state,kickgoal)
{
#if 0 /* we should find a real fix instead */
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
/* fix "bug" that prevents game from writing to EEPROM */
rom[0x12b0/2] = 0x0001;
diff --git a/src/mame/drivers/kingdrby.c b/src/mame/drivers/kingdrby.c
index 9cc899f7bde..fd0da55356d 100644
--- a/src/mame/drivers/kingdrby.c
+++ b/src/mame/drivers/kingdrby.c
@@ -1192,6 +1192,6 @@ ROM_START( cowrace )
ROM_END
-GAMEL( 1981, kingdrby, 0, kingdrby, kingdrby, kingdrby_state, 0, ROT0, "Tazmi", "King Derby (1981)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND, layout_kingdrby )
-GAME( 1986, kingdrbb, kingdrby, kingdrbb, kingdrbb, kingdrby_state, 0, ROT0, "bootleg (Casino Electronics)", "King Derby (Taiwan bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS )
-GAME( 2000, cowrace, kingdrby, cowrace, kingdrbb, kingdrby_state, 0, ROT0, "bootleg", "Cow Race (1986 King Derby hack)", GAME_NOT_WORKING | GAME_WRONG_COLORS )
+GAMEL( 1981, kingdrby, 0, kingdrby, kingdrby, driver_device, 0, ROT0, "Tazmi", "King Derby (1981)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND, layout_kingdrby )
+GAME( 1986, kingdrbb, kingdrby, kingdrbb, kingdrbb, driver_device, 0, ROT0, "bootleg (Casino Electronics)", "King Derby (Taiwan bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS )
+GAME( 2000, cowrace, kingdrby, cowrace, kingdrbb, driver_device, 0, ROT0, "bootleg", "Cow Race (1986 King Derby hack)", GAME_NOT_WORKING | GAME_WRONG_COLORS )
diff --git a/src/mame/drivers/kingobox.c b/src/mame/drivers/kingobox.c
index 0f29e403c2c..8b9d5ec690f 100644
--- a/src/mame/drivers/kingobox.c
+++ b/src/mame/drivers/kingobox.c
@@ -785,21 +785,21 @@ ROM_START( ringkingw )
ROM_LOAD( "prom1.bin", 0x0800, 0x0400, CRC(913f5975) SHA1(3d1e40eeb4d5a3a4bd42ec73d05bfca13b2f1805) ) /* blue component */
ROM_END
-static DRIVER_INIT( ringking3 )
+DRIVER_INIT_MEMBER(kingofb_state,ringking3)
{
int i;
- UINT8 *RAM = machine.root_device().memregion("proms")->base();
+ UINT8 *RAM = machine().root_device().memregion("proms")->base();
/* expand the first color PROM to look like the kingofb ones... */
for (i = 0; i < 0x100; i++)
RAM[i] = RAM[i + 0x100] >> 4;
}
-static DRIVER_INIT( ringkingw )
+DRIVER_INIT_MEMBER(kingofb_state,ringkingw)
{
int i,j,k;
- UINT8 *PROMS = machine.root_device().memregion("proms")->base();
- UINT8 *USER1 = machine.root_device().memregion("user1")->base();
+ UINT8 *PROMS = machine().root_device().memregion("proms")->base();
+ UINT8 *USER1 = machine().root_device().memregion("user1")->base();
/* change the PROMs encode in a simple format to use kingofb decode */
for(i = 0, j = 0; j < 0x40; i++, j++)
@@ -817,8 +817,8 @@ static DRIVER_INIT( ringkingw )
}
-GAME( 1985, kingofb, 0, kingofb, kingofb, kingofb_state, 0, ROT90, "Wood Place Inc.", "King of Boxer (English)", GAME_SUPPORTS_SAVE )
-GAME( 1985, ringking, kingofb, ringking, ringking, kingofb_state, 0, ROT90, "Wood Place Inc. (Data East USA license)", "Ring King (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, ringking2, kingofb, ringking, ringking, kingofb_state, 0, ROT90, "Wood Place Inc. (Data East USA license)", "Ring King (US set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, kingofb, 0, kingofb, kingofb, driver_device, 0, ROT90, "Wood Place Inc.", "King of Boxer (English)", GAME_SUPPORTS_SAVE )
+GAME( 1985, ringking, kingofb, ringking, ringking, driver_device, 0, ROT90, "Wood Place Inc. (Data East USA license)", "Ring King (US set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, ringking2, kingofb, ringking, ringking, driver_device, 0, ROT90, "Wood Place Inc. (Data East USA license)", "Ring King (US set 2)", GAME_SUPPORTS_SAVE )
GAME( 1985, ringking3, kingofb, kingofb, kingofb, kingofb_state, ringking3,ROT90, "Wood Place Inc. (Data East USA license)", "Ring King (US set 3)", GAME_SUPPORTS_SAVE )
GAME( 1985, ringkingw, kingofb, kingofb, kingofb, kingofb_state, ringkingw,ROT90, "Wood Place Inc.", "Ring King (US, Wood Place Inc.)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/kingpin.c b/src/mame/drivers/kingpin.c
index 33facab9913..6c456d802b1 100644
--- a/src/mame/drivers/kingpin.c
+++ b/src/mame/drivers/kingpin.c
@@ -35,6 +35,7 @@ public:
UINT8 *m_code_base;
DECLARE_READ8_MEMBER(io_read_missing_dips);
DECLARE_WRITE_LINE_MEMBER(vdp_interrupt);
+ DECLARE_DRIVER_INIT(kingpin);
};
@@ -174,13 +175,12 @@ static MACHINE_CONFIG_START( kingpin, kingpin_state )
*/
MACHINE_CONFIG_END
-static DRIVER_INIT( kingpin )
+DRIVER_INIT_MEMBER(kingpin_state,kingpin)
{
- kingpin_state *state = machine.driver_data<kingpin_state>();
/* Hacks to keep the emu a'runnin */
- state->m_code_base = state->memregion("maincpu")->base();
- state->m_code_base[0x17d4] = 0xc3; /* Maybe sound related? */
+ m_code_base = memregion("maincpu")->base();
+ m_code_base[0x17d4] = 0xc3; /* Maybe sound related? */
}
ROM_START( kingpin )
diff --git a/src/mame/drivers/kinst.c b/src/mame/drivers/kinst.c
index 8f4d985937e..21fc400b088 100644
--- a/src/mame/drivers/kinst.c
+++ b/src/mame/drivers/kinst.c
@@ -158,6 +158,8 @@ public:
DECLARE_WRITE32_MEMBER(kinst_ide_w);
DECLARE_READ32_MEMBER(kinst_ide_extra_r);
DECLARE_WRITE32_MEMBER(kinst_ide_extra_w);
+ DECLARE_DRIVER_INIT(kinst);
+ DECLARE_DRIVER_INIT(kinst2);
};
@@ -896,21 +898,19 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( kinst )
+DRIVER_INIT_MEMBER(kinst_state,kinst)
{
- kinst_state *state = machine.driver_data<kinst_state>();
static const UINT8 kinst_control_map[8] = { 0,1,2,3,4,5,6,7 };
- dcs_init(machine);
+ dcs_init(machine());
/* set up the control register mapping */
- state->m_control_map = kinst_control_map;
+ m_control_map = kinst_control_map;
}
-static DRIVER_INIT( kinst2 )
+DRIVER_INIT_MEMBER(kinst_state,kinst2)
{
- kinst_state *state = machine.driver_data<kinst_state>();
static const UINT8 kinst2_control_map[8] = { 2,4,1,0,3,5,6,7 };
// read: $80 on ki2 = $90 on ki
@@ -920,10 +920,10 @@ static DRIVER_INIT( kinst2 )
// write: $98 on ki2 = $80 on ki
// write: $a0 on ki2 = $98 on ki
- dcs_init(machine);
+ dcs_init(machine());
/* set up the control register mapping */
- state->m_control_map = kinst2_control_map;
+ m_control_map = kinst2_control_map;
}
diff --git a/src/mame/drivers/kissproto.c b/src/mame/drivers/kissproto.c
index 6e21d61bf9c..90e029326be 100644
--- a/src/mame/drivers/kissproto.c
+++ b/src/mame/drivers/kissproto.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(kissp);
};
@@ -35,7 +37,7 @@ void kissp_state::machine_reset()
{
}
-static DRIVER_INIT( kissp )
+DRIVER_INIT_MEMBER(kissp_state,kissp)
{
}
diff --git a/src/mame/drivers/klax.c b/src/mame/drivers/klax.c
index 4139d87955a..a1606036453 100644
--- a/src/mame/drivers/klax.c
+++ b/src/mame/drivers/klax.c
@@ -361,8 +361,8 @@ ROM_END
*
*************************************/
-GAME( 1989, klax, 0, klax, klax, klax_state, 0, ROT0, "Atari Games", "Klax (set 1)", 0 )
-GAME( 1989, klax2, klax, klax, klax, klax_state, 0, ROT0, "Atari Games", "Klax (set 2)", 0 )
-GAME( 1989, klax3, klax, klax, klax, klax_state, 0, ROT0, "Atari Games", "Klax (set 3)", 0 )
-GAME( 1989, klaxj, klax, klax, klax, klax_state, 0, ROT0, "Atari Games", "Klax (Japan)", 0 )
-GAME( 1989, klaxd, klax, klax, klax, klax_state, 0, ROT0, "Atari Games", "Klax (Germany)", 0 )
+GAME( 1989, klax, 0, klax, klax, driver_device, 0, ROT0, "Atari Games", "Klax (set 1)", 0 )
+GAME( 1989, klax2, klax, klax, klax, driver_device, 0, ROT0, "Atari Games", "Klax (set 2)", 0 )
+GAME( 1989, klax3, klax, klax, klax, driver_device, 0, ROT0, "Atari Games", "Klax (set 3)", 0 )
+GAME( 1989, klaxj, klax, klax, klax, driver_device, 0, ROT0, "Atari Games", "Klax (Japan)", 0 )
+GAME( 1989, klaxd, klax, klax, klax, driver_device, 0, ROT0, "Atari Games", "Klax (Germany)", 0 )
diff --git a/src/mame/drivers/kncljoe.c b/src/mame/drivers/kncljoe.c
index 9ee9a683ab2..18b305f3588 100644
--- a/src/mame/drivers/kncljoe.c
+++ b/src/mame/drivers/kncljoe.c
@@ -433,6 +433,6 @@ ROM_END
-GAME( 1985, kncljoe, 0, kncljoe, kncljoe, kncljoe_state, 0, ROT0, "Seibu Kaihatsu (Taito license)", "Knuckle Joe (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, kncljoea, kncljoe, kncljoe, kncljoe, kncljoe_state, 0, ROT0, "Seibu Kaihatsu (Taito license)", "Knuckle Joe (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, bcrusher, kncljoe, kncljoe, kncljoe, kncljoe_state, 0, ROT0, "bootleg", "Bone Crusher", GAME_SUPPORTS_SAVE )
+GAME( 1985, kncljoe, 0, kncljoe, kncljoe, driver_device, 0, ROT0, "Seibu Kaihatsu (Taito license)", "Knuckle Joe (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, kncljoea, kncljoe, kncljoe, kncljoe, driver_device, 0, ROT0, "Seibu Kaihatsu (Taito license)", "Knuckle Joe (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, bcrusher, kncljoe, kncljoe, kncljoe, driver_device, 0, ROT0, "bootleg", "Bone Crusher", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/koftball.c b/src/mame/drivers/koftball.c
index 6eb59b16170..a838ab66cc2 100644
--- a/src/mame/drivers/koftball.c
+++ b/src/mame/drivers/koftball.c
@@ -61,6 +61,7 @@ public:
DECLARE_WRITE16_MEMBER(prot_w);
DECLARE_WRITE16_MEMBER(bmc_1_videoram_w);
DECLARE_WRITE16_MEMBER(bmc_2_videoram_w);
+ DECLARE_DRIVER_INIT(koftball);
};
@@ -305,17 +306,16 @@ static const UINT16 nvram[]=
};
#endif
-static DRIVER_INIT(koftball)
+DRIVER_INIT_MEMBER(koftball_state,koftball)
{
- koftball_state *state = machine.driver_data<koftball_state>();
- state->m_bmc_colorram = auto_alloc_array(machine, UINT8, 768);
+ m_bmc_colorram = auto_alloc_array(machine(), UINT8, 768);
#if NVRAM_HACK
{
int offset=0;
while(nvram[offset]!=0xffff)
{
- state->m_main_ram[offset]=nvram[offset];
+ m_main_ram[offset]=nvram[offset];
++offset;
}
}
diff --git a/src/mame/drivers/koikoi.c b/src/mame/drivers/koikoi.c
index 455dc4e6e59..7b37df0e483 100644
--- a/src/mame/drivers/koikoi.c
+++ b/src/mame/drivers/koikoi.c
@@ -427,4 +427,4 @@ ROM_END
*
*************************************/
-GAME( 1982, koikoi, 0, koikoi, koikoi, koikoi_state, 0, ROT270, "Kiwako", "Koi Koi Part 2", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1982, koikoi, 0, koikoi, koikoi, driver_device, 0, ROT270, "Kiwako", "Koi Koi Part 2", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/konamigq.c b/src/mame/drivers/konamigq.c
index 060add76e5c..6260494ac5b 100644
--- a/src/mame/drivers/konamigq.c
+++ b/src/mame/drivers/konamigq.c
@@ -79,6 +79,7 @@ public:
DECLARE_WRITE16_MEMBER(tms57002_data_word_w);
DECLARE_READ16_MEMBER(tms57002_status_word_r);
DECLARE_WRITE16_MEMBER(tms57002_control_word_w);
+ DECLARE_DRIVER_INIT(konamigq);
};
/* Sound */
@@ -315,13 +316,12 @@ static const struct AM53CF96interface scsi_intf =
&scsi_irq, /* command completion IRQ */
};
-static DRIVER_INIT( konamigq )
+DRIVER_INIT_MEMBER(konamigq_state,konamigq)
{
- konamigq_state *state = machine.driver_data<konamigq_state>();
- psx_driver_init(machine);
+ psx_driver_init(machine());
- state->m_p_n_pcmram = state->memregion( "shared" )->base() + 0x80000;
+ m_p_n_pcmram = memregion( "shared" )->base() + 0x80000;
}
static MACHINE_START( konamigq )
diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c
index c905463bb18..c73cae455d1 100644
--- a/src/mame/drivers/konamigv.c
+++ b/src/mame/drivers/konamigv.c
@@ -161,6 +161,11 @@ public:
DECLARE_WRITE32_MEMBER(tokimeki_serial_w);
DECLARE_WRITE32_MEMBER(kdeadeye_0_w);
DECLARE_WRITE32_MEMBER(eeprom_w);
+ DECLARE_DRIVER_INIT(simpbowl);
+ DECLARE_DRIVER_INIT(tokimosh);
+ DECLARE_DRIVER_INIT(kdeadeye);
+ DECLARE_DRIVER_INIT(konamigv);
+ DECLARE_DRIVER_INIT(btchamp);
};
/* EEPROM handlers */
@@ -301,12 +306,12 @@ static const struct AM53CF96interface scsi_intf =
&scsi_irq, /* command completion IRQ */
};
-static DRIVER_INIT( konamigv )
+DRIVER_INIT_MEMBER(konamigv_state,konamigv)
{
- psx_driver_init(machine);
+ psx_driver_init(machine());
/* init the scsi controller and hook up it's DMA */
- am53cf96_init(machine, &scsi_intf);
+ am53cf96_init(machine(), &scsi_intf);
}
static MACHINE_START( konamigv )
@@ -517,18 +522,17 @@ READ32_MEMBER(konamigv_state::unknown_r)
return 0xffffffff;
}
-static DRIVER_INIT( simpbowl )
+DRIVER_INIT_MEMBER(konamigv_state,simpbowl)
{
- konamigv_state *state = machine.driver_data<konamigv_state>();
- state->m_flash8[0] = machine.device<fujitsu_29f016a_device>("flash0");
- state->m_flash8[1] = machine.device<fujitsu_29f016a_device>("flash1");
- state->m_flash8[2] = machine.device<fujitsu_29f016a_device>("flash2");
- state->m_flash8[3] = machine.device<fujitsu_29f016a_device>("flash3");
+ m_flash8[0] = machine().device<fujitsu_29f016a_device>("flash0");
+ m_flash8[1] = machine().device<fujitsu_29f016a_device>("flash1");
+ m_flash8[2] = machine().device<fujitsu_29f016a_device>("flash2");
+ m_flash8[3] = machine().device<fujitsu_29f016a_device>("flash3");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f680080, 0x1f68008f, read32_delegate(FUNC(konamigv_state::flash_r),state), write32_delegate(FUNC(konamigv_state::flash_w),state) );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1f6800c0, 0x1f6800c7, read32_delegate(FUNC(konamigv_state::trackball_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1f6800c8, 0x1f6800cb, read32_delegate(FUNC(konamigv_state::unknown_r),state)); /* ?? */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f680080, 0x1f68008f, read32_delegate(FUNC(konamigv_state::flash_r),this), write32_delegate(FUNC(konamigv_state::flash_w),this) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1f6800c0, 0x1f6800c7, read32_delegate(FUNC(konamigv_state::trackball_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1f6800c8, 0x1f6800cb, read32_delegate(FUNC(konamigv_state::unknown_r),this)); /* ?? */
DRIVER_INIT_CALL(konamigv);
}
@@ -610,15 +614,14 @@ WRITE32_MEMBER(konamigv_state::btc_trackball_w)
// mame_printf_debug( "w %08x %08x %08x %08x\n", cpu_get_pc(&space.device()), offset, data, mem_mask );
}
-static DRIVER_INIT( btchamp )
+DRIVER_INIT_MEMBER(konamigv_state,btchamp)
{
- konamigv_state *state = machine.driver_data<konamigv_state>();
- state->m_flash16[0] = machine.device<sharp_lh28f400_device>("flash");
+ m_flash16[0] = machine().device<sharp_lh28f400_device>("flash");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f680080, 0x1f68008f, read32_delegate(FUNC(konamigv_state::btc_trackball_r),state), write32_delegate(FUNC(konamigv_state::btc_trackball_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write ( 0x1f6800e0, 0x1f6800e3);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f380000, 0x1f3fffff, read32_delegate(FUNC(konamigv_state::btcflash_r),state), write32_delegate(FUNC(konamigv_state::btcflash_w),state) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f680080, 0x1f68008f, read32_delegate(FUNC(konamigv_state::btc_trackball_r),this), write32_delegate(FUNC(konamigv_state::btc_trackball_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write ( 0x1f6800e0, 0x1f6800e3);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f380000, 0x1f3fffff, read32_delegate(FUNC(konamigv_state::btcflash_r),this), write32_delegate(FUNC(konamigv_state::btcflash_w),this) );
DRIVER_INIT_CALL(konamigv);
}
@@ -669,11 +672,10 @@ WRITE32_MEMBER(konamigv_state::tokimeki_serial_w)
}
-static DRIVER_INIT( tokimosh )
+DRIVER_INIT_MEMBER(konamigv_state,tokimosh)
{
- konamigv_state *state = machine.driver_data<konamigv_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1f680080, 0x1f680083, read32_delegate(FUNC(konamigv_state::tokimeki_serial_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1f680090, 0x1f680093, write32_delegate(FUNC(konamigv_state::tokimeki_serial_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1f680080, 0x1f680083, read32_delegate(FUNC(konamigv_state::tokimeki_serial_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1f680090, 0x1f680093, write32_delegate(FUNC(konamigv_state::tokimeki_serial_w),this));
DRIVER_INIT_CALL(konamigv);
}
@@ -692,19 +694,18 @@ WRITE32_MEMBER(konamigv_state::kdeadeye_0_w)
{
}
-static DRIVER_INIT( kdeadeye )
+DRIVER_INIT_MEMBER(konamigv_state,kdeadeye)
{
- konamigv_state *state = machine.driver_data<konamigv_state>();
- state->m_flash16[0] = machine.device<sharp_lh28f400_device>("flash");
+ m_flash16[0] = machine().device<sharp_lh28f400_device>("flash");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port ( 0x1f680080, 0x1f680083, "GUNX1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port ( 0x1f680090, 0x1f680093, "GUNY1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port ( 0x1f6800a0, 0x1f6800a3, "GUNX2" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port ( 0x1f6800b0, 0x1f6800b3, "GUNY2" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port ( 0x1f6800c0, 0x1f6800c3, "BUTTONS" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1f6800e0, 0x1f6800e3, write32_delegate(FUNC(konamigv_state::kdeadeye_0_w),state) );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f380000, 0x1f3fffff, read32_delegate(FUNC(konamigv_state::btcflash_r),state), write32_delegate(FUNC(konamigv_state::btcflash_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port ( 0x1f680080, 0x1f680083, "GUNX1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port ( 0x1f680090, 0x1f680093, "GUNY1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port ( 0x1f6800a0, 0x1f6800a3, "GUNX2" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port ( 0x1f6800b0, 0x1f6800b3, "GUNY2" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port ( 0x1f6800c0, 0x1f6800c3, "BUTTONS" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1f6800e0, 0x1f6800e3, write32_delegate(FUNC(konamigv_state::kdeadeye_0_w),this) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f380000, 0x1f3fffff, read32_delegate(FUNC(konamigv_state::btcflash_r),this), write32_delegate(FUNC(konamigv_state::btcflash_w),this));
DRIVER_INIT_CALL(konamigv);
}
diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c
index 0932f103116..c12d6c9deb7 100644
--- a/src/mame/drivers/konamigx.c
+++ b/src/mame/drivers/konamigx.c
@@ -3720,7 +3720,7 @@ static const GXGameInfoT gameDefs[] =
};
-static DRIVER_INIT(konamigx)
+DRIVER_INIT_MEMBER(konamigx_state,konamigx)
{
int i, match;
int readback = 0;
@@ -3733,12 +3733,11 @@ static DRIVER_INIT(konamigx)
snd020_hack = 0;
resume_trigger = 0;
- dmadelay_timer = machine.scheduler().timer_alloc(FUNC(dmaend_callback));
- konamigx_state *state = machine.driver_data<konamigx_state>();
+ dmadelay_timer = machine().scheduler().timer_alloc(FUNC(dmaend_callback));
i = match = 0;
while ((gameDefs[i].cfgport != -1) && (!match))
{
- if (!strcmp(machine.system().name, gameDefs[i].romname))
+ if (!strcmp(machine().system().name, gameDefs[i].romname))
{
match = 1;
konamigx_cfgport = gameDefs[i].cfgport;
@@ -3748,13 +3747,13 @@ static DRIVER_INIT(konamigx)
switch (gameDefs[i].special)
{
case 1: // LE2 guns
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd44000, 0xd44003, read32_delegate(FUNC(konamigx_state::le2_gun_H_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd44004, 0xd44007, read32_delegate(FUNC(konamigx_state::le2_gun_V_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd44000, 0xd44003, read32_delegate(FUNC(konamigx_state::le2_gun_H_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd44004, 0xd44007, read32_delegate(FUNC(konamigx_state::le2_gun_V_r),this));
break;
case 2: // tkmmpzdm hack
{
- UINT32 *rom = (UINT32*)state->memregion("maincpu")->base();
+ UINT32 *rom = (UINT32*)memregion("maincpu")->base();
// The display is initialized after POST but the copyright screen disabled
// planes B,C,D and didn't bother restoring them. I've spent a good
@@ -3785,7 +3784,7 @@ static DRIVER_INIT(konamigx)
break;
case 7: // install type 4 Xilinx protection for non-type 3/4 games
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xcc0000, 0xcc0007, write32_delegate(FUNC(konamigx_state::type4_prot_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xcc0000, 0xcc0007, write32_delegate(FUNC(konamigx_state::type4_prot_w),this));
break;
case 8: // tbyahhoo
@@ -3793,7 +3792,7 @@ static DRIVER_INIT(konamigx)
break;
case 9: // fantjour
- fantjour_dma_install(machine);
+ fantjour_dma_install(machine());
break;
}
@@ -3805,14 +3804,14 @@ static DRIVER_INIT(konamigx)
switch (readback)
{
case BPP5:
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd4a000, 0xd4a00f, read32_delegate(FUNC(konamigx_state::gx5bppspr_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd4a000, 0xd4a00f, read32_delegate(FUNC(konamigx_state::gx5bppspr_r),this));
break;
case BPP66:
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xd00000, 0xd01fff, FUNC(K056832_6bpp_rom_long_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xd00000, 0xd01fff, FUNC(K056832_6bpp_rom_long_r));
case BPP6:
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd4a000, 0xd4a00f, read32_delegate(FUNC(konamigx_state::gx6bppspr_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd4a000, 0xd4a00f, read32_delegate(FUNC(konamigx_state::gx6bppspr_r),this));
break;
}
diff --git a/src/mame/drivers/konamim2.c b/src/mame/drivers/konamim2.c
index 34246e0a214..f6c76ee049f 100644
--- a/src/mame/drivers/konamim2.c
+++ b/src/mame/drivers/konamim2.c
@@ -247,6 +247,7 @@ public:
DECLARE_WRITE64_MEMBER(cde_w);
DECLARE_READ64_MEMBER(device2_r);
DECLARE_READ64_MEMBER(cpu_r);
+ DECLARE_DRIVER_INIT(m2);
};
@@ -1296,12 +1297,11 @@ ROM_START(3do_m2)
ROMX_LOAD( "fz35_jpn.bin", 0x000000, 0x100000, CRC(e1c5bfd3) SHA1(0a3e27d672be79eeee1d2dc2da60d82f6eba7934), ROM_BIOS(1) )
ROM_END
-static DRIVER_INIT( m2 )
+DRIVER_INIT_MEMBER(konamim2_state,m2)
{
- konamim2_state *state = machine.driver_data<konamim2_state>();
- state->m_unk3 = U64(0xffffffffffffffff);
- state->m_unk20004 = 0;
- cde_init(machine);
+ m_unk3 = U64(0xffffffffffffffff);
+ m_unk20004 = 0;
+ cde_init(machine());
}
GAME( 1997, polystar, 0, m2, m2, konamim2_state, m2, ROT0, "Konami", "Tobe! Polystars (ver JAA)", GAME_NOT_WORKING | GAME_NO_SOUND )
@@ -1314,4 +1314,4 @@ GAME( 1998, evilngt, 0, m2, m2, konamim2_state, m2, ROT0, "Konami", "Evi
GAME( 1998, evilngte, evilngt, m2, m2, konamim2_state, m2, ROT0, "Konami", "Evil Night (ver EAA)", GAME_NOT_WORKING | GAME_NO_SOUND )
GAME( 1998, hellngt, evilngt, m2, m2, konamim2_state, m2, ROT0, "Konami", "Hell Night (ver EAA)", GAME_NOT_WORKING | GAME_NO_SOUND )
-CONS( 199?, 3do_m2, 0, 0, m2, m2, konamim2_state, 0, "3DO", "3DO M2", GAME_NOT_WORKING | GAME_NO_SOUND )
+CONS( 199?, 3do_m2, 0, 0, m2, m2, driver_device, 0, "3DO", "3DO M2", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/konendev.c b/src/mame/drivers/konendev.c
index 080b8354aad..e0e1824d8d0 100644
--- a/src/mame/drivers/konendev.c
+++ b/src/mame/drivers/konendev.c
@@ -27,6 +27,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(konendev);
};
@@ -161,10 +163,10 @@ ROM_START( konzero )
ROM_LOAD32_WORD( "rmclr_l.bin", 0x00002, 0x080000, CRC(2806299c) SHA1(a069f4477b310f99ff1ff48f622dc30862589127) )
ROM_END
-DRIVER_INIT( konendev )
+DRIVER_INIT_MEMBER(konendev_state,konendev)
{
- UINT8 *src = machine.root_device().memregion( "maincpu" )->base();
- size_t srcsize = machine.root_device().memregion( "maincpu" )->bytes();
+ UINT8 *src = machine().root_device().memregion( "maincpu" )->base();
+ size_t srcsize = machine().root_device().memregion( "maincpu" )->bytes();
for (int i = 0; i < srcsize; i += 2)
{
int temp = src[i];
diff --git a/src/mame/drivers/kontest.c b/src/mame/drivers/kontest.c
index 26838e2b5c4..2e17709a6b0 100644
--- a/src/mame/drivers/kontest.c
+++ b/src/mame/drivers/kontest.c
@@ -303,4 +303,4 @@ ROM_START( kontest )
ROM_LOAD( "800a02.4f", 0x000000, 0x000020, CRC(6d604171) SHA1(6b1366fb53cecbde6fb651142a77917dd16daf69) )
ROM_END
-GAME( 1987?, kontest, 0, kontest, kontest, kontest_state, 0, ROT0, "Konami", "Konami Test Board (GX800, Japan)", GAME_SUPPORTS_SAVE ) // late 1987 or early 1988
+GAME( 1987?, kontest, 0, kontest, kontest, driver_device, 0, ROT0, "Konami", "Konami Test Board (GX800, Japan)", GAME_SUPPORTS_SAVE ) // late 1987 or early 1988
diff --git a/src/mame/drivers/kopunch.c b/src/mame/drivers/kopunch.c
index d9f7d4f9dad..b9e4a889192 100644
--- a/src/mame/drivers/kopunch.c
+++ b/src/mame/drivers/kopunch.c
@@ -244,4 +244,4 @@ ROM_START( kopunch )
ROM_LOAD( "epr1100", 0x0040, 0x0020, CRC(bedb66b1) SHA1(8e78bb205d900075b761e1baa5f5813174ff28ba) ) /* unknown */
ROM_END
-GAME( 1981, kopunch, 0, kopunch, kopunch, kopunch_state, 0, ROT270, "Sega", "KO Punch", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1981, kopunch, 0, kopunch, kopunch, driver_device, 0, ROT270, "Sega", "KO Punch", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ksayakyu.c b/src/mame/drivers/ksayakyu.c
index 39d6e4f3757..2172bc647ca 100644
--- a/src/mame/drivers/ksayakyu.c
+++ b/src/mame/drivers/ksayakyu.c
@@ -349,4 +349,4 @@ ROM_START( ksayakyu )
ROM_LOAD( "9f.bin", 0x0000, 0x0100, CRC(ff71b27f) SHA1(6aad2bd2be997595a05ddb81d24df8fe1435910b) )
ROM_END
-GAME( 1985, ksayakyu, 0, ksayakyu, ksayakyu, ksayakyu_state, 0, ORIENTATION_FLIP_Y, "Taito Corporation", "Kusayakyuu", GAME_SUPPORTS_SAVE )
+GAME( 1985, ksayakyu, 0, ksayakyu, ksayakyu, driver_device, 0, ORIENTATION_FLIP_Y, "Taito Corporation", "Kusayakyuu", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ksys573.c b/src/mame/drivers/ksys573.c
index f4fe48e306b..482a3ab8460 100644
--- a/src/mame/drivers/ksys573.c
+++ b/src/mame/drivers/ksys573.c
@@ -567,6 +567,21 @@ public:
DECLARE_WRITE32_MEMBER(mamboagg_io_w);
DECLARE_WRITE32_MEMBER(gunmania_w);
DECLARE_READ32_MEMBER(gunmania_r);
+ DECLARE_DRIVER_INIT(gtrfrkdigital);
+ DECLARE_DRIVER_INIT(salarymc);
+ DECLARE_DRIVER_INIT(dmx);
+ DECLARE_DRIVER_INIT(gtrfrks);
+ DECLARE_DRIVER_INIT(drmndigital);
+ DECLARE_DRIVER_INIT(punchmania);
+ DECLARE_DRIVER_INIT(ddr);
+ DECLARE_DRIVER_INIT(mamboagg);
+ DECLARE_DRIVER_INIT(ge765pwbba);
+ DECLARE_DRIVER_INIT(gunmania);
+ DECLARE_DRIVER_INIT(hyperbbc);
+ DECLARE_DRIVER_INIT(drmn);
+ DECLARE_DRIVER_INIT(ddrsolo);
+ DECLARE_DRIVER_INIT(ddrdigital);
+ DECLARE_DRIVER_INIT(konami573);
};
INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... )
@@ -1376,16 +1391,15 @@ static void update_mode( running_machine &machine )
}
}
-static DRIVER_INIT( konami573 )
+DRIVER_INIT_MEMBER(ksys573_state,konami573)
{
- ksys573_state *state = machine.driver_data<ksys573_state>();
- psx_driver_init(machine);
- atapi_init(machine);
+ psx_driver_init(machine());
+ atapi_init(machine());
- state->save_item( NAME(state->m_n_security_control) );
+ save_item( NAME(m_n_security_control) );
- flash_init(machine);
+ flash_init(machine());
}
static MACHINE_RESET( konami573 )
@@ -1538,11 +1552,10 @@ WRITE32_MEMBER(ksys573_state::ge765pwbba_w)
verboselog(machine(), 2, "ge765pwbba_w( %08x, %08x, %08x )\n", offset, mem_mask, data);
}
-static DRIVER_INIT( ge765pwbba )
+DRIVER_INIT_MEMBER(ksys573_state,ge765pwbba)
{
- ksys573_state *state = machine.driver_data<ksys573_state>();
DRIVER_INIT_CALL(konami573);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f640000, 0x1f6400ff, read32_delegate(FUNC(ksys573_state::ge765pwbba_r),state), write32_delegate(FUNC(ksys573_state::ge765pwbba_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f640000, 0x1f6400ff, read32_delegate(FUNC(ksys573_state::ge765pwbba_r),this), write32_delegate(FUNC(ksys573_state::ge765pwbba_w),this));
}
/*
@@ -1829,16 +1842,15 @@ static void gn845pwbb_output_callback( running_machine &machine, int offset, int
}
}
-static DRIVER_INIT( ddr )
+DRIVER_INIT_MEMBER(ksys573_state,ddr)
{
- ksys573_state *state = machine.driver_data<ksys573_state>();
DRIVER_INIT_CALL(konami573);
- state->m_stage_mask = 0xffffffff;
- gx700pwfbf_init( machine, gn845pwbb_output_callback );
+ m_stage_mask = 0xffffffff;
+ gx700pwfbf_init( machine(), gn845pwbb_output_callback );
- state->save_item( NAME(state->m_stage_mask) );
+ save_item( NAME(m_stage_mask) );
}
/*
@@ -1890,11 +1902,10 @@ WRITE32_MEMBER(ksys573_state::gtrfrks_io_w)
}
}
-static DRIVER_INIT( gtrfrks )
+DRIVER_INIT_MEMBER(ksys573_state,gtrfrks)
{
DRIVER_INIT_CALL(konami573);
- ksys573_state *state = machine.driver_data<ksys573_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f600000, 0x1f6000ff, read32_delegate(FUNC(ksys573_state::gtrfrks_io_r),state), write32_delegate(FUNC(ksys573_state::gtrfrks_io_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f600000, 0x1f6000ff, read32_delegate(FUNC(ksys573_state::gtrfrks_io_r),this), write32_delegate(FUNC(ksys573_state::gtrfrks_io_w),this));
}
/* GX894 digital i/o */
@@ -2219,22 +2230,21 @@ static void gx894pwbba_init( running_machine &machine, void (*output_callback_fu
/* ddr digital */
-static DRIVER_INIT( ddrdigital )
+DRIVER_INIT_MEMBER(ksys573_state,ddrdigital)
{
DRIVER_INIT_CALL(konami573);
- gx894pwbba_init( machine, gn845pwbb_output_callback );
+ gx894pwbba_init( machine(), gn845pwbb_output_callback );
}
/* guitar freaks digital */
-static DRIVER_INIT( gtrfrkdigital )
+DRIVER_INIT_MEMBER(ksys573_state,gtrfrkdigital)
{
DRIVER_INIT_CALL(konami573);
- gx894pwbba_init( machine, NULL );
- ksys573_state *state = machine.driver_data<ksys573_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f600000, 0x1f6000ff, read32_delegate(FUNC(ksys573_state::gtrfrks_io_r),state), write32_delegate(FUNC(ksys573_state::gtrfrks_io_w),state) );
+ gx894pwbba_init( machine(), NULL );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f600000, 0x1f6000ff, read32_delegate(FUNC(ksys573_state::gtrfrks_io_r),this), write32_delegate(FUNC(ksys573_state::gtrfrks_io_w),this) );
}
/* ddr solo */
@@ -2292,11 +2302,11 @@ static void ddrsolo_output_callback( running_machine &machine, int offset, int d
}
}
-static DRIVER_INIT( ddrsolo )
+DRIVER_INIT_MEMBER(ksys573_state,ddrsolo)
{
DRIVER_INIT_CALL(konami573);
- gx894pwbba_init( machine, ddrsolo_output_callback );
+ gx894pwbba_init( machine(), ddrsolo_output_callback );
}
/* drummania */
@@ -2365,18 +2375,18 @@ static void drmn_output_callback( running_machine &machine, int offset, int data
}
}
-static DRIVER_INIT( drmn )
+DRIVER_INIT_MEMBER(ksys573_state,drmn)
{
DRIVER_INIT_CALL(konami573);
- gx700pwfbf_init( machine, drmn_output_callback );
+ gx700pwfbf_init( machine(), drmn_output_callback );
}
-static DRIVER_INIT( drmndigital )
+DRIVER_INIT_MEMBER(ksys573_state,drmndigital)
{
DRIVER_INIT_CALL(konami573);
- gx894pwbba_init( machine, drmn_output_callback );
+ gx894pwbba_init( machine(), drmn_output_callback );
}
/* dance maniax */
@@ -2521,13 +2531,12 @@ WRITE32_MEMBER(ksys573_state::dmx_io_w)
}
}
-static DRIVER_INIT( dmx )
+DRIVER_INIT_MEMBER(ksys573_state,dmx)
{
DRIVER_INIT_CALL(konami573);
- gx894pwbba_init( machine, dmx_output_callback );
- ksys573_state *state = machine.driver_data<ksys573_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1f600000, 0x1f6000ff, write32_delegate(FUNC(ksys573_state::dmx_io_w),state) );
+ gx894pwbba_init( machine(), dmx_output_callback );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1f600000, 0x1f6000ff, write32_delegate(FUNC(ksys573_state::dmx_io_w),this) );
}
/* salary man champ */
@@ -2578,17 +2587,16 @@ static void salarymc_lamp_callback( running_machine &machine, int data )
}
}
-static DRIVER_INIT( salarymc )
+DRIVER_INIT_MEMBER(ksys573_state,salarymc)
{
- ksys573_state *state = machine.driver_data<ksys573_state>();
DRIVER_INIT_CALL(konami573);
- state->m_security_callback = salarymc_lamp_callback;
+ m_security_callback = salarymc_lamp_callback;
- state->save_item( NAME(state->m_salarymc_lamp_bits) );
- state->save_item( NAME(state->m_salarymc_lamp_shift) );
- state->save_item( NAME(state->m_salarymc_lamp_clk) );
+ save_item( NAME(m_salarymc_lamp_bits) );
+ save_item( NAME(m_salarymc_lamp_shift) );
+ save_item( NAME(m_salarymc_lamp_clk) );
}
/* Hyper Bishi Bashi Champ */
@@ -2621,16 +2629,15 @@ static void hyperbbc_lamp_callback( running_machine &machine, int data )
state->m_hyperbbc_lamp_strobe2 = strobe2;
}
-static DRIVER_INIT( hyperbbc )
+DRIVER_INIT_MEMBER(ksys573_state,hyperbbc)
{
- ksys573_state *state = machine.driver_data<ksys573_state>();
DRIVER_INIT_CALL(konami573);
- state->m_security_callback = hyperbbc_lamp_callback;
+ m_security_callback = hyperbbc_lamp_callback;
- state->save_item( NAME(state->m_hyperbbc_lamp_strobe1) );
- state->save_item( NAME(state->m_hyperbbc_lamp_strobe2) );
+ save_item( NAME(m_hyperbbc_lamp_strobe1) );
+ save_item( NAME(m_hyperbbc_lamp_strobe2) );
}
/* Mambo A Go Go */
@@ -2681,13 +2688,12 @@ WRITE32_MEMBER(ksys573_state::mamboagg_io_w)
}
}
-static DRIVER_INIT( mamboagg )
+DRIVER_INIT_MEMBER(ksys573_state,mamboagg)
{
DRIVER_INIT_CALL(konami573);
- gx894pwbba_init( machine, mamboagg_output_callback );
- ksys573_state *state = machine.driver_data<ksys573_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1f600000, 0x1f6000ff, write32_delegate(FUNC(ksys573_state::mamboagg_io_w),state));
+ gx894pwbba_init( machine(), mamboagg_output_callback );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1f600000, 0x1f6000ff, write32_delegate(FUNC(ksys573_state::mamboagg_io_w),this));
}
@@ -2860,11 +2866,11 @@ static const adc083x_interface punchmania_adc_interface = {
punchmania_inputs_callback
};
-static DRIVER_INIT( punchmania )
+DRIVER_INIT_MEMBER(ksys573_state,punchmania)
{
DRIVER_INIT_CALL(konami573);
- gx700pwfbf_init( machine, punchmania_output_callback );
+ gx700pwfbf_init( machine(), punchmania_output_callback );
}
/* GunMania */
@@ -3002,11 +3008,10 @@ READ32_MEMBER(ksys573_state::gunmania_r)
return data;
}
-static DRIVER_INIT( gunmania )
+DRIVER_INIT_MEMBER(ksys573_state,gunmania)
{
DRIVER_INIT_CALL(konami573);
- ksys573_state *state = machine.driver_data<ksys573_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f640000, 0x1f6400ff, read32_delegate(FUNC(ksys573_state::gunmania_r),state), write32_delegate(FUNC(ksys573_state::gunmania_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1f640000, 0x1f6400ff, read32_delegate(FUNC(ksys573_state::gunmania_r),this), write32_delegate(FUNC(ksys573_state::gunmania_w),this));
}
/* ADC0834 Interface */
diff --git a/src/mame/drivers/kungfur.c b/src/mame/drivers/kungfur.c
index 66acac2fe75..80fa89d557f 100644
--- a/src/mame/drivers/kungfur.c
+++ b/src/mame/drivers/kungfur.c
@@ -359,4 +359,4 @@ ROM_START( kungfur )
ROM_LOAD( "kr6.bin", 0x20000, 0x10000, CRC(9ea75d4a) SHA1(57445ccb961acb11a25cdac81f2e543d92bcb7f9) )
ROM_END
-GAMEL(1987, kungfur, 0, kungfur, kungfur, kungfur_state, 0, ROT0, "Namco", "Kung-Fu Roushi", GAME_SUPPORTS_SAVE, layout_kungfur )
+GAMEL(1987, kungfur, 0, kungfur, kungfur, driver_device, 0, ROT0, "Namco", "Kung-Fu Roushi", GAME_SUPPORTS_SAVE, layout_kungfur )
diff --git a/src/mame/drivers/kyugo.c b/src/mame/drivers/kyugo.c
index f8871d836f3..11809a5255c 100644
--- a/src/mame/drivers/kyugo.c
+++ b/src/mame/drivers/kyugo.c
@@ -1371,23 +1371,21 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( gyrodine )
+DRIVER_INIT_MEMBER(kyugo_state,gyrodine)
{
/* add watchdog */
- kyugo_state *state = machine.driver_data<kyugo_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe000, 0xe000, write8_delegate(FUNC(kyugo_state::watchdog_reset_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe000, 0xe000, write8_delegate(FUNC(kyugo_state::watchdog_reset_w),this));
}
-static DRIVER_INIT( srdmissn )
+DRIVER_INIT_MEMBER(kyugo_state,srdmissn)
{
- kyugo_state *state = machine.driver_data<kyugo_state>();
/* shared RAM is mapped at 0xe000 as well */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0xe000, 0xe7ff, state->m_shared_ram);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0xe000, 0xe7ff, m_shared_ram);
/* extra RAM on sub CPU */
- machine.device("sub")->memory().space(AS_PROGRAM)->install_ram(0x8800, 0x8fff);
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_ram(0x8800, 0x8fff);
}
@@ -1401,13 +1399,13 @@ static DRIVER_INIT( srdmissn )
GAME( 1984, gyrodine, 0, gyrodine, gyrodine, kyugo_state, gyrodine, ROT90, "Crux", "Gyrodine", GAME_SUPPORTS_SAVE )
GAME( 1984, gyrodinet, gyrodine, gyrodine, gyrodine, kyugo_state, gyrodine, ROT90, "Crux (Taito Corporation license)", "Gyrodine (Taito Corporation license)", GAME_SUPPORTS_SAVE )
GAME( 1984, buzzard, gyrodine, gyrodine, gyrodine, kyugo_state, gyrodine, ROT90, "Crux", "Buzzard", GAME_SUPPORTS_SAVE )
-GAME( 1985, repulse, 0, repulse, repulse, kyugo_state, 0, ROT90, "Sega", "Repulse", GAME_SUPPORTS_SAVE ) // by Crux?
-GAME( 1985, 99lstwar, repulse, repulse, repulse, kyugo_state, 0, ROT90, "Sega (Proma license)", "'99: The Last War (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, 99lstwara, repulse, repulse, repulse, kyugo_state, 0, ROT90, "Sega (Proma license)", "'99: The Last War (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, 99lstwark, repulse, repulse, repulse, kyugo_state, 0, ROT90, "Sega (Kyugo license)", "'99: The Last War (Kyugo)", GAME_SUPPORTS_SAVE )
-GAME( 1985, sonofphx, repulse, repulse, repulse, kyugo_state, 0, ROT90, "bootleg (Associated Overseas MFR, Inc)", "Son of Phoenix", GAME_SUPPORTS_SAVE )
-GAME( 1985, flashgal, 0, repulse, flashgal, kyugo_state, 0, ROT0, "Sega", "Flashgal (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, flashgala, flashgal, flashgala,flashgal, kyugo_state, 0, ROT0, "Sega", "Flashgal (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, repulse, 0, repulse, repulse, driver_device, 0, ROT90, "Sega", "Repulse", GAME_SUPPORTS_SAVE ) // by Crux?
+GAME( 1985, 99lstwar, repulse, repulse, repulse, driver_device, 0, ROT90, "Sega (Proma license)", "'99: The Last War (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, 99lstwara, repulse, repulse, repulse, driver_device, 0, ROT90, "Sega (Proma license)", "'99: The Last War (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, 99lstwark, repulse, repulse, repulse, driver_device, 0, ROT90, "Sega (Kyugo license)", "'99: The Last War (Kyugo)", GAME_SUPPORTS_SAVE )
+GAME( 1985, sonofphx, repulse, repulse, repulse, driver_device, 0, ROT90, "bootleg (Associated Overseas MFR, Inc)", "Son of Phoenix", GAME_SUPPORTS_SAVE )
+GAME( 1985, flashgal, 0, repulse, flashgal, driver_device, 0, ROT0, "Sega", "Flashgal (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, flashgala, flashgal, flashgala,flashgal, driver_device, 0, ROT0, "Sega", "Flashgal (set 2)", GAME_SUPPORTS_SAVE )
GAME( 1986, srdmissn, 0, srdmissn, srdmissn, kyugo_state, srdmissn, ROT90, "Taito Corporation", "S.R.D. Mission", GAME_SUPPORTS_SAVE )
GAME( 1986, fx, srdmissn, srdmissn, srdmissn, kyugo_state, srdmissn, ROT90, "bootleg", "F-X", GAME_SUPPORTS_SAVE )
GAME( 1986, legend, 0, legend, legend, kyugo_state, srdmissn, ROT0, "Sega / Coreland", "Legend", GAME_SUPPORTS_SAVE ) // no copyright (maybe also a bootleg?)
diff --git a/src/mame/drivers/labyrunr.c b/src/mame/drivers/labyrunr.c
index ace09c129a4..db64f70d1a5 100644
--- a/src/mame/drivers/labyrunr.c
+++ b/src/mame/drivers/labyrunr.c
@@ -292,6 +292,6 @@ ROM_START( labyrunrk )
ROM_END
-GAME( 1987, tricktrp, 0, labyrunr, labyrunr, labyrunr_state, 0, ROT90, "Konami", "Trick Trap (World?)", GAME_SUPPORTS_SAVE )
-GAME( 1987, labyrunr, tricktrp, labyrunr, labyrunr, labyrunr_state, 0, ROT90, "Konami", "Labyrinth Runner (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, labyrunrk,tricktrp, labyrunr, labyrunr, labyrunr_state, 0, ROT90, "Konami", "Labyrinth Runner (World Ver. K)", GAME_SUPPORTS_SAVE )
+GAME( 1987, tricktrp, 0, labyrunr, labyrunr, driver_device, 0, ROT90, "Konami", "Trick Trap (World?)", GAME_SUPPORTS_SAVE )
+GAME( 1987, labyrunr, tricktrp, labyrunr, labyrunr, driver_device, 0, ROT90, "Konami", "Labyrinth Runner (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, labyrunrk,tricktrp, labyrunr, labyrunr, driver_device, 0, ROT90, "Konami", "Labyrinth Runner (World Ver. K)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ladybug.c b/src/mame/drivers/ladybug.c
index 6cf8abe19f9..51d5a717c2f 100644
--- a/src/mame/drivers/ladybug.c
+++ b/src/mame/drivers/ladybug.c
@@ -1066,15 +1066,15 @@ ROM_START( sraider )
ROM_END
-static DRIVER_INIT( dorodon )
+DRIVER_INIT_MEMBER(ladybug_state,dorodon)
{
/* decode the opcodes */
offs_t i;
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *decrypted = auto_alloc_array(machine, UINT8, 0x6000);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8 *table = machine.root_device().memregion("user1")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *decrypted = auto_alloc_array(machine(), UINT8, 0x6000);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8 *table = machine().root_device().memregion("user1")->base();
space->set_decrypted_region(0x0000, 0x5fff, decrypted);
@@ -1083,11 +1083,11 @@ static DRIVER_INIT( dorodon )
}
-GAME( 1981, cavenger, 0, ladybug, cavenger, ladybug_state, 0, ROT0, "Universal", "Cosmic Avenger", GAME_SUPPORTS_SAVE )
-GAME( 1981, ladybug, 0, ladybug, ladybug, ladybug_state, 0, ROT270, "Universal", "Lady Bug", GAME_SUPPORTS_SAVE )
-GAME( 1981, ladybugb, ladybug, ladybug, ladybug, ladybug_state, 0, ROT270, "bootleg", "Lady Bug (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, ladybgb2, ladybug, ladybug, ladybug, ladybug_state, 0, ROT270, "bootleg", "Lady Bug (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, cavenger, 0, ladybug, cavenger, driver_device, 0, ROT0, "Universal", "Cosmic Avenger", GAME_SUPPORTS_SAVE )
+GAME( 1981, ladybug, 0, ladybug, ladybug, driver_device, 0, ROT270, "Universal", "Lady Bug", GAME_SUPPORTS_SAVE )
+GAME( 1981, ladybugb, ladybug, ladybug, ladybug, driver_device, 0, ROT270, "bootleg", "Lady Bug (bootleg set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, ladybgb2, ladybug, ladybug, ladybug, driver_device, 0, ROT270, "bootleg", "Lady Bug (bootleg set 2)", GAME_SUPPORTS_SAVE )
GAME( 1982, dorodon, 0, ladybug, dorodon, ladybug_state, dorodon, ROT270, "UPL (Falcon license?)", "Dorodon (set 1)", GAME_SUPPORTS_SAVE ) // license or bootleg?
GAME( 1982, dorodon2, dorodon, ladybug, dorodon, ladybug_state, dorodon, ROT270, "UPL (Falcon license?)", "Dorodon (set 2)", GAME_SUPPORTS_SAVE ) // "
-GAME( 1982, snapjack, 0, ladybug, snapjack, ladybug_state, 0, ROT0, "Universal", "Snap Jack", GAME_SUPPORTS_SAVE )
-GAME( 1982, sraider, 0, sraider, sraider, ladybug_state, 0, ROT270, "Universal", "Space Raider", GAME_SUPPORTS_SAVE )
+GAME( 1982, snapjack, 0, ladybug, snapjack, driver_device, 0, ROT0, "Universal", "Snap Jack", GAME_SUPPORTS_SAVE )
+GAME( 1982, sraider, 0, sraider, sraider, driver_device, 0, ROT270, "Universal", "Space Raider", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ladyfrog.c b/src/mame/drivers/ladyfrog.c
index e7516bb5ab4..58fb53a20f4 100644
--- a/src/mame/drivers/ladyfrog.c
+++ b/src/mame/drivers/ladyfrog.c
@@ -390,7 +390,7 @@ ROM_START( toucheme )
ROM_LOAD( "8.ic10", 0x20000, 0x10000, CRC(fc6808bf) SHA1(f1f1b75a79dfdb500012f9b52c6364f0a13dce2d) )
ROM_END
-GAME( 1990, ladyfrog, 0, ladyfrog, ladyfrog, ladyfrog_state, 0, ORIENTATION_SWAP_XY, "Mondial Games", "Lady Frog", GAME_SUPPORTS_SAVE )
+GAME( 1990, ladyfrog, 0, ladyfrog, ladyfrog, driver_device, 0, ORIENTATION_SWAP_XY, "Mondial Games", "Lady Frog", GAME_SUPPORTS_SAVE )
// toucheme art style is similar to ladyfrog, so it's probably the same manufacturer
-GAME( 19??, toucheme, 0, toucheme, toucheme, ladyfrog_state, 0, ORIENTATION_SWAP_XY, "<unknown>", "Touche Me", GAME_SUPPORTS_SAVE )
+GAME( 19??, toucheme, 0, toucheme, toucheme, driver_device, 0, ORIENTATION_SWAP_XY, "<unknown>", "Touche Me", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/laserbas.c b/src/mame/drivers/laserbas.c
index d604bba41a1..9c6fc819ec2 100644
--- a/src/mame/drivers/laserbas.c
+++ b/src/mame/drivers/laserbas.c
@@ -417,6 +417,6 @@ ROM_START( futflash )
ROM_LOAD( "ff.8", 0xf000, 0x0800, CRC(623f558f) SHA1(be6c6565df658555f21c43a8c2459cf399794a84) )
ROM_END
-GAME( 1981, laserbas, 0, laserbas, laserbas, laserbas_state, 0, ROT270, "Hoei (Amstar license)", "Laser Base (set 1)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1981, laserbasa,laserbas, laserbas, laserbas, laserbas_state, 0, ROT270, "Hoei (Amstar license)", "Laser Base (set 2)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1981, futflash, laserbas, laserbas, laserbas, laserbas_state, 0, ROT270, "Hoei", "Future Flash", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1981, laserbas, 0, laserbas, laserbas, driver_device, 0, ROT270, "Hoei (Amstar license)", "Laser Base (set 1)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1981, laserbasa,laserbas, laserbas, laserbas, driver_device, 0, ROT270, "Hoei (Amstar license)", "Laser Base (set 2)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1981, futflash, laserbas, laserbas, laserbas, driver_device, 0, ROT270, "Hoei", "Future Flash", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c
index ae9a23b76d8..8d7ee3ad2ae 100644
--- a/src/mame/drivers/laserbat.c
+++ b/src/mame/drivers/laserbat.c
@@ -1037,7 +1037,7 @@ ROM_START( catnmousa )
ROM_END
-GAME( 1981, laserbat, 0, laserbat, laserbat, laserbat_state, 0, ROT0, "Zaccaria", "Laser Battle", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1981, lazarian, laserbat, laserbat, lazarian, laserbat_state, 0, ROT0, "Zaccaria (Bally Midway license)", "Lazarian", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1982, catnmous, 0, catnmous, catnmous, laserbat_state, 0, ROT90, "Zaccaria", "Cat and Mouse (set 1)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE)
-GAME( 1982, catnmousa,catnmous, catnmous, catnmous, laserbat_state, 0, ROT90, "Zaccaria", "Cat and Mouse (set 2)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
+GAME( 1981, laserbat, 0, laserbat, laserbat, driver_device, 0, ROT0, "Zaccaria", "Laser Battle", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1981, lazarian, laserbat, laserbat, lazarian, driver_device, 0, ROT0, "Zaccaria (Bally Midway license)", "Lazarian", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1982, catnmous, 0, catnmous, catnmous, driver_device, 0, ROT90, "Zaccaria", "Cat and Mouse (set 1)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE)
+GAME( 1982, catnmousa,catnmous, catnmous, catnmous, driver_device, 0, ROT90, "Zaccaria", "Cat and Mouse (set 2)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
diff --git a/src/mame/drivers/lasso.c b/src/mame/drivers/lasso.c
index e5b9b94cbcf..b4f2ad77690 100644
--- a/src/mame/drivers/lasso.c
+++ b/src/mame/drivers/lasso.c
@@ -883,10 +883,10 @@ ROM_END
***************************************************************************/
-GAME( 1982, lasso, 0, lasso, lasso, lasso_state, 0, ROT90, "SNK", "Lasso", GAME_SUPPORTS_SAVE )
-GAME( 1983, chameleo, 0, chameleo, chameleo, lasso_state, 0, ROT0, "Jaleco", "Chameleon", GAME_SUPPORTS_SAVE )
-GAME( 1984, wwjgtin, 0, wwjgtin, wwjgtin, lasso_state, 0, ROT0, "Jaleco / Casio", "Wai Wai Jockey Gate-In!", GAME_SUPPORTS_SAVE )
-GAME( 1991, photof, wwjgtin, wwjgtin, wwjgtin, lasso_state, 0, ROT0, "bootleg?", "Photo Finish", GAME_SUPPORTS_SAVE )
-GAME( 1984, pinbo, 0, pinbo, pinbo, lasso_state, 0, ROT90, "Jaleco", "Pinbo (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, pinboa, pinbo, pinbo, pinboa, lasso_state, 0, ROT90, "Jaleco", "Pinbo (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, pinbos, pinbo, pinbo, pinboa, lasso_state, 0, ROT90, "bootleg?", "Pinbo (Strike)", GAME_SUPPORTS_SAVE )
+GAME( 1982, lasso, 0, lasso, lasso, driver_device, 0, ROT90, "SNK", "Lasso", GAME_SUPPORTS_SAVE )
+GAME( 1983, chameleo, 0, chameleo, chameleo, driver_device, 0, ROT0, "Jaleco", "Chameleon", GAME_SUPPORTS_SAVE )
+GAME( 1984, wwjgtin, 0, wwjgtin, wwjgtin, driver_device, 0, ROT0, "Jaleco / Casio", "Wai Wai Jockey Gate-In!", GAME_SUPPORTS_SAVE )
+GAME( 1991, photof, wwjgtin, wwjgtin, wwjgtin, driver_device, 0, ROT0, "bootleg?", "Photo Finish", GAME_SUPPORTS_SAVE )
+GAME( 1984, pinbo, 0, pinbo, pinbo, driver_device, 0, ROT90, "Jaleco", "Pinbo (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, pinboa, pinbo, pinbo, pinboa, driver_device, 0, ROT90, "Jaleco", "Pinbo (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, pinbos, pinbo, pinbo, pinboa, driver_device, 0, ROT90, "bootleg?", "Pinbo (Strike)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/lastbank.c b/src/mame/drivers/lastbank.c
index 857cc0c0ef8..d717b933deb 100644
--- a/src/mame/drivers/lastbank.c
+++ b/src/mame/drivers/lastbank.c
@@ -509,4 +509,4 @@ ROM_START( lastbank )
ROM_LOAD( "7.u60", 0x40000, 0x80000, CRC(41be7146) SHA1(00f1c0d5809efccf888e27518a2a5876c4b633d8) )
ROM_END
-GAME( 1994, lastbank, 0, lastbank, lastbank, lastbank_state, 0, ROT0, "Excellent Systems", "Last Bank (v1.16)", GAME_NO_SOUND )
+GAME( 1994, lastbank, 0, lastbank, lastbank, driver_device, 0, ROT0, "Excellent Systems", "Last Bank (v1.16)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/lastduel.c b/src/mame/drivers/lastduel.c
index 2502d209c39..dff06320ff3 100644
--- a/src/mame/drivers/lastduel.c
+++ b/src/mame/drivers/lastduel.c
@@ -872,11 +872,11 @@ ROM_END
/******************************************************************************/
-GAME( 1988, lastduel, 0, lastduel, lastduel, lastduel_state, 0, ROT270, "Capcom", "Last Duel (US New Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1988, lastduelo, lastduel, lastduel, lastduel, lastduel_state, 0, ROT270, "Capcom", "Last Duel (US Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1988, lastduelj, lastduel, lastduel, lastduel, lastduel_state, 0, ROT270, "Capcom", "Last Duel (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, lastduelb, lastduel, lastduel, lastduel, lastduel_state, 0, ROT270, "bootleg", "Last Duel (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1989, madgear, 0, madgear, madgear, lastduel_state, 0, ROT270, "Capcom", "Mad Gear (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, madgearj, madgear, madgear, madgear, lastduel_state, 0, ROT270, "Capcom", "Mad Gear (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ledstorm, madgear, madgear, madgear, lastduel_state, 0, ROT270, "Capcom", "Led Storm (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ledstorm2, madgear, madgear, madgear, lastduel_state, 0, ROT270, "Capcom", "Led Storm Rally 2011 (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) /* game still has wrong sprite issues */
+GAME( 1988, lastduel, 0, lastduel, lastduel, driver_device, 0, ROT270, "Capcom", "Last Duel (US New Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1988, lastduelo, lastduel, lastduel, lastduel, driver_device, 0, ROT270, "Capcom", "Last Duel (US Old Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1988, lastduelj, lastduel, lastduel, lastduel, driver_device, 0, ROT270, "Capcom", "Last Duel (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, lastduelb, lastduel, lastduel, lastduel, driver_device, 0, ROT270, "bootleg", "Last Duel (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1989, madgear, 0, madgear, madgear, driver_device, 0, ROT270, "Capcom", "Mad Gear (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, madgearj, madgear, madgear, madgear, driver_device, 0, ROT270, "Capcom", "Mad Gear (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, ledstorm, madgear, madgear, madgear, driver_device, 0, ROT270, "Capcom", "Led Storm (US)", GAME_SUPPORTS_SAVE )
+GAME( 1988, ledstorm2, madgear, madgear, madgear, driver_device, 0, ROT270, "Capcom", "Led Storm Rally 2011 (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) /* game still has wrong sprite issues */
diff --git a/src/mame/drivers/lastfght.c b/src/mame/drivers/lastfght.c
index 7fb0de110ec..7f855fc8ddd 100644
--- a/src/mame/drivers/lastfght.c
+++ b/src/mame/drivers/lastfght.c
@@ -120,6 +120,7 @@ public:
DECLARE_WRITE16_MEMBER(lastfght_c00006_w);
DECLARE_READ16_MEMBER(lastfght_sound_r);
DECLARE_WRITE16_MEMBER(lastfght_sound_w);
+ DECLARE_DRIVER_INIT(lastfght);
};
@@ -619,9 +620,9 @@ ROM_START( lastfght )
ROM_LOAD( "v100.u7", 0x000000, 0x100000, CRC(c134378c) SHA1(999c75f3a7890421cfd904a926ca377ee43a6825) )
ROM_END
-static DRIVER_INIT(lastfght)
+DRIVER_INIT_MEMBER(lastfght_state,lastfght)
{
- UINT16 *rom = (UINT16*)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16*)machine().root_device().memregion("maincpu")->base();
// pass initial check (protection ? hw?)
rom[0x00354 / 2] = 0x403e;
diff --git a/src/mame/drivers/lazercmd.c b/src/mame/drivers/lazercmd.c
index 794204fec23..9b5cc58adf8 100644
--- a/src/mame/drivers/lazercmd.c
+++ b/src/mame/drivers/lazercmd.c
@@ -786,10 +786,10 @@ ROM_START( bbonk )
ROM_END
-static DRIVER_INIT( lazercmd )
+DRIVER_INIT_MEMBER(lazercmd_state,lazercmd)
{
int i, y;
- UINT8 *gfx = machine.root_device().memregion("gfx1")->base();
+ UINT8 *gfx = machine().root_device().memregion("gfx1")->base();
/******************************************************************
* To show the maze bit #6 and #7 of the video ram are used.
@@ -815,10 +815,10 @@ static DRIVER_INIT( lazercmd )
}
}
-static DRIVER_INIT( medlanes )
+DRIVER_INIT_MEMBER(lazercmd_state,medlanes)
{
int i, y;
- UINT8 *gfx = machine.root_device().memregion("gfx1")->base();
+ UINT8 *gfx = machine().root_device().memregion("gfx1")->base();
/******************************************************************
* To show the maze bit #6 and #7 of the video ram are used.
@@ -844,10 +844,10 @@ static DRIVER_INIT( medlanes )
}
}
-static DRIVER_INIT( bbonk )
+DRIVER_INIT_MEMBER(lazercmd_state,bbonk)
{
int i, y;
- UINT8 *gfx = machine.root_device().memregion("gfx1")->base();
+ UINT8 *gfx = machine().root_device().memregion("gfx1")->base();
/******************************************************************
* To show the maze bit #6 and #7 of the video ram are used.
diff --git a/src/mame/drivers/legionna.c b/src/mame/drivers/legionna.c
index e696eda4bad..a30c3867bbe 100644
--- a/src/mame/drivers/legionna.c
+++ b/src/mame/drivers/legionna.c
@@ -2228,10 +2228,10 @@ ROM_END
#define CUPSOC_DEBUG_MODE 0
-static DRIVER_INIT( cupsoc )
+DRIVER_INIT_MEMBER(legionna_state,cupsoc)
{
#if CUPSOC_DEBUG_MODE
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
/*Press p1 button 3 to enter into debug mode during gameplay*/
ROM[0xffffb/2] = 0x0000;
@@ -2240,16 +2240,16 @@ static DRIVER_INIT( cupsoc )
}
-static DRIVER_INIT( denjinmk )
+DRIVER_INIT_MEMBER(legionna_state,denjinmk)
{
/* problem with audio comms? */
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
ROM[0x5fe4/2] = 0x4e71;
}
-static DRIVER_INIT( legiongfx )
+DRIVER_INIT_MEMBER(legionna_state,legiongfx)
{
- descramble_legionnaire_gfx( machine, machine.root_device().memregion("gfx5")->base() );
+ descramble_legionnaire_gfx( machine(), machine().root_device().memregion("gfx5")->base() );
}
@@ -2257,20 +2257,20 @@ static DRIVER_INIT( legiongfx )
GAME( 1992, legionna, 0, legionna, legionna, legionna_state, legiongfx, ROT0, "TAD Corporation", "Legionnaire (World)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1992, legionnau,legionna, legionna, legionna, legionna_state, legiongfx, ROT0, "TAD Corporation (Fabtek license)", "Legionnaire (US)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, heatbrl, 0, heatbrl, heatbrl, legionna_state, 0, ROT0, "TAD Corporation", "Heated Barrel (World version 3)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, heatbrl2, heatbrl, heatbrl, heatbrl, legionna_state, 0, ROT0, "TAD Corporation", "Heated Barrel (World version 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, heatbrlo, heatbrl, heatbrl, heatbrl, legionna_state, 0, ROT0, "TAD Corporation", "Heated Barrel (World old version)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, heatbrlu, heatbrl, heatbrl, heatbrl, legionna_state, 0, ROT0, "TAD Corporation", "Heated Barrel (US)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, heatbrle, heatbrl, heatbrl, heatbrl, legionna_state, 0, ROT0, "TAD Corporation", "Heated Barrel (Electronic Devices license)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, heatbrl, 0, heatbrl, heatbrl, driver_device, 0, ROT0, "TAD Corporation", "Heated Barrel (World version 3)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, heatbrl2, heatbrl, heatbrl, heatbrl, driver_device, 0, ROT0, "TAD Corporation", "Heated Barrel (World version 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, heatbrlo, heatbrl, heatbrl, heatbrl, driver_device, 0, ROT0, "TAD Corporation", "Heated Barrel (World old version)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, heatbrlu, heatbrl, heatbrl, heatbrl, driver_device, 0, ROT0, "TAD Corporation", "Heated Barrel (US)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, heatbrle, heatbrl, heatbrl, heatbrl, driver_device, 0, ROT0, "TAD Corporation", "Heated Barrel (Electronic Devices license)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1993, godzilla, 0, godzilla, godzilla, legionna_state, 0, ROT0, "Banpresto", "Godzilla", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1993, grainbow, 0, grainbow, grainbow, legionna_state, 0, ROT0, "Banpresto", "SD Gundam Sangokushi Rainbow Tairiku Senki", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1993, godzilla, 0, godzilla, godzilla, driver_device, 0, ROT0, "Banpresto", "Godzilla", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1993, grainbow, 0, grainbow, grainbow, driver_device, 0, ROT0, "Banpresto", "SD Gundam Sangokushi Rainbow Tairiku Senki", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1993, denjinmk, 0, denjinmk, denjinmk, legionna_state, denjinmk, ROT0, "Banpresto", "Denjin Makai", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, cupsoc, 0, cupsoc, cupsoc, legionna_state, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer (set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, cupsoca, cupsoc, cupsoc, cupsoc, legionna_state, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer (set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, cupsocs, cupsoc, cupsocs, cupsoc, legionna_state, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer :Selection: (set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, cupsocs2, cupsoc, cupsocs, cupsoc, legionna_state, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer :Selection: (set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, cupsoc, 0, cupsoc, cupsoc, driver_device, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer (set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, cupsoca, cupsoc, cupsoc, cupsoc, driver_device, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer (set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, cupsocs, cupsoc, cupsocs, cupsoc, driver_device, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer :Selection: (set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, cupsocs2, cupsoc, cupsocs, cupsoc, driver_device, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer :Selection: (set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1992, cupsocsb, cupsoc, cupsocbl, cupsoc, legionna_state, cupsoc, ROT0, "bootleg", "Seibu Cup Soccer :Selection: (bootleg, set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1992, cupsocsb2,cupsoc, cupsocbl, cupsoc, legionna_state, cupsoc, ROT0, "bootleg", "Seibu Cup Soccer :Selection: (bootleg, set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, olysoc92, cupsoc, cupsoc, cupsoc, legionna_state, 0, ROT0, "Seibu Kaihatsu", "Olympic Soccer '92", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, olysoc92, cupsoc, cupsoc, cupsoc, driver_device, 0, ROT0, "Seibu Kaihatsu", "Olympic Soccer '92", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/leland.c b/src/mame/drivers/leland.c
index f1ea7efa751..bc7d02d5664 100644
--- a/src/mame/drivers/leland.c
+++ b/src/mame/drivers/leland.c
@@ -1990,317 +1990,297 @@ static void init_master_ports(running_machine &machine, UINT8 mvram_base, UINT8
}
-static DRIVER_INIT( cerberus )
+DRIVER_INIT_MEMBER(leland_state,cerberus)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = cerberus_bankswitch;
- state->membank("bank1")->set_base(state->memregion("master")->base() + 0x2000);
- state->membank("bank2")->set_base(state->memregion("master")->base() + 0xa000);
- state->membank("bank3")->set_base(state->memregion("slave")->base() + 0x2000);
+ m_update_master_bank = cerberus_bankswitch;
+ membank("bank1")->set_base(memregion("master")->base() + 0x2000);
+ membank("bank2")->set_base(memregion("master")->base() + 0xa000);
+ membank("bank3")->set_base(memregion("slave")->base() + 0x2000);
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x40, 0x80);
+ init_master_ports(machine(), 0x40, 0x80);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0x80, 0x80, read8_delegate(FUNC(leland_state::cerberus_dial_1_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0x90, 0x90, read8_delegate(FUNC(leland_state::cerberus_dial_2_r),state));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0x80, 0x80, read8_delegate(FUNC(leland_state::cerberus_dial_1_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0x90, 0x90, read8_delegate(FUNC(leland_state::cerberus_dial_2_r),this));
}
-static DRIVER_INIT( mayhem )
+DRIVER_INIT_MEMBER(leland_state,mayhem)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = mayhem_bankswitch;
+ m_update_master_bank = mayhem_bankswitch;
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0xc0);
+ init_master_ports(machine(), 0x00, 0xc0);
}
-static DRIVER_INIT( powrplay )
+DRIVER_INIT_MEMBER(leland_state,powrplay)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = mayhem_bankswitch;
+ m_update_master_bank = mayhem_bankswitch;
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x40, 0x80);
+ init_master_ports(machine(), 0x40, 0x80);
}
-static DRIVER_INIT( wseries )
+DRIVER_INIT_MEMBER(leland_state,wseries)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = mayhem_bankswitch;
+ m_update_master_bank = mayhem_bankswitch;
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x40, 0x80);
+ init_master_ports(machine(), 0x40, 0x80);
}
-static DRIVER_INIT( alleymas )
+DRIVER_INIT_MEMBER(leland_state,alleymas)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = mayhem_bankswitch;
+ m_update_master_bank = mayhem_bankswitch;
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0xc0);
+ init_master_ports(machine(), 0x00, 0xc0);
/* kludge warning: the game uses location E0CA to determine if the joysticks are available */
/* it gets cleared by the code, but there is no obvious way for the value to be set to a */
/* non-zero value. If the value is zero, the joystick is never read. */
- state->m_alleymas_kludge_mem = machine.device("master")->memory().space(AS_PROGRAM)->install_write_handler(0xe0ca, 0xe0ca, write8_delegate(FUNC(leland_state::alleymas_joystick_kludge),state));
+ m_alleymas_kludge_mem = machine().device("master")->memory().space(AS_PROGRAM)->install_write_handler(0xe0ca, 0xe0ca, write8_delegate(FUNC(leland_state::alleymas_joystick_kludge),this));
}
-static DRIVER_INIT( upyoural )
+DRIVER_INIT_MEMBER(leland_state,upyoural)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = mayhem_bankswitch;
+ m_update_master_bank = mayhem_bankswitch;
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0xc0);
+ init_master_ports(machine(), 0x00, 0xc0);
}
-static DRIVER_INIT( dangerz )
+DRIVER_INIT_MEMBER(leland_state,dangerz)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = dangerz_bankswitch;
+ m_update_master_bank = dangerz_bankswitch;
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x40, 0x80);
+ init_master_ports(machine(), 0x40, 0x80);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xf4, 0xf4, read8_delegate(FUNC(leland_state::dangerz_input_upper_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::dangerz_input_y_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(leland_state::dangerz_input_x_r),state));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xf4, 0xf4, read8_delegate(FUNC(leland_state::dangerz_input_upper_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::dangerz_input_y_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(leland_state::dangerz_input_x_r),this));
}
-static DRIVER_INIT( basebal2 )
+DRIVER_INIT_MEMBER(leland_state,basebal2)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = basebal2_bankswitch;
+ m_update_master_bank = basebal2_bankswitch;
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0xc0);
+ init_master_ports(machine(), 0x00, 0xc0);
}
-static DRIVER_INIT( dblplay )
+DRIVER_INIT_MEMBER(leland_state,dblplay)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = basebal2_bankswitch;
+ m_update_master_bank = basebal2_bankswitch;
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x80, 0x40);
+ init_master_ports(machine(), 0x80, 0x40);
}
-static DRIVER_INIT( strkzone )
+DRIVER_INIT_MEMBER(leland_state,strkzone)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = basebal2_bankswitch;
+ m_update_master_bank = basebal2_bankswitch;
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0x40);
+ init_master_ports(machine(), 0x00, 0x40);
}
-static DRIVER_INIT( redlin2p )
+DRIVER_INIT_MEMBER(leland_state,redlin2p)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = redline_bankswitch;
+ m_update_master_bank = redline_bankswitch;
- leland_rotate_memory(machine, "master");
+ leland_rotate_memory(machine(), "master");
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0xc0);
+ init_master_ports(machine(), 0x00, 0xc0);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xc0, 0xc0, read8_delegate(FUNC(leland_state::redline_pedal_1_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xd0, 0xd0, read8_delegate(FUNC(leland_state::redline_pedal_2_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::redline_wheel_2_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(leland_state::redline_wheel_1_r),state));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xc0, 0xc0, read8_delegate(FUNC(leland_state::redline_pedal_1_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xd0, 0xd0, read8_delegate(FUNC(leland_state::redline_pedal_2_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::redline_wheel_2_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(leland_state::redline_wheel_1_r),this));
}
-static DRIVER_INIT( quarterb )
+DRIVER_INIT_MEMBER(leland_state,quarterb)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = viper_bankswitch;
+ m_update_master_bank = viper_bankswitch;
- leland_rotate_memory(machine, "master");
+ leland_rotate_memory(machine(), "master");
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x40, 0x80);
+ init_master_ports(machine(), 0x40, 0x80);
}
-static DRIVER_INIT( viper )
+DRIVER_INIT_MEMBER(leland_state,viper)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = viper_bankswitch;
+ m_update_master_bank = viper_bankswitch;
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
+ leland_rotate_memory(machine(), "slave");
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0xc0);
+ init_master_ports(machine(), 0x00, 0xc0);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xa4, 0xa4, read8_delegate(FUNC(leland_state::dangerz_input_upper_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xb8, 0xb8, read8_delegate(FUNC(leland_state::dangerz_input_y_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xbc, 0xbc, read8_delegate(FUNC(leland_state::dangerz_input_x_r),state));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xa4, 0xa4, read8_delegate(FUNC(leland_state::dangerz_input_upper_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xb8, 0xb8, read8_delegate(FUNC(leland_state::dangerz_input_y_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xbc, 0xbc, read8_delegate(FUNC(leland_state::dangerz_input_x_r),this));
}
-static DRIVER_INIT( teamqb )
+DRIVER_INIT_MEMBER(leland_state,teamqb)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = viper_bankswitch;
+ m_update_master_bank = viper_bankswitch;
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
+ leland_rotate_memory(machine(), "slave");
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x40, 0x80);
+ init_master_ports(machine(), 0x40, 0x80);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x7c, 0x7c, "IN4");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x7f, 0x7f, "IN5");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x7c, 0x7c, "IN4");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x7f, 0x7f, "IN5");
}
-static DRIVER_INIT( aafb )
+DRIVER_INIT_MEMBER(leland_state,aafb)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = viper_bankswitch;
+ m_update_master_bank = viper_bankswitch;
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
+ leland_rotate_memory(machine(), "slave");
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0xc0);
+ init_master_ports(machine(), 0x00, 0xc0);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x7c, 0x7c, "IN4");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x7f, 0x7f, "IN5");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x7c, 0x7c, "IN4");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x7f, 0x7f, "IN5");
}
-static DRIVER_INIT( aafbb )
+DRIVER_INIT_MEMBER(leland_state,aafbb)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = viper_bankswitch;
+ m_update_master_bank = viper_bankswitch;
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
+ leland_rotate_memory(machine(), "slave");
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x80, 0x40);
+ init_master_ports(machine(), 0x80, 0x40);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x7c, 0x7c, "IN4");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x7f, 0x7f, "IN5");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x7c, 0x7c, "IN4");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x7f, 0x7f, "IN5");
}
-static DRIVER_INIT( aafbd2p )
+DRIVER_INIT_MEMBER(leland_state,aafbd2p)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = viper_bankswitch;
+ m_update_master_bank = viper_bankswitch;
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
+ leland_rotate_memory(machine(), "slave");
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0x40);
+ init_master_ports(machine(), 0x00, 0x40);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x7c, 0x7c, "IN4");
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x7f, 0x7f, "IN5");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x7c, 0x7c, "IN4");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x7f, 0x7f, "IN5");
}
-static DRIVER_INIT( offroad )
+DRIVER_INIT_MEMBER(leland_state,offroad)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = offroad_bankswitch;
+ m_update_master_bank = offroad_bankswitch;
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
+ leland_rotate_memory(machine(), "slave");
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0xc0);
- init_master_ports(machine, 0x40, 0x80); /* yes, this is intentional */
+ init_master_ports(machine(), 0x00, 0xc0);
+ init_master_ports(machine(), 0x40, 0x80); /* yes, this is intentional */
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::offroad_wheel_3_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xf9, 0xf9, read8_delegate(FUNC(leland_state::offroad_wheel_1_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(leland_state::offroad_wheel_2_r),state));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::offroad_wheel_3_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xf9, 0xf9, read8_delegate(FUNC(leland_state::offroad_wheel_1_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(leland_state::offroad_wheel_2_r),this));
}
-static DRIVER_INIT( offroadt )
+DRIVER_INIT_MEMBER(leland_state,offroadt)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = offroad_bankswitch;
+ m_update_master_bank = offroad_bankswitch;
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
+ leland_rotate_memory(machine(), "slave");
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x80, 0x40);
+ init_master_ports(machine(), 0x80, 0x40);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::offroad_wheel_3_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xf9, 0xf9, read8_delegate(FUNC(leland_state::offroad_wheel_1_r),state));
- machine.device("master")->memory().space(AS_IO)->install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(leland_state::offroad_wheel_2_r),state));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::offroad_wheel_3_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xf9, 0xf9, read8_delegate(FUNC(leland_state::offroad_wheel_1_r),this));
+ machine().device("master")->memory().space(AS_IO)->install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(leland_state::offroad_wheel_2_r),this));
}
-static DRIVER_INIT( pigout )
+DRIVER_INIT_MEMBER(leland_state,pigout)
{
- leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
- state->m_update_master_bank = offroad_bankswitch;
+ m_update_master_bank = offroad_bankswitch;
- leland_rotate_memory(machine, "master");
- leland_rotate_memory(machine, "slave");
- leland_rotate_memory(machine, "slave");
+ leland_rotate_memory(machine(), "master");
+ leland_rotate_memory(machine(), "slave");
+ leland_rotate_memory(machine(), "slave");
/* set up the master CPU I/O ports */
- init_master_ports(machine, 0x00, 0x40);
+ init_master_ports(machine(), 0x00, 0x40);
/* set up additional input ports */
- machine.device("master")->memory().space(AS_IO)->install_read_port(0x7f, 0x7f, "IN4");
+ machine().device("master")->memory().space(AS_IO)->install_read_port(0x7f, 0x7f, "IN4");
}
diff --git a/src/mame/drivers/lemmings.c b/src/mame/drivers/lemmings.c
index 27de163a6b5..587eeb3df2c 100644
--- a/src/mame/drivers/lemmings.c
+++ b/src/mame/drivers/lemmings.c
@@ -342,4 +342,4 @@ ROM_END
/******************************************************************************/
-GAME( 1991, lemmings, 0, lemmings, lemmings, lemmings_state, 0, ROT0, "Data East USA", "Lemmings (US prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1991, lemmings, 0, lemmings, lemmings, driver_device, 0, ROT0, "Data East USA", "Lemmings (US prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/lethal.c b/src/mame/drivers/lethal.c
index 1ba7e2d03a6..78d46d83c14 100644
--- a/src/mame/drivers/lethal.c
+++ b/src/mame/drivers/lethal.c
@@ -917,10 +917,10 @@ ROM_START( lethalenua ) // *might* be UAA (writes UA to Eeprom)
ROM_END
-static DRIVER_INIT( lethalen )
+DRIVER_INIT_MEMBER(lethal_state,lethalen)
{
- konamid_rom_deinterleave_2_half(machine, "gfx2");
- konamid_rom_deinterleave_2(machine, "gfx4");
+ konamid_rom_deinterleave_2_half(machine(), "gfx2");
+ konamid_rom_deinterleave_2(machine(), "gfx4");
}
GAME( 1992, lethalen, 0, lethalen, lethalen, lethal_state, lethalen, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers (ver UAE, 11/19/92 15:04)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // writes UE to eeprom
diff --git a/src/mame/drivers/lethalj.c b/src/mame/drivers/lethalj.c
index d912e78f8ec..14d8d07a932 100644
--- a/src/mame/drivers/lethalj.c
+++ b/src/mame/drivers/lethalj.c
@@ -894,24 +894,21 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( ripribit )
+DRIVER_INIT_MEMBER(lethalj_state,ripribit)
{
- lethalj_state *state = machine.driver_data<lethalj_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x04100010, 0x0410001f, write16_delegate(FUNC(lethalj_state::ripribit_control_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x04100010, 0x0410001f, write16_delegate(FUNC(lethalj_state::ripribit_control_w),this));
}
-static DRIVER_INIT( cfarm )
+DRIVER_INIT_MEMBER(lethalj_state,cfarm)
{
- lethalj_state *state = machine.driver_data<lethalj_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x04100010, 0x0410001f, write16_delegate(FUNC(lethalj_state::cfarm_control_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x04100010, 0x0410001f, write16_delegate(FUNC(lethalj_state::cfarm_control_w),this));
}
-static DRIVER_INIT( cclownz )
+DRIVER_INIT_MEMBER(lethalj_state,cclownz)
{
- lethalj_state *state = machine.driver_data<lethalj_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x04100010, 0x0410001f, write16_delegate(FUNC(lethalj_state::cclownz_control_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x04100010, 0x0410001f, write16_delegate(FUNC(lethalj_state::cclownz_control_w),this));
}
@@ -922,12 +919,12 @@ static DRIVER_INIT( cclownz )
*
*************************************/
-GAME( 1996, lethalj, 0, lethalj, lethalj, lethalj_state, 0, ROT0, "The Game Room", "Lethal Justice", 0 )
-GAME( 1997, eggventr, 0, gameroom, eggventr, lethalj_state, 0, ROT0, "The Game Room", "Egg Venture (Release 10)", 0 )
-GAME( 1997, eggventr8,eggventr, gameroom, eggventr, lethalj_state, 0, ROT0, "The Game Room", "Egg Venture (Release 8)", 0 )
-GAME( 1997, eggventr7,eggventr, gameroom, eggventr, lethalj_state, 0, ROT0, "The Game Room", "Egg Venture (Release 7)", 0 )
-GAME( 1997, eggventra,eggventr, gameroom, eggventr, lethalj_state, 0, ROT0, "The Game Room (Allied Leisure license)", "Egg Venture (A.L. Release)", 0 )
-GAME( 1997, eggventrd,eggventr, gameroom, eggvntdx, lethalj_state, 0, ROT0, "The Game Room", "Egg Venture Deluxe", 0 )
+GAME( 1996, lethalj, 0, lethalj, lethalj, driver_device, 0, ROT0, "The Game Room", "Lethal Justice", 0 )
+GAME( 1997, eggventr, 0, gameroom, eggventr, driver_device, 0, ROT0, "The Game Room", "Egg Venture (Release 10)", 0 )
+GAME( 1997, eggventr8,eggventr, gameroom, eggventr, driver_device, 0, ROT0, "The Game Room", "Egg Venture (Release 8)", 0 )
+GAME( 1997, eggventr7,eggventr, gameroom, eggventr, driver_device, 0, ROT0, "The Game Room", "Egg Venture (Release 7)", 0 )
+GAME( 1997, eggventra,eggventr, gameroom, eggventr, driver_device, 0, ROT0, "The Game Room (Allied Leisure license)", "Egg Venture (A.L. Release)", 0 )
+GAME( 1997, eggventrd,eggventr, gameroom, eggvntdx, driver_device, 0, ROT0, "The Game Room", "Egg Venture Deluxe", 0 )
GAME( 1997, ripribit, 0, gameroom, ripribit, lethalj_state, ripribit, ROT0, "LAI Games", "Ripper Ribbit (Version 2.8.4)", 0 )
GAME( 1999, cfarm, 0, gameroom, cfarm, lethalj_state, cfarm, ROT90, "LAI Games", "Chicken Farm (Version 2.0)", 0 )
GAME( 1999, cclownz, 0, gameroom, cclownz, lethalj_state, cclownz, ROT0, "LAI Games", "Crazzy Clownz (Version 1.0)", 0 )
diff --git a/src/mame/drivers/lgp.c b/src/mame/drivers/lgp.c
index 5893b3f7918..180205020fd 100644
--- a/src/mame/drivers/lgp.c
+++ b/src/mame/drivers/lgp.c
@@ -84,6 +84,7 @@ public:
emu_timer *m_irq_timer;
DECLARE_READ8_MEMBER(ldp_read);
DECLARE_WRITE8_MEMBER(ldp_write);
+ DECLARE_DRIVER_INIT(lgp);
};
@@ -473,7 +474,7 @@ ROM_START( lgp )
ROM_END
-static DRIVER_INIT( lgp )
+DRIVER_INIT_MEMBER(lgp_state,lgp)
{
}
diff --git a/src/mame/drivers/liberate.c b/src/mame/drivers/liberate.c
index 4374685307f..9b32339ca66 100644
--- a/src/mame/drivers/liberate.c
+++ b/src/mame/drivers/liberate.c
@@ -1360,31 +1360,31 @@ static void sound_cpu_decrypt(running_machine &machine)
space->set_decrypted_region(0xc000, 0xffff, decrypted);
}
-static DRIVER_INIT( prosport )
+DRIVER_INIT_MEMBER(liberate_state,prosport)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
int i;
/* Main cpu has the nibbles swapped */
for (i = 0; i < 0x10000; i++)
RAM[i] = ((RAM[i] & 0x0f) << 4) | ((RAM[i] & 0xf0) >> 4);
- sound_cpu_decrypt(machine);
+ sound_cpu_decrypt(machine());
}
-static DRIVER_INIT( yellowcb )
+DRIVER_INIT_MEMBER(liberate_state,yellowcb)
{
DRIVER_INIT_CALL(prosport);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0xa000, 0xa000, "IN0");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0xa000, 0xa000, "IN0");
}
-static DRIVER_INIT( liberate )
+DRIVER_INIT_MEMBER(liberate_state,liberate)
{
int A;
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *decrypted = auto_alloc_array(machine, UINT8, 0x10000);
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *decrypted = auto_alloc_array(machine(), UINT8, 0x10000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
space->set_decrypted_region(0x0000, 0xffff, decrypted);
@@ -1395,9 +1395,9 @@ static DRIVER_INIT( liberate )
decrypted[A] = (decrypted[A] & 0x7d) | ((decrypted[A] & 0x02) << 6) | ((decrypted[A] & 0x80) >> 6);
}
- machine.root_device().membank("bank1")->configure_decrypted_entry(0, decrypted + 0x8000);
+ machine().root_device().membank("bank1")->configure_decrypted_entry(0, decrypted + 0x8000);
- sound_cpu_decrypt(machine);
+ sound_cpu_decrypt(machine());
}
/*************************************
diff --git a/src/mame/drivers/liberatr.c b/src/mame/drivers/liberatr.c
index 154618df3e7..b35d8306a12 100644
--- a/src/mame/drivers/liberatr.c
+++ b/src/mame/drivers/liberatr.c
@@ -499,6 +499,6 @@ ROM_END
*
*************************************/
-GAME( 1982, liberatr, 0, liberatr, liberatr, liberatr_state, 0, ROT0, "Atari", "Liberator (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1982, liberatr2,liberatr, liberat2, liberatr, liberatr_state, 0, ROT0, "Atari", "Liberator (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1982, liberatr, 0, liberatr, liberatr, driver_device, 0, ROT0, "Atari", "Liberator (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1982, liberatr2,liberatr, liberat2, liberatr, driver_device, 0, ROT0, "Atari", "Liberator (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/limenko.c b/src/mame/drivers/limenko.c
index 003fee2dd3c..0d850376b11 100644
--- a/src/mame/drivers/limenko.c
+++ b/src/mame/drivers/limenko.c
@@ -78,6 +78,11 @@ public:
DECLARE_WRITE8_MEMBER(qs1000_p1_w);
DECLARE_WRITE8_MEMBER(qs1000_p2_w);
DECLARE_WRITE8_MEMBER(qs1000_p3_w);
+ DECLARE_DRIVER_INIT(common);
+ DECLARE_DRIVER_INIT(sb2003);
+ DECLARE_DRIVER_INIT(dynabomb);
+ DECLARE_DRIVER_INIT(legendoh);
+ DECLARE_DRIVER_INIT(spotty);
};
@@ -1112,47 +1117,42 @@ READ32_MEMBER(limenko_state::spotty_speedup_r)
return m_mainram[0x6626c/4];
}
-static DRIVER_INIT( common )
+DRIVER_INIT_MEMBER(limenko_state,common)
{
- limenko_state *state = machine.driver_data<limenko_state>();
// Set up the QS1000 program ROM banking, taking care not to overlap the internal RAM
- machine.device("qs1000:cpu")->memory().space(AS_IO)->install_read_bank(0x0100, 0xffff, "bank");
- state->membank("qs1000:bank")->configure_entries(0, 8, state->memregion("qs1000:cpu")->base()+0x100, 0x10000);
+ machine().device("qs1000:cpu")->memory().space(AS_IO)->install_read_bank(0x0100, 0xffff, "bank");
+ membank("qs1000:bank")->configure_entries(0, 8, memregion("qs1000:cpu")->base()+0x100, 0x10000);
- state->m_spriteram_bit = 1;
+ m_spriteram_bit = 1;
}
-static DRIVER_INIT( dynabomb )
+DRIVER_INIT_MEMBER(limenko_state,dynabomb)
{
- limenko_state *state = machine.driver_data<limenko_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xe2784, 0xe2787, read32_delegate(FUNC(limenko_state::dynabomb_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xe2784, 0xe2787, read32_delegate(FUNC(limenko_state::dynabomb_speedup_r), this));
DRIVER_INIT_CALL(common);
}
-static DRIVER_INIT( legendoh )
+DRIVER_INIT_MEMBER(limenko_state,legendoh)
{
- limenko_state *state = machine.driver_data<limenko_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x32ab0, 0x32ab3, read32_delegate(FUNC(limenko_state::legendoh_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x32ab0, 0x32ab3, read32_delegate(FUNC(limenko_state::legendoh_speedup_r), this));
DRIVER_INIT_CALL(common);
}
-static DRIVER_INIT( sb2003 )
+DRIVER_INIT_MEMBER(limenko_state,sb2003)
{
- limenko_state *state = machine.driver_data<limenko_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x135800, 0x135803, read32_delegate(FUNC(limenko_state::sb2003_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x135800, 0x135803, read32_delegate(FUNC(limenko_state::sb2003_speedup_r), this));
DRIVER_INIT_CALL(common);
}
-static DRIVER_INIT( spotty )
+DRIVER_INIT_MEMBER(limenko_state,spotty)
{
- limenko_state *state = machine.driver_data<limenko_state>();
- UINT8 *dst = state->memregion("gfx1")->base();
- UINT8 *src = state->memregion("user2")->base();
+ UINT8 *dst = memregion("gfx1")->base();
+ UINT8 *src = memregion("user2")->base();
int x;
/* expand 4bpp roms to 8bpp space */
@@ -1164,9 +1164,9 @@ static DRIVER_INIT( spotty )
dst[x+2] = (src[x+1]&0x0f) >> 0;
}
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6626c, 0x6626f, read32_delegate(FUNC(limenko_state::spotty_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6626c, 0x6626f, read32_delegate(FUNC(limenko_state::spotty_speedup_r), this));
- state->m_spriteram_bit = 1;
+ m_spriteram_bit = 1;
}
GAME( 2000, dynabomb, 0, limenko, sb2003, limenko_state, dynabomb, ROT0, "Limenko", "Dynamite Bomber (Korea, Rev 1.5)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/littlerb.c b/src/mame/drivers/littlerb.c
index 7a009c0cf9c..4b67c61b9cd 100644
--- a/src/mame/drivers/littlerb.c
+++ b/src/mame/drivers/littlerb.c
@@ -560,4 +560,4 @@ ROM_START( littlerb )
ROM_END
-GAME( 1993, littlerb, 0, littlerb, littlerb, littlerb_state, 0, ROT0, "TCH", "Little Robin", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1993, littlerb, 0, littlerb, littlerb, driver_device, 0, ROT0, "TCH", "Little Robin", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/lkage.c b/src/mame/drivers/lkage.c
index baa6ce19d0d..39f2d51d057 100644
--- a/src/mame/drivers/lkage.c
+++ b/src/mame/drivers/lkage.c
@@ -961,25 +961,22 @@ READ8_MEMBER(lkage_state::fake_status_r)
return m_mcu_ready;
}
-static DRIVER_INIT( lkage )
+DRIVER_INIT_MEMBER(lkage_state,lkage)
{
- lkage_state *state = machine.driver_data<lkage_state>();
- state->m_sprite_dx=0;
+ m_sprite_dx=0;
}
-static DRIVER_INIT( lkageb )
+DRIVER_INIT_MEMBER(lkage_state,lkageb)
{
- lkage_state *state = machine.driver_data<lkage_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xf062, 0xf062, read8_delegate(FUNC(lkage_state::fake_mcu_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xf087, 0xf087, read8_delegate(FUNC(lkage_state::fake_status_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xf062, 0xf062, write8_delegate(FUNC(lkage_state::fake_mcu_w),state));
- state->m_sprite_dx=0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xf062, 0xf062, read8_delegate(FUNC(lkage_state::fake_mcu_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xf087, 0xf087, read8_delegate(FUNC(lkage_state::fake_status_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xf062, 0xf062, write8_delegate(FUNC(lkage_state::fake_mcu_w),this));
+ m_sprite_dx=0;
}
-static DRIVER_INIT( bygone )
+DRIVER_INIT_MEMBER(lkage_state,bygone)
{
- lkage_state *state = machine.driver_data<lkage_state>();
- state->m_sprite_dx=1;
+ m_sprite_dx=1;
}
GAME( 1984, lkage, 0, lkage, lkage, lkage_state, lkage, ROT0, "Taito Corporation", "The Legend of Kage", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/lockon.c b/src/mame/drivers/lockon.c
index 8024bc8b96c..ed1129ef6a7 100644
--- a/src/mame/drivers/lockon.c
+++ b/src/mame/drivers/lockon.c
@@ -805,5 +805,5 @@ ROM_END
*
*************************************/
-GAME( 1986, lockon, 0, lockon, lockon, lockon_state, 0, ROT0, "Tatsumi", "Lock-On (rev. E)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lockonc, lockon, lockon, lockone, lockon_state, 0, ROT0, "Tatsumi", "Lock-On (rev. C)", GAME_SUPPORTS_SAVE )
+GAME( 1986, lockon, 0, lockon, lockon, driver_device, 0, ROT0, "Tatsumi", "Lock-On (rev. E)", GAME_SUPPORTS_SAVE )
+GAME( 1986, lockonc, lockon, lockon, lockone, driver_device, 0, ROT0, "Tatsumi", "Lock-On (rev. C)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/looping.c b/src/mame/drivers/looping.c
index f0a67655459..ecd678f69aa 100644
--- a/src/mame/drivers/looping.c
+++ b/src/mame/drivers/looping.c
@@ -137,6 +137,7 @@ public:
DECLARE_WRITE8_MEMBER(looping_sound_sw);
DECLARE_WRITE8_MEMBER(ay_enable_w);
DECLARE_WRITE8_MEMBER(speech_enable_w);
+ DECLARE_DRIVER_INIT(looping);
};
@@ -903,21 +904,20 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( looping )
+DRIVER_INIT_MEMBER(looping_state,looping)
{
- looping_state *state = machine.driver_data<looping_state>();
- int length = state->memregion("maincpu")->bytes();
- UINT8 *rom = state->memregion("maincpu")->base();
+ int length = memregion("maincpu")->bytes();
+ UINT8 *rom = memregion("maincpu")->base();
int i;
- state->m_cop_io = auto_alloc_array(machine, UINT8, 0x08);
+ m_cop_io = auto_alloc_array(machine(), UINT8, 0x08);
/* bitswap the TMS9995 ROMs */
for (i = 0; i < length; i++)
rom[i] = BITSWAP8(rom[i], 0,1,2,3,4,5,6,7);
/* install protection handlers */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x7000, 0x7007, read8_delegate(FUNC(looping_state::protection_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x7000, 0x7007, read8_delegate(FUNC(looping_state::protection_r), this));
}
diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c
index 3a53ee10bbc..0779bb160c2 100644
--- a/src/mame/drivers/lordgun.c
+++ b/src/mame/drivers/lordgun.c
@@ -54,10 +54,10 @@ Notes:
***************************************************************************/
-static DRIVER_INIT( lordgun )
+DRIVER_INIT_MEMBER(lordgun_state,lordgun)
{
int i;
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// Decryption
@@ -80,9 +80,9 @@ static DRIVER_INIT( lordgun )
// From XingXing:
-static DRIVER_INIT( aliencha )
+DRIVER_INIT_MEMBER(lordgun_state,aliencha)
{
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// Protection
@@ -104,9 +104,9 @@ static DRIVER_INIT( aliencha )
}
-static DRIVER_INIT( alienchac )
+DRIVER_INIT_MEMBER(lordgun_state,alienchac)
{
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// Protection
diff --git a/src/mame/drivers/lsasquad.c b/src/mame/drivers/lsasquad.c
index ceec94fbd57..79dc215f994 100644
--- a/src/mame/drivers/lsasquad.c
+++ b/src/mame/drivers/lsasquad.c
@@ -826,6 +826,6 @@ ROM_START( daikaiju )
ROM_END
-GAME( 1986, lsasquad, 0, lsasquad, lsasquad, lsasquad_state, 0, ROT270, "Taito", "Land Sea Air Squad / Riku Kai Kuu Saizensen", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1986, storming, lsasquad, storming, storming, lsasquad_state, 0, ROT270, "bootleg", "Storming Party / Riku Kai Kuu Saizensen", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1986, daikaiju, 0, daikaiju, daikaiju, lsasquad_state, 0, ROT270, "Taito", "Daikaiju no Gyakushu", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1986, lsasquad, 0, lsasquad, lsasquad, driver_device, 0, ROT270, "Taito", "Land Sea Air Squad / Riku Kai Kuu Saizensen", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1986, storming, lsasquad, storming, storming, driver_device, 0, ROT270, "bootleg", "Storming Party / Riku Kai Kuu Saizensen", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1986, daikaiju, 0, daikaiju, daikaiju, driver_device, 0, ROT270, "Taito", "Daikaiju no Gyakushu", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ltcasino.c b/src/mame/drivers/ltcasino.c
index 2baa150c294..42fc2d832cf 100644
--- a/src/mame/drivers/ltcasino.c
+++ b/src/mame/drivers/ltcasino.c
@@ -31,6 +31,7 @@ public:
tilemap_t *m_tilemap;
DECLARE_WRITE8_MEMBER(ltcasino_tile_num_w);
DECLARE_WRITE8_MEMBER(ltcasino_tile_atr_w);
+ DECLARE_DRIVER_INIT(mv4in1);
};
@@ -709,16 +710,16 @@ ROM_START( mv4in1 )
ROM_LOAD( "a.ic19", 0x0000, 0x1000, CRC(a25c125e) SHA1(e0ba83ccddbd82a2bf52585ae0accb9192cbb00e) )
ROM_END
-static DRIVER_INIT(mv4in1)
+DRIVER_INIT_MEMBER(ltcasino_state,mv4in1)
{
int i;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for(i=0;i<0x10000;i++)
rom[i]=BITSWAP8(rom[i],7,6,5,4,3,1,2,0);
}
-GAME( 1982, ltcasino, 0, ltcasino, ltcasino, ltcasino_state, 0, ROT0, "Digital Controls Inc.", "Little Casino (older)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
+GAME( 1982, ltcasino, 0, ltcasino, ltcasino, driver_device, 0, ROT0, "Digital Controls Inc.", "Little Casino (older)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
GAME( 1983, mv4in1, ltcasino, ltcasino, mv4in1, ltcasino_state, mv4in1, ROT0, "Entertainment Enterprises, Ltd.", "Mini Vegas 4in1", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, ltcasinn, 0, ltcasino, ltcasinn, ltcasino_state, 0, ROT0, "Digital Controls Inc.", "Little Casino (newer)", GAME_NOT_WORKING )
+GAME( 1984, ltcasinn, 0, ltcasino, ltcasinn, driver_device, 0, ROT0, "Digital Controls Inc.", "Little Casino (newer)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/ltd.c b/src/mame/drivers/ltd.c
index eb38df45183..e108f5629e7 100644
--- a/src/mame/drivers/ltd.c
+++ b/src/mame/drivers/ltd.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(ltd);
};
@@ -31,7 +33,7 @@ void ltd_state::machine_reset()
{
}
-static DRIVER_INIT( ltd )
+DRIVER_INIT_MEMBER(ltd_state,ltd)
{
}
diff --git a/src/mame/drivers/luckgrln.c b/src/mame/drivers/luckgrln.c
index de67a4073b9..8b0e09b75af 100644
--- a/src/mame/drivers/luckgrln.c
+++ b/src/mame/drivers/luckgrln.c
@@ -144,6 +144,7 @@ public:
DECLARE_WRITE8_MEMBER(lamps_b_w);
DECLARE_WRITE8_MEMBER(counters_w);
DECLARE_READ8_MEMBER(test_r);
+ DECLARE_DRIVER_INIT(luckgrln);
};
@@ -1022,11 +1023,11 @@ static MACHINE_CONFIG_DERIVED( _7smash, luckgrln )
MCFG_CPU_IO_MAP(_7smash_io)
MACHINE_CONFIG_END
-static DRIVER_INIT( luckgrln )
+DRIVER_INIT_MEMBER(luckgrln_state,luckgrln)
{
int i;
UINT8 x,v;
- UINT8* rom = machine.root_device().memregion("rom_data")->base();
+ UINT8* rom = machine().root_device().memregion("rom_data")->base();
for (i=0;i<0x20000;i++)
{
@@ -1042,7 +1043,7 @@ static DRIVER_INIT( luckgrln )
{
FILE *fp;
char filename[256];
- sprintf(filename,"decrypted_%s", machine.system().name);
+ sprintf(filename,"decrypted_%s", machine().system().name);
fp=fopen(filename, "w+b");
if (fp)
{
@@ -1053,7 +1054,7 @@ static DRIVER_INIT( luckgrln )
#endif
// ??
-// machine.root_device().membank("bank1")->set_base(&rom[0x010000]);
+// machine().root_device().membank("bank1")->set_base(&rom[0x010000]);
}
@@ -1101,5 +1102,5 @@ ROM_END
YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
GAMEL( 1991, luckgrln, 0, luckgrln, luckgrln, luckgrln_state, luckgrln, ROT0, "Wing Co., Ltd.", "Lucky Girl (newer Z180 based hardware)", GAME_NO_SOUND, layout_luckgrln )
-GAMEL( 1993, 7smash, 0, _7smash, _7smash, luckgrln_state, 0, ROT0, "Sovic", "7 Smash", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING | GAME_NO_SOUND, layout_luckgrln )
+GAMEL( 1993, 7smash, 0, _7smash, _7smash, driver_device, 0, ROT0, "Sovic", "7 Smash", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING | GAME_NO_SOUND, layout_luckgrln )
diff --git a/src/mame/drivers/lucky74.c b/src/mame/drivers/lucky74.c
index 715fe20c9bf..2254b74ca33 100644
--- a/src/mame/drivers/lucky74.c
+++ b/src/mame/drivers/lucky74.c
@@ -1558,6 +1558,6 @@ ROM_END
**********************************************
YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1988, lucky74, 0, lucky74, lucky74, lucky74_state, 0, ROT0, "Wing Co., Ltd.", "Lucky 74 (bootleg, set 1)", 0, layout_lucky74 )
-GAMEL( 1988, lucky74a, lucky74, lucky74, lucky74, lucky74_state, 0, ROT0, "Wing Co., Ltd.", "Lucky 74 (bootleg, set 2)", GAME_NOT_WORKING, layout_lucky74 )
-GAME( 1989, excitbj, 0, lucky74, excitbj, lucky74_state, 0, ROT0, "Sega", "Exciting Black Jack", GAME_NOT_WORKING )
+GAMEL( 1988, lucky74, 0, lucky74, lucky74, driver_device, 0, ROT0, "Wing Co., Ltd.", "Lucky 74 (bootleg, set 1)", 0, layout_lucky74 )
+GAMEL( 1988, lucky74a, lucky74, lucky74, lucky74, driver_device, 0, ROT0, "Wing Co., Ltd.", "Lucky 74 (bootleg, set 2)", GAME_NOT_WORKING, layout_lucky74 )
+GAME( 1989, excitbj, 0, lucky74, excitbj, driver_device, 0, ROT0, "Sega", "Exciting Black Jack", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/lvcards.c b/src/mame/drivers/lvcards.c
index af6b32b345c..f68792f3fcb 100644
--- a/src/mame/drivers/lvcards.c
+++ b/src/mame/drivers/lvcards.c
@@ -575,6 +575,6 @@ ROM_START( ponttehk )
ROM_LOAD( "pon24s10.001", 0x0200, 0x0100, CRC(c64ecee8) SHA1(80c9ec21e135235f7f2d41ce7900cf3904123823) ) /* blue component */
ROM_END
-GAME( 1985, lvcards, 0, lvcards, lvcards, lvcards_state, 0, ROT0, "Tehkan", "Lovely Cards", 0 )
-GAME( 1985, lvpoker, lvcards, lvpoker, lvpoker, lvcards_state, 0, ROT0, "Tehkan", "Lovely Poker [BET]", 0 )
-GAME( 1985, ponttehk, 0, ponttehk, ponttehk, lvcards_state, 0, ROT0, "Tehkan", "Pontoon (Tehkan)", 0 )
+GAME( 1985, lvcards, 0, lvcards, lvcards, driver_device, 0, ROT0, "Tehkan", "Lovely Cards", 0 )
+GAME( 1985, lvpoker, lvcards, lvpoker, lvpoker, driver_device, 0, ROT0, "Tehkan", "Lovely Poker [BET]", 0 )
+GAME( 1985, ponttehk, 0, ponttehk, ponttehk, driver_device, 0, ROT0, "Tehkan", "Pontoon (Tehkan)", 0 )
diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c
index 3d950582dd6..772a5443dfe 100644
--- a/src/mame/drivers/lwings.c
+++ b/src/mame/drivers/lwings.c
@@ -1353,15 +1353,15 @@ ROM_END
*
*************************************/
-GAME( 1985, sectionz, 0, lwings, sectionz, lwings_state, 0, ROT0, "Capcom", "Section Z (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, sectionza, sectionz, lwings, sectionz, lwings_state, 0, ROT0, "Capcom", "Section Z (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lwings, 0, lwings, lwings, lwings_state, 0, ROT90, "Capcom", "Legendary Wings (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lwings2, lwings, lwings, lwings, lwings_state, 0, ROT90, "Capcom", "Legendary Wings (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lwingsj, lwings, lwings, lwings, lwings_state, 0, ROT90, "Capcom", "Ares no Tsubasa (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lwingsb, lwings, lwings, lwingsb, lwings_state, 0, ROT90, "bootleg", "Legendary Wings (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, trojan, 0, trojan, trojanls, lwings_state, 0, ROT0, "Capcom", "Trojan (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, trojanr, trojan, trojan, trojan, lwings_state, 0, ROT0, "Capcom (Romstar license)", "Trojan (Romstar)", GAME_SUPPORTS_SAVE )
-GAME( 1986, trojanj, trojan, trojan, trojan, lwings_state, 0, ROT0, "Capcom", "Tatakai no Banka (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, avengers, 0, avengers, avengers, lwings_state, 0, ROT90, "Capcom", "Avengers (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, avengers2, avengers, avengers, avengers, lwings_state, 0, ROT90, "Capcom", "Avengers (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, buraiken, avengers, avengers, avengers, lwings_state, 0, ROT90, "Capcom", "Hissatsu Buraiken (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, sectionz, 0, lwings, sectionz, driver_device, 0, ROT0, "Capcom", "Section Z (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, sectionza, sectionz, lwings, sectionz, driver_device, 0, ROT0, "Capcom", "Section Z (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, lwings, 0, lwings, lwings, driver_device, 0, ROT90, "Capcom", "Legendary Wings (US set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, lwings2, lwings, lwings, lwings, driver_device, 0, ROT90, "Capcom", "Legendary Wings (US set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, lwingsj, lwings, lwings, lwings, driver_device, 0, ROT90, "Capcom", "Ares no Tsubasa (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, lwingsb, lwings, lwings, lwingsb, driver_device, 0, ROT90, "bootleg", "Legendary Wings (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1986, trojan, 0, trojan, trojanls, driver_device, 0, ROT0, "Capcom", "Trojan (US)", GAME_SUPPORTS_SAVE )
+GAME( 1986, trojanr, trojan, trojan, trojan, driver_device, 0, ROT0, "Capcom (Romstar license)", "Trojan (Romstar)", GAME_SUPPORTS_SAVE )
+GAME( 1986, trojanj, trojan, trojan, trojan, driver_device, 0, ROT0, "Capcom", "Tatakai no Banka (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, avengers, 0, avengers, avengers, driver_device, 0, ROT90, "Capcom", "Avengers (US set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, avengers2, avengers, avengers, avengers, driver_device, 0, ROT90, "Capcom", "Avengers (US set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, buraiken, avengers, avengers, avengers, driver_device, 0, ROT90, "Capcom", "Hissatsu Buraiken (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m10.c b/src/mame/drivers/m10.c
index f38c946ebc4..f32ea92fcbd 100644
--- a/src/mame/drivers/m10.c
+++ b/src/mame/drivers/m10.c
@@ -915,22 +915,20 @@ MACHINE_CONFIG_END
* Hacks to work around missing roms to get at least some
* video output
*/
-static DRIVER_INIT( andromed )
+DRIVER_INIT_MEMBER(m10_state,andromed)
{
int i;
- m10_state *state = machine.driver_data<m10_state>();
for (i = 0x1c00; i < 0x2000; i++)
- state->m_rom[i] = 0x60;
+ m_rom[i] = 0x60;
}
-static DRIVER_INIT( ipminva1 )
+DRIVER_INIT_MEMBER(m10_state,ipminva1)
{
int i;
- m10_state *state = machine.driver_data<m10_state>();
for (i = 0x1400; i < 0x17ff; i++)
- state->m_rom[i] = 0x60;
+ m_rom[i] = 0x60;
}
/***************************************************************************
@@ -1042,9 +1040,9 @@ ROM_START( greenber )
ROM_END
GAME( 1979, andromed, 0, m11, skychut, m10_state, andromed, ROT270, "IPM", "Andromeda (Japan?)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1979, ipminvad, 0, m10, ipminvad, m10_state, 0, ROT270, "IPM", "IPM Invader", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1979, ipminvad, 0, m10, ipminvad, driver_device, 0, ROT270, "IPM", "IPM Invader", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1979, ipminvad1, ipminvad, m10, ipminvad, m10_state, ipminva1, ROT270, "IPM", "IPM Invader (Incomplete Dump)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1980, skychut, 0, m11, skychut, m10_state, 0, ROT270, "Irem", "Sky Chuter", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1979, spacbeam, 0, m15, spacbeam, m10_state, 0, ROT270, "Irem", "Space Beam", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) // IPM or Irem?
-GAME( 1979, headoni, 0, headoni, headoni, m10_state, 0, ROT270, "Irem", "Head On (Irem, M-15 Hardware)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1980, greenber, 0, m15, spacbeam, m10_state, 0, ROT270, "Irem", "Green Beret (Irem)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1980, skychut, 0, m11, skychut, driver_device, 0, ROT270, "Irem", "Sky Chuter", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1979, spacbeam, 0, m15, spacbeam, driver_device, 0, ROT270, "Irem", "Space Beam", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) // IPM or Irem?
+GAME( 1979, headoni, 0, headoni, headoni, driver_device, 0, ROT270, "Irem", "Head On (Irem, M-15 Hardware)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1980, greenber, 0, m15, spacbeam, driver_device, 0, ROT270, "Irem", "Green Beret (Irem)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m107.c b/src/mame/drivers/m107.c
index 430aa8a49e3..923cd0292ce 100644
--- a/src/mame/drivers/m107.c
+++ b/src/mame/drivers/m107.c
@@ -961,35 +961,32 @@ ROM_END
/***************************************************************************/
-static DRIVER_INIT( firebarr )
+DRIVER_INIT_MEMBER(m107_state,firebarr)
{
- m107_state *state = machine.driver_data<m107_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->set_base(&ROM[0xa0000]);
+ membank("bank1")->set_base(&ROM[0xa0000]);
- state->m_irq_vectorbase = 0x20;
- state->m_spritesystem = 1;
+ m_irq_vectorbase = 0x20;
+ m_spritesystem = 1;
}
-static DRIVER_INIT( dsoccr94 )
+DRIVER_INIT_MEMBER(m107_state,dsoccr94)
{
- m107_state *state = machine.driver_data<m107_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x80000], 0x20000);
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x07, write16_delegate(FUNC(m107_state::m107_bankswitch_w),state));
+ membank("bank1")->configure_entries(0, 4, &ROM[0x80000], 0x20000);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x07, write16_delegate(FUNC(m107_state::m107_bankswitch_w),this));
- state->m_irq_vectorbase = 0x80;
- state->m_spritesystem = 0;
+ m_irq_vectorbase = 0x80;
+ m_spritesystem = 0;
}
-static DRIVER_INIT( wpksoc )
+DRIVER_INIT_MEMBER(m107_state,wpksoc)
{
- m107_state *state = machine.driver_data<m107_state>();
- state->m_irq_vectorbase = 0x80;
- state->m_spritesystem = 0;
+ m_irq_vectorbase = 0x80;
+ m_spritesystem = 0;
}
/***************************************************************************/
diff --git a/src/mame/drivers/m14.c b/src/mame/drivers/m14.c
index f0e450d41d6..800b978b711 100644
--- a/src/mame/drivers/m14.c
+++ b/src/mame/drivers/m14.c
@@ -388,4 +388,4 @@ ROM_START( ptrmj )
ROM_LOAD( "mgpa10.bin", 0x0400, 0x0400, CRC(e1a4ebdc) SHA1(d9df42424ede17f0634d8d0a56c0374a33c55333) )
ROM_END
-GAME( 1979, ptrmj, 0, m14, m14, m14_state, 0, ROT0, "Irem", "PT Reach Mahjong (Japan)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // IPM or Irem?
+GAME( 1979, ptrmj, 0, m14, m14, driver_device, 0, ROT0, "Irem", "PT Reach Mahjong (Japan)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // IPM or Irem?
diff --git a/src/mame/drivers/m52.c b/src/mame/drivers/m52.c
index a6de2722b55..c1f387449a1 100644
--- a/src/mame/drivers/m52.c
+++ b/src/mame/drivers/m52.c
@@ -549,6 +549,6 @@ ROM_END
*
*************************************/
-GAME( 1982, mpatrol, 0, m52, mpatrol, m52_state, 0, ROT0, "Irem", "Moon Patrol", GAME_SUPPORTS_SAVE )
-GAME( 1982, mpatrolw, mpatrol, m52, mpatrolw, m52_state, 0, ROT0, "Irem (Williams license)", "Moon Patrol (Williams)", GAME_SUPPORTS_SAVE )
-GAME( 1988, alpha1v, 0, alpha1v, alpha1v, m52_state, 0, ROT0, "Vision Electronics", "Alpha One (Vision Electronics / Kyle Hodgetts)", GAME_NOT_WORKING|GAME_NO_SOUND|GAME_SUPPORTS_SAVE )
+GAME( 1982, mpatrol, 0, m52, mpatrol, driver_device, 0, ROT0, "Irem", "Moon Patrol", GAME_SUPPORTS_SAVE )
+GAME( 1982, mpatrolw, mpatrol, m52, mpatrolw, driver_device, 0, ROT0, "Irem (Williams license)", "Moon Patrol (Williams)", GAME_SUPPORTS_SAVE )
+GAME( 1988, alpha1v, 0, alpha1v, alpha1v, driver_device, 0, ROT0, "Vision Electronics", "Alpha One (Vision Electronics / Kyle Hodgetts)", GAME_NOT_WORKING|GAME_NO_SOUND|GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m57.c b/src/mame/drivers/m57.c
index 81b9a2c10bb..d8919bd9791 100644
--- a/src/mame/drivers/m57.c
+++ b/src/mame/drivers/m57.c
@@ -326,5 +326,5 @@ ROM_END
*
*************************************/
-GAME( 1983, troangel, 0, m57, troangel, m57_state, 0, ROT0, "Irem", "Tropical Angel", GAME_SUPPORTS_SAVE )
-GAME( 1983, newtangl, troangel, m57, troangel, m57_state, 0, ROT0, "Irem", "New Tropical Angel", GAME_SUPPORTS_SAVE )
+GAME( 1983, troangel, 0, m57, troangel, driver_device, 0, ROT0, "Irem", "Tropical Angel", GAME_SUPPORTS_SAVE )
+GAME( 1983, newtangl, troangel, m57, troangel, driver_device, 0, ROT0, "Irem", "New Tropical Angel", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m58.c b/src/mame/drivers/m58.c
index d34fe9d8a11..5f7f2618fe1 100644
--- a/src/mame/drivers/m58.c
+++ b/src/mame/drivers/m58.c
@@ -429,12 +429,12 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( yard85 )
+DRIVER_INIT_MEMBER(m58_state,yard85)
{
// on these sets the content of the sprite color PROM needs reversing
// are the proms on the other sets from bootleg boards, or hand modified?
- UINT8* buffer = auto_alloc_array(machine, UINT8, 0x10);
- UINT8* region = machine.root_device().memregion("proms")->base();
+ UINT8* buffer = auto_alloc_array(machine(), UINT8, 0x10);
+ UINT8* region = machine().root_device().memregion("proms")->base();
int i;
for (i=0;i<0x10;i++)
@@ -444,10 +444,10 @@ static DRIVER_INIT( yard85 )
memcpy(region+0x200, buffer, 0x10);
}
-GAME( 1983, 10yard, 0, yard, yard, m58_state, 0, ROT0, "Irem", "10-Yard Fight (World, set 1)", GAME_SUPPORTS_SAVE ) // no copyright
-GAME( 1983, 10yardj, 10yard, yard, yard, m58_state, 0, ROT0, "Irem", "10-Yard Fight (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, vs10yard, 10yard, yard, vs10yard, m58_state, 0, ROT0, "Irem", "Vs 10-Yard Fight (World, 11/05/84)", GAME_SUPPORTS_SAVE )
-GAME( 1984, vs10yardj,10yard, yard, vs10yarj, m58_state, 0, ROT0, "Irem", "Vs 10-Yard Fight (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1983, 10yard, 0, yard, yard, driver_device, 0, ROT0, "Irem", "10-Yard Fight (World, set 1)", GAME_SUPPORTS_SAVE ) // no copyright
+GAME( 1983, 10yardj, 10yard, yard, yard, driver_device, 0, ROT0, "Irem", "10-Yard Fight (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, vs10yard, 10yard, yard, vs10yard, driver_device, 0, ROT0, "Irem", "Vs 10-Yard Fight (World, 11/05/84)", GAME_SUPPORTS_SAVE )
+GAME( 1984, vs10yardj,10yard, yard, vs10yarj, driver_device, 0, ROT0, "Irem", "Vs 10-Yard Fight (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1984, vs10yardu,10yard, yard, vs10yard, m58_state, yard85, ROT0, "Irem (Taito license)", "Vs 10-Yard Fight (US, Taito license)", GAME_SUPPORTS_SAVE ) // had '85 stickers, but doesn't have '85 on the title screen like the set below
GAME( 1985, 10yard85, 10yard, yard, yard, m58_state, yard85, ROT0, "Irem (Taito license)", "10-Yard Fight '85 (US, Taito license)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m62.c b/src/mame/drivers/m62.c
index f3a7c91b7a0..77448c8a0e0 100644
--- a/src/mame/drivers/m62.c
+++ b/src/mame/drivers/m62.c
@@ -2155,68 +2155,68 @@ ROM_START( horizon )
ROM_END
-static DRIVER_INIT( battroad )
+DRIVER_INIT_MEMBER(m62_state,battroad)
{
/* configure memory banks */
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x2000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x2000);
}
-static DRIVER_INIT( ldrun2 )
+DRIVER_INIT_MEMBER(m62_state,ldrun2)
{
/* configure memory banks */
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x2000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x2000);
}
-static DRIVER_INIT( ldrun4 )
+DRIVER_INIT_MEMBER(m62_state,ldrun4)
{
/* configure memory banks */
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
}
-static DRIVER_INIT( kidniki )
+DRIVER_INIT_MEMBER(m62_state,kidniki)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
/* in Kid Niki, bank 0 has code falling from 7fff to 8000, */
/* so I have to copy it there because bank switching wouldn't catch it */
memcpy(ROM + 0x08000, ROM + 0x10000, 0x2000);
/* configure memory banks */
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x2000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x2000);
}
-static DRIVER_INIT( spelunkr )
+DRIVER_INIT_MEMBER(m62_state,spelunkr)
{
/* configure memory banks */
- machine.root_device().membank("bank1")->configure_entries(0, 4, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x2000);
+ machine().root_device().membank("bank1")->configure_entries(0, 4, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x2000);
}
-static DRIVER_INIT( spelunk2 )
+DRIVER_INIT_MEMBER(m62_state,spelunk2)
{
/* configure memory banks */
- machine.root_device().membank("bank1")->configure_entries(0, 4, machine.root_device().memregion("maincpu")->base() + 0x20000, 0x1000);
- machine.root_device().membank("bank2")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x1000);
+ machine().root_device().membank("bank1")->configure_entries(0, 4, machine().root_device().memregion("maincpu")->base() + 0x20000, 0x1000);
+ machine().root_device().membank("bank2")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x1000);
}
-static DRIVER_INIT( youjyudn )
+DRIVER_INIT_MEMBER(m62_state,youjyudn)
{
/* configure memory banks */
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
}
-GAME( 1984, kungfum, 0, kungfum, kungfum, m62_state, 0, ROT0, "Irem", "Kung-Fu Master", GAME_SUPPORTS_SAVE )
-GAME( 1984, kungfumd, kungfum, kungfum, kungfum, m62_state, 0, ROT0, "Irem (Data East license)", "Kung-Fu Master (Data East)", GAME_SUPPORTS_SAVE )
-GAME( 1984, spartanx, kungfum, kungfum, kungfum, m62_state, 0, ROT0, "Irem", "Spartan X (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, kungfub, kungfum, kungfum, kungfum, m62_state, 0, ROT0, "bootleg", "Kung-Fu Master (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, kungfub2, kungfum, kungfum, kungfum, m62_state, 0, ROT0, "bootleg", "Kung-Fu Master (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1984, kungfum, 0, kungfum, kungfum, driver_device, 0, ROT0, "Irem", "Kung-Fu Master", GAME_SUPPORTS_SAVE )
+GAME( 1984, kungfumd, kungfum, kungfum, kungfum, driver_device, 0, ROT0, "Irem (Data East license)", "Kung-Fu Master (Data East)", GAME_SUPPORTS_SAVE )
+GAME( 1984, spartanx, kungfum, kungfum, kungfum, driver_device, 0, ROT0, "Irem", "Spartan X (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, kungfub, kungfum, kungfum, kungfum, driver_device, 0, ROT0, "bootleg", "Kung-Fu Master (bootleg set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, kungfub2, kungfum, kungfum, kungfum, driver_device, 0, ROT0, "bootleg", "Kung-Fu Master (bootleg set 2)", GAME_SUPPORTS_SAVE )
GAME( 1984, battroad, 0, battroad, battroad, m62_state, battroad, ROT90, "Irem", "The Battle-Road", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1984, ldrun, 0, ldrun, ldrun, m62_state, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, ldruna, ldrun, ldrun, ldrun, m62_state, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1984, ldrun, 0, ldrun, ldrun, driver_device, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, ldruna, ldrun, ldrun, ldrun, driver_device, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner (set 2)", GAME_SUPPORTS_SAVE )
GAME( 1984, ldrun2, 0, ldrun2, ldrun2, m62_state, ldrun2, ROT0, "Irem (licensed from Broderbund)", "Lode Runner II - The Bungeling Strikes Back", GAME_SUPPORTS_SAVE ) /* Japanese version is called Bangeringu Teikoku No Gyakushuu */
-GAME( 1985, ldrun3, 0, ldrun3, ldrun3, m62_state, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner III - The Golden Labyrinth", GAME_SUPPORTS_SAVE )
-GAME( 1985, ldrun3j, ldrun3, ldrun3, ldrun3, m62_state, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner III - Majin No Fukkatsu", GAME_SUPPORTS_SAVE )
+GAME( 1985, ldrun3, 0, ldrun3, ldrun3, driver_device, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner III - The Golden Labyrinth", GAME_SUPPORTS_SAVE )
+GAME( 1985, ldrun3j, ldrun3, ldrun3, ldrun3, driver_device, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner III - Majin No Fukkatsu", GAME_SUPPORTS_SAVE )
GAME( 1986, ldrun4, 0, ldrun4, ldrun4, m62_state, ldrun4, ROT0, "Irem (licensed from Broderbund)", "Lode Runner IV - Teikoku Karano Dasshutsu", GAME_SUPPORTS_SAVE )
-GAME( 1985, lotlot, 0, lotlot, lotlot, m62_state, 0, ROT0, "Irem (licensed from Tokuma Shoten)", "Lot Lot", GAME_SUPPORTS_SAVE )
+GAME( 1985, lotlot, 0, lotlot, lotlot, driver_device, 0, ROT0, "Irem (licensed from Tokuma Shoten)", "Lot Lot", GAME_SUPPORTS_SAVE )
GAME( 1986, kidniki, 0, kidniki, kidniki, m62_state, kidniki, ROT0, "Irem", "Kid Niki - Radical Ninja (World)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1986, kidnikiu, kidniki, kidniki, kidniki, m62_state, kidniki, ROT0, "Irem (Data East USA license)", "Kid Niki - Radical Ninja (US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1986, yanchamr, kidniki, kidniki, kidniki, m62_state, kidniki, ROT0, "Irem", "Kaiketsu Yanchamaru (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
@@ -2225,4 +2225,4 @@ GAME( 1985, spelunkr, 0, spelunkr, spelunkr, m62_state, spelunkr, ROT0,
GAME( 1985, spelunkrj,spelunkr, spelunkr, spelunkr, m62_state, spelunkr, ROT0, "Irem (licensed from Broderbund)", "Spelunker (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1986, spelunk2, 0, spelunk2, spelunk2, m62_state, spelunk2, ROT0, "Irem (licensed from Broderbund)", "Spelunker II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1986, youjyudn, 0, youjyudn, youjyudn, m62_state, youjyudn, ROT270, "Irem", "Youjyuden (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, horizon, 0, horizon, horizon, m62_state, 0, ROT0, "Irem", "Horizon", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, horizon, 0, horizon, horizon, driver_device, 0, ROT0, "Irem", "Horizon", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m63.c b/src/mame/drivers/m63.c
index b29e0a0bcc3..deb11cbe94b 100644
--- a/src/mame/drivers/m63.c
+++ b/src/mame/drivers/m63.c
@@ -175,6 +175,8 @@ public:
DECLARE_READ8_MEMBER(snddata_r);
DECLARE_WRITE8_MEMBER(fghtbskt_samples_w);
DECLARE_WRITE8_MEMBER(nmi_mask_w);
+ DECLARE_DRIVER_INIT(wilytowr);
+ DECLARE_DRIVER_INIT(fghtbskt);
};
@@ -1017,16 +1019,14 @@ ROM_START( fghtbskt )
ROM_LOAD( "fb_b.11e", 0x0200, 0x0100, CRC(fca5bf0e) SHA1(5846f43aa2906cac58e300fdab197b99f896e3ef) )
ROM_END
-static DRIVER_INIT( wilytowr )
+DRIVER_INIT_MEMBER(m63_state,wilytowr)
{
- m63_state *state = machine.driver_data<m63_state>();
- state->m_sy_offset = 238;
+ m_sy_offset = 238;
}
-static DRIVER_INIT( fghtbskt )
+DRIVER_INIT_MEMBER(m63_state,fghtbskt)
{
- m63_state *state = machine.driver_data<m63_state>();
- state->m_sy_offset = 240;
+ m_sy_offset = 240;
}
GAME( 1984, wilytowr, 0, m63, wilytowr, m63_state, wilytowr, ROT180, "Irem", "Wily Tower", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c
index 8499cf51848..456539d9395 100644
--- a/src/mame/drivers/m72.c
+++ b/src/mame/drivers/m72.c
@@ -356,24 +356,23 @@ READ8_MEMBER(m72_state::m72_snd_cpu_sample_r)
return m_mcu_sample_latch;
}
-INLINE DRIVER_INIT( m72_8751 )
+DRIVER_INIT_MEMBER(m72_state,m72_8751)
{
- m72_state *state = machine.driver_data<m72_state>();
- address_space *program = machine.device("maincpu")->memory().space(AS_PROGRAM);
- address_space *io = machine.device("maincpu")->memory().space(AS_IO);
- address_space *sndio = machine.device("soundcpu")->memory().space(AS_IO);
+ address_space *program = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *io = machine().device("maincpu")->memory().space(AS_IO);
+ address_space *sndio = machine().device("soundcpu")->memory().space(AS_IO);
- state->m_protection_ram = auto_alloc_array(machine, UINT16, 0x10000/2);
+ m_protection_ram = auto_alloc_array(machine(), UINT16, 0x10000/2);
program->install_read_bank(0xb0000, 0xbffff, "bank1");
- program->install_write_handler(0xb0000, 0xb0fff, write16_delegate(FUNC(m72_state::m72_main_mcu_w),state));
- state->membank("bank1")->set_base(state->m_protection_ram);
+ program->install_write_handler(0xb0000, 0xb0fff, write16_delegate(FUNC(m72_state::m72_main_mcu_w),this));
+ membank("bank1")->set_base(m_protection_ram);
//io->install_legacy_write_handler(0xc0, 0xc1, FUNC(loht_sample_trigger_w));
- io->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::m72_main_mcu_sound_w),state));
+ io->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::m72_main_mcu_sound_w),this));
/* sound cpu */
- sndio->install_write_handler(0x82, 0x82, 0xff, 0, write8_delegate(FUNC(m72_state::m72_snd_cpu_sample_w),state));
- sndio->install_read_handler (0x84, 0x84, 0xff, 0, read8_delegate(FUNC(m72_state::m72_snd_cpu_sample_r),state));
+ sndio->install_write_handler(0x82, 0x82, 0xff, 0, write8_delegate(FUNC(m72_state::m72_snd_cpu_sample_w),this));
+ sndio->install_read_handler (0x84, 0x84, 0xff, 0, read8_delegate(FUNC(m72_state::m72_snd_cpu_sample_r),this));
/* lohtb2 */
#if 0
@@ -383,7 +382,7 @@ INLINE DRIVER_INIT( m72_8751 )
* prefetching on the V30.
*/
{
- UINT8 *rom=state->memregion("mcu")->base();
+ UINT8 *rom=memregion("mcu")->base();
rom[0x12d+5] += 1; printf(" 5: %d\n", rom[0x12d+5]);
rom[0x12d+8] += 5; printf(" 8: %d\n", rom[0x12d+8]);
@@ -730,77 +729,67 @@ static void install_protection_handler(running_machine &machine, const UINT8 *co
state->membank("bank1")->set_base(state->m_protection_ram);
}
-static DRIVER_INIT( bchopper )
+DRIVER_INIT_MEMBER(m72_state,bchopper)
{
- install_protection_handler(machine, bchopper_code,bchopper_crc);
- m72_state *state = machine.driver_data<m72_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::bchopper_sample_trigger_w),state));
+ install_protection_handler(machine(), bchopper_code,bchopper_crc);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::bchopper_sample_trigger_w),this));
}
-static DRIVER_INIT( mrheli )
+DRIVER_INIT_MEMBER(m72_state,mrheli)
{
- install_protection_handler(machine, bchopper_code,mrheli_crc);
- m72_state *state = machine.driver_data<m72_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::bchopper_sample_trigger_w),state));
+ install_protection_handler(machine(), bchopper_code,mrheli_crc);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::bchopper_sample_trigger_w),this));
}
-static DRIVER_INIT( nspirit )
+DRIVER_INIT_MEMBER(m72_state,nspirit)
{
- install_protection_handler(machine, nspirit_code,nspirit_crc);
- m72_state *state = machine.driver_data<m72_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::nspirit_sample_trigger_w),state));
+ install_protection_handler(machine(), nspirit_code,nspirit_crc);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::nspirit_sample_trigger_w),this));
}
-static DRIVER_INIT( imgfight )
+DRIVER_INIT_MEMBER(m72_state,imgfight)
{
- install_protection_handler(machine, imgfight_code,imgfightj_crc);
- m72_state *state = machine.driver_data<m72_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::imgfight_sample_trigger_w),state));
+ install_protection_handler(machine(), imgfight_code,imgfightj_crc);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::imgfight_sample_trigger_w),this));
}
-static DRIVER_INIT( loht )
+DRIVER_INIT_MEMBER(m72_state,loht)
{
- m72_state *state = machine.driver_data<m72_state>();
- install_protection_handler(machine, loht_code,loht_crc);
+ install_protection_handler(machine(), loht_code,loht_crc);
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::loht_sample_trigger_w),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::loht_sample_trigger_w),this));
/* since we skip the startup tests, clear video RAM to prevent garbage on title screen */
- memset(state->m_videoram2,0,0x4000);
+ memset(m_videoram2,0,0x4000);
}
-static DRIVER_INIT( xmultiplm72 )
+DRIVER_INIT_MEMBER(m72_state,xmultiplm72)
{
- install_protection_handler(machine, xmultiplm72_code,xmultiplm72_crc);
- m72_state *state = machine.driver_data<m72_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::xmultiplm72_sample_trigger_w),state));
+ install_protection_handler(machine(), xmultiplm72_code,xmultiplm72_crc);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::xmultiplm72_sample_trigger_w),this));
}
-static DRIVER_INIT( dbreedm72 )
+DRIVER_INIT_MEMBER(m72_state,dbreedm72)
{
- install_protection_handler(machine, dbreedm72_code,dbreedm72_crc);
- m72_state *state = machine.driver_data<m72_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::dbreedm72_sample_trigger_w),state));
+ install_protection_handler(machine(), dbreedm72_code,dbreedm72_crc);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::dbreedm72_sample_trigger_w),this));
}
-static DRIVER_INIT( airduel )
+DRIVER_INIT_MEMBER(m72_state,airduel)
{
- install_protection_handler(machine, airduel_code,airduel_crc);
- m72_state *state = machine.driver_data<m72_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::airduel_sample_trigger_w),state));
+ install_protection_handler(machine(), airduel_code,airduel_crc);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::airduel_sample_trigger_w),this));
}
-static DRIVER_INIT( dkgenm72 )
+DRIVER_INIT_MEMBER(m72_state,dkgenm72)
{
- install_protection_handler(machine, dkgenm72_code,dkgenm72_crc);
- m72_state *state = machine.driver_data<m72_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::dkgenm72_sample_trigger_w),state));
+ install_protection_handler(machine(), dkgenm72_code,dkgenm72_crc);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::dkgenm72_sample_trigger_w),this));
}
-static DRIVER_INIT( gallop )
+DRIVER_INIT_MEMBER(m72_state,gallop)
{
- m72_state *state = machine.driver_data<m72_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::gallop_sample_trigger_w),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::gallop_sample_trigger_w),this));
}
@@ -3634,11 +3623,11 @@ ROM_END
// the program roms failing their tests. This is why we still have simulation code for many games
// despite having Japanese version MCU roms for several of them. See notes next to the sets
-GAME( 1987, rtype, 0, rtype, rtype, m72_state, 0, ROT0, "Irem", "R-Type (World)", GAME_NO_COCKTAIL )
-GAME( 1987, rtypej, rtype, rtype, rtype, m72_state, 0, ROT0, "Irem", "R-Type (Japan)", GAME_NO_COCKTAIL )
-GAME( 1987, rtypejp, rtype, rtype, rtypep, m72_state, 0, ROT0, "Irem", "R-Type (Japan prototype)", GAME_NO_COCKTAIL )
-GAME( 1987, rtypeu, rtype, rtype, rtype, m72_state, 0, ROT0, "Irem (Nintendo of America license)", "R-Type (US)", GAME_NO_COCKTAIL )
-GAME( 1987, rtypeb, rtype, rtype, rtype, m72_state, 0, ROT0, "bootleg", "R-Type (World bootleg)", GAME_NO_COCKTAIL )
+GAME( 1987, rtype, 0, rtype, rtype, driver_device, 0, ROT0, "Irem", "R-Type (World)", GAME_NO_COCKTAIL )
+GAME( 1987, rtypej, rtype, rtype, rtype, driver_device, 0, ROT0, "Irem", "R-Type (Japan)", GAME_NO_COCKTAIL )
+GAME( 1987, rtypejp, rtype, rtype, rtypep, driver_device, 0, ROT0, "Irem", "R-Type (Japan prototype)", GAME_NO_COCKTAIL )
+GAME( 1987, rtypeu, rtype, rtype, rtype, driver_device, 0, ROT0, "Irem (Nintendo of America license)", "R-Type (US)", GAME_NO_COCKTAIL )
+GAME( 1987, rtypeb, rtype, rtype, rtype, driver_device, 0, ROT0, "bootleg", "R-Type (World bootleg)", GAME_NO_COCKTAIL )
GAME( 1987, bchopper, 0, m72, bchopper, m72_state, bchopper, ROT0, "Irem", "Battle Chopper", GAME_NO_COCKTAIL )
GAME( 1987, mrheli, bchopper, m72, bchopper, m72_state, mrheli, ROT0, "Irem", "Mr. HELI no Dai-Bouken", GAME_NO_COCKTAIL )
GAME( 1988, nspirit, 0, m72, nspirit, m72_state, nspirit, ROT0, "Irem", "Ninja Spirit", GAME_NO_COCKTAIL ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?)
@@ -3648,24 +3637,24 @@ GAME( 1988, imgfightj, imgfight, m72_8751, imgfight, m72_state, m72_8751,
GAME( 1989, loht, 0, m72, loht, m72_state, loht, ROT0, "Irem", "Legend of Hero Tonma", GAME_NO_COCKTAIL ) // fails rom check if used with Japan MCU rom (World version?)
GAME( 1989, lohtj, loht, m72_8751, loht, m72_state, m72_8751, ROT0, "Irem", "Legend of Hero Tonma (Japan)", GAME_NO_COCKTAIL ) // waits for japan warning screen, works with our mcu dump (Japan Version)
GAME( 1989, lohtb2, loht, m72_8751, loht, m72_state, m72_8751, ROT0, "bootleg", "Legend of Hero Tonma (Japan, bootleg with i8751)", GAME_NO_COCKTAIL ) // works like above, mcu code is the same as the real code, probably just an alt revision on a bootleg board
-GAME( 1989, lohtb, loht, m72, loht, m72_state, 0, ROT0, "bootleg", "Legend of Hero Tonma (unprotected bootleg)", GAME_NOT_WORKING| GAME_NO_COCKTAIL )
-GAME( 1989, xmultipl, 0, xmultipl, xmultipl, m72_state, 0, ROT0, "Irem", "X Multiply (World, M81)", GAME_NO_COCKTAIL )
+GAME( 1989, lohtb, loht, m72, loht, driver_device, 0, ROT0, "bootleg", "Legend of Hero Tonma (unprotected bootleg)", GAME_NOT_WORKING| GAME_NO_COCKTAIL )
+GAME( 1989, xmultipl, 0, xmultipl, xmultipl, driver_device, 0, ROT0, "Irem", "X Multiply (World, M81)", GAME_NO_COCKTAIL )
GAME( 1989, xmultiplm72, xmultipl, xmultiplm72, xmultipl, m72_state, xmultiplm72, ROT0, "Irem", "X Multiply (Japan, M72)", GAME_NO_COCKTAIL )
-GAME( 1989, dbreed, 0, dbreed, dbreed, m72_state, 0, ROT0, "Irem", "Dragon Breed (M81 PCB version)", GAME_NO_COCKTAIL )
+GAME( 1989, dbreed, 0, dbreed, dbreed, driver_device, 0, ROT0, "Irem", "Dragon Breed (M81 PCB version)", GAME_NO_COCKTAIL )
GAME( 1989, dbreedm72, dbreed, dbreedm72, dbreed, m72_state, dbreedm72, ROT0, "Irem", "Dragon Breed (M72 PCB version)", GAME_NO_COCKTAIL )
-GAME( 1989, rtype2, 0, rtype2, rtype2, m72_state, 0, ROT0, "Irem", "R-Type II", GAME_NO_COCKTAIL )
-GAME( 1989, rtype2j, rtype2, rtype2, rtype2, m72_state, 0, ROT0, "Irem", "R-Type II (Japan)", GAME_NO_COCKTAIL )
-GAME( 1989, rtype2jc, rtype2, rtype2, rtype2, m72_state, 0, ROT0, "Irem", "R-Type II (Japan, revision C)", GAME_NO_COCKTAIL )
-GAME( 1990, majtitle, 0, majtitle, rtype2, m72_state, 0, ROT0, "Irem", "Major Title (World)", GAME_NO_COCKTAIL )
-GAME( 1990, majtitlej, majtitle, majtitle, rtype2, m72_state, 0, ROT0, "Irem", "Major Title (Japan)", GAME_NO_COCKTAIL )
-GAME( 1990, hharry, 0, hharry, hharry, m72_state, 0, ROT0, "Irem", "Hammerin' Harry (World)", GAME_NO_COCKTAIL )
-GAME( 1990, hharryu, hharry, hharryu, hharry, m72_state, 0, ROT0, "Irem America", "Hammerin' Harry (US)", GAME_NO_COCKTAIL )
-GAME( 1990, dkgensan, hharry, hharryu, hharry, m72_state, 0, ROT0, "Irem", "Daiku no Gensan (Japan, M82)", GAME_NO_COCKTAIL )
+GAME( 1989, rtype2, 0, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II", GAME_NO_COCKTAIL )
+GAME( 1989, rtype2j, rtype2, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II (Japan)", GAME_NO_COCKTAIL )
+GAME( 1989, rtype2jc, rtype2, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II (Japan, revision C)", GAME_NO_COCKTAIL )
+GAME( 1990, majtitle, 0, majtitle, rtype2, driver_device, 0, ROT0, "Irem", "Major Title (World)", GAME_NO_COCKTAIL )
+GAME( 1990, majtitlej, majtitle, majtitle, rtype2, driver_device, 0, ROT0, "Irem", "Major Title (Japan)", GAME_NO_COCKTAIL )
+GAME( 1990, hharry, 0, hharry, hharry, driver_device, 0, ROT0, "Irem", "Hammerin' Harry (World)", GAME_NO_COCKTAIL )
+GAME( 1990, hharryu, hharry, hharryu, hharry, driver_device, 0, ROT0, "Irem America", "Hammerin' Harry (US)", GAME_NO_COCKTAIL )
+GAME( 1990, dkgensan, hharry, hharryu, hharry, driver_device, 0, ROT0, "Irem", "Daiku no Gensan (Japan, M82)", GAME_NO_COCKTAIL )
GAME( 1990, dkgensanm72, hharry, dkgenm72, hharry, m72_state, dkgenm72, ROT0, "Irem", "Daiku no Gensan (Japan, M72)", GAME_NO_COCKTAIL )
-GAME( 1990, poundfor, 0, poundfor, poundfor, m72_state, 0, ROT270, "Irem", "Pound for Pound (World)", GAME_NO_COCKTAIL )
-GAME( 1990, poundforj, poundfor, poundfor, poundfor, m72_state, 0, ROT270, "Irem", "Pound for Pound (Japan)", GAME_NO_COCKTAIL )
-GAME( 1990, poundforu, poundfor, poundfor, poundfor, m72_state, 0, ROT270, "Irem America", "Pound for Pound (US)", GAME_NO_COCKTAIL )
+GAME( 1990, poundfor, 0, poundfor, poundfor, driver_device, 0, ROT270, "Irem", "Pound for Pound (World)", GAME_NO_COCKTAIL )
+GAME( 1990, poundforj, poundfor, poundfor, poundfor, driver_device, 0, ROT270, "Irem", "Pound for Pound (Japan)", GAME_NO_COCKTAIL )
+GAME( 1990, poundforu, poundfor, poundfor, poundfor, driver_device, 0, ROT270, "Irem America", "Pound for Pound (US)", GAME_NO_COCKTAIL )
GAME( 1990, airduel, 0, m72, airduel, m72_state, airduel, ROT270, "Irem", "Air Duel (Japan)", 0 )
-GAME( 1991, cosmccop, 0, cosmccop, gallop, m72_state, 0, ROT0, "Irem", "Cosmic Cop (World)", GAME_NO_COCKTAIL )
+GAME( 1991, cosmccop, 0, cosmccop, gallop, driver_device, 0, ROT0, "Irem", "Cosmic Cop (World)", GAME_NO_COCKTAIL )
GAME( 1991, gallop, cosmccop, m72, gallop, m72_state, gallop, ROT0, "Irem", "Gallop - Armed Police Unit (Japan)", GAME_NO_COCKTAIL )
-GAME( 1991, kengo, 0, kengo, kengo, m72_state, 0, ROT0, "Irem", "Ken-Go", GAME_NO_COCKTAIL )
+GAME( 1991, kengo, 0, kengo, kengo, driver_device, 0, ROT0, "Irem", "Ken-Go", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/m79amb.c b/src/mame/drivers/m79amb.c
index d8bc957b60b..406a27010ef 100644
--- a/src/mame/drivers/m79amb.c
+++ b/src/mame/drivers/m79amb.c
@@ -77,6 +77,7 @@ public:
DECLARE_READ8_MEMBER(gray5bit_controller0_r);
DECLARE_READ8_MEMBER(gray5bit_controller1_r);
DECLARE_WRITE8_MEMBER(m79amb_8002_w);
+ DECLARE_DRIVER_INIT(m79amb);
};
@@ -287,10 +288,9 @@ static const UINT8 lut_pos[0x20] = {
};
-static DRIVER_INIT( m79amb )
+DRIVER_INIT_MEMBER(m79amb_state,m79amb)
{
- m79amb_state *state = machine.driver_data<m79amb_state>();
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
int i, j;
/* PROM data is active low */
@@ -305,7 +305,7 @@ static DRIVER_INIT( m79amb )
{
if (i <= lut_cross[j])
{
- state->m_lut_gun1[i] = lut_pos[j];
+ m_lut_gun1[i] = lut_pos[j];
break;
}
}
@@ -315,7 +315,7 @@ static DRIVER_INIT( m79amb )
{
if (i >= (253 - lut_cross[j]))
{
- state->m_lut_gun2[i] = lut_pos[j];
+ m_lut_gun2[i] = lut_pos[j];
break;
}
}
diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c
index bfe5cc66336..0e3fa59a925 100644
--- a/src/mame/drivers/m90.c
+++ b/src/mame/drivers/m90.c
@@ -1183,18 +1183,17 @@ ROM_END
-static DRIVER_INIT( quizf1 )
+DRIVER_INIT_MEMBER(m90_state,quizf1)
{
- m90_state *state = machine.driver_data<m90_state>();
- state->membank("bank1")->configure_entries(0, 16, state->memregion("user1")->base(), 0x10000);
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x04, 0x05, write16_delegate(FUNC(m90_state::quizf1_bankswitch_w),state));
+ membank("bank1")->configure_entries(0, 16, memregion("user1")->base(), 0x10000);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x04, 0x05, write16_delegate(FUNC(m90_state::quizf1_bankswitch_w),this));
}
-static DRIVER_INIT( bomblord )
+DRIVER_INIT_MEMBER(m90_state,bomblord)
{
- UINT16 *ROM = (UINT16 *)(machine.root_device().memregion("maincpu")->base());
+ UINT16 *ROM = (UINT16 *)(machine().root_device().memregion("maincpu")->base());
for (int i = 0; i < 0x100000 / 2; i += 4)
{
@@ -1207,20 +1206,20 @@ static DRIVER_INIT( bomblord )
-GAME( 1991, hasamu, 0, hasamu, hasamu, m90_state, 0, ROT0, "Irem", "Hasamu (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, dynablst, 0, bombrman, dynablst, m90_state, 0, ROT0, "Irem (licensed from Hudson Soft)", "Dynablaster / Bomber Man", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, bombrman, dynablst, bombrman, bombrman, m90_state, 0, ROT0, "Irem (licensed from Hudson Soft)", "Bomber Man (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, atompunk, dynablst, bombrman, atompunk, m90_state, 0, ROT0, "Irem America (licensed from Hudson Soft)", "Atomic Punk (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, dynablstb,dynablst, dynablsb, dynablsb, m90_state, 0, ROT0, "bootleg (Seitu)", "Dynablaster / Bomber Man (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, dynablstb2,dynablst,dynablsb, dynablsb, m90_state, 0, ROT0, "bootleg (Seitu)", "Dynablaster / Bomber Man (bootleg, alt)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1992, bbmanw, 0, bbmanw, bbmanw, m90_state, 0, ROT0, "Irem", "Bomber Man World / New Dyna Blaster - Global Quest", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1992, bbmanwj, bbmanw, bbmanwj, bbmanwj, m90_state, 0, ROT0, "Irem", "Bomber Man World (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1992, newapunk, bbmanw, bbmanw, bbmanwj, m90_state, 0, ROT0, "Irem America", "New Atomic Punk - Global Quest (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1991, hasamu, 0, hasamu, hasamu, driver_device, 0, ROT0, "Irem", "Hasamu (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1991, dynablst, 0, bombrman, dynablst, driver_device, 0, ROT0, "Irem (licensed from Hudson Soft)", "Dynablaster / Bomber Man", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1991, bombrman, dynablst, bombrman, bombrman, driver_device, 0, ROT0, "Irem (licensed from Hudson Soft)", "Bomber Man (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1991, atompunk, dynablst, bombrman, atompunk, driver_device, 0, ROT0, "Irem America (licensed from Hudson Soft)", "Atomic Punk (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1991, dynablstb,dynablst, dynablsb, dynablsb, driver_device, 0, ROT0, "bootleg (Seitu)", "Dynablaster / Bomber Man (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1991, dynablstb2,dynablst,dynablsb, dynablsb, driver_device, 0, ROT0, "bootleg (Seitu)", "Dynablaster / Bomber Man (bootleg, alt)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1992, bbmanw, 0, bbmanw, bbmanw, driver_device, 0, ROT0, "Irem", "Bomber Man World / New Dyna Blaster - Global Quest", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1992, bbmanwj, bbmanw, bbmanwj, bbmanwj, driver_device, 0, ROT0, "Irem", "Bomber Man World (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1992, newapunk, bbmanw, bbmanw, bbmanwj, driver_device, 0, ROT0, "Irem America", "New Atomic Punk - Global Quest (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1992, bomblord, bbmanw, bomblord, bbmanw, m90_state, bomblord, ROT0, "bootleg", "Bomber Lord (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1992, quizf1, 0, quizf1, quizf1, m90_state, quizf1, ROT0, "Irem", "Quiz F1 1-2 Finish (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, riskchal, 0, riskchal, riskchal, m90_state, 0, ROT0, "Irem", "Risky Challenge", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, gussun, riskchal, riskchal, riskchal, m90_state, 0, ROT0, "Irem", "Gussun Oyoyo (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, matchit2, 0, matchit2, matchit2, m90_state, 0, ROT0, "Tamtex", "Match It II", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, shisen2, matchit2, matchit2, shisen2, m90_state, 0, ROT0, "Tamtex", "Shisensho II", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, riskchal, 0, riskchal, riskchal, driver_device, 0, ROT0, "Irem", "Risky Challenge", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, gussun, riskchal, riskchal, riskchal, driver_device, 0, ROT0, "Irem", "Gussun Oyoyo (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, matchit2, 0, matchit2, matchit2, driver_device, 0, ROT0, "Tamtex", "Match It II", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, shisen2, matchit2, matchit2, shisen2, driver_device, 0, ROT0, "Tamtex", "Shisensho II", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c
index e52afd36741..cad22372d10 100644
--- a/src/mame/drivers/m92.c
+++ b/src/mame/drivers/m92.c
@@ -2153,76 +2153,70 @@ ROM_END
/***************************************************************************/
-static DRIVER_INIT( m92 )
+DRIVER_INIT_MEMBER(m92_state,m92)
{
- m92_state *state = machine.driver_data<m92_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->set_base(&ROM[0xa0000]);
+ membank("bank1")->set_base(&ROM[0xa0000]);
- state->m_game_kludge = 0;
- state->m_irq_vectorbase = 0x80;
+ m_game_kludge = 0;
+ m_irq_vectorbase = 0x80;
}
/* different vector base */
-static DRIVER_INIT( m92_alt )
+DRIVER_INIT_MEMBER(m92_state,m92_alt)
{
- m92_state *state = machine.driver_data<m92_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->set_base(&ROM[0xa0000]);
+ membank("bank1")->set_base(&ROM[0xa0000]);
- state->m_game_kludge = 0;
- state->m_irq_vectorbase = 0x20;
+ m_game_kludge = 0;
+ m_irq_vectorbase = 0x20;
}
/* different vector base, different address map (no bank1) */
-static DRIVER_INIT( lethalth )
+DRIVER_INIT_MEMBER(m92_state,lethalth)
{
- m92_state *state = machine.driver_data<m92_state>();
- state->m_game_kludge = 0;
- state->m_irq_vectorbase = 0x20;
+ m_game_kludge = 0;
+ m_irq_vectorbase = 0x20;
}
/* has bankswitching */
-static DRIVER_INIT( m92_bank )
+DRIVER_INIT_MEMBER(m92_state,m92_bank)
{
- m92_state *state = machine.driver_data<m92_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x80000], 0x20000);
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x20, 0x21, write16_delegate(FUNC(m92_state::m92_bankswitch_w),state));
+ membank("bank1")->configure_entries(0, 4, &ROM[0x80000], 0x20000);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x20, 0x21, write16_delegate(FUNC(m92_state::m92_bankswitch_w),this));
- state->m_game_kludge = 0;
- state->m_irq_vectorbase = 0x80;
+ m_game_kludge = 0;
+ m_irq_vectorbase = 0x80;
}
/* has bankswitching, has eeprom, needs sprite kludge */
-static DRIVER_INIT( majtitl2 )
+DRIVER_INIT_MEMBER(m92_state,majtitl2)
{
- m92_state *state = machine.driver_data<m92_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x80000], 0x20000);
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x20, 0x21, write16_delegate(FUNC(m92_state::m92_bankswitch_w),state));
+ membank("bank1")->configure_entries(0, 4, &ROM[0x80000], 0x20000);
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x20, 0x21, write16_delegate(FUNC(m92_state::m92_bankswitch_w),this));
/* This game has an eeprom on the game board */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0000, 0xf3fff, read16_delegate(FUNC(m92_state::m92_eeprom_r),state), write16_delegate(FUNC(m92_state::m92_eeprom_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0000, 0xf3fff, read16_delegate(FUNC(m92_state::m92_eeprom_r),this), write16_delegate(FUNC(m92_state::m92_eeprom_w),this));
- state->m_game_kludge = 2;
- state->m_irq_vectorbase = 0x80;
+ m_game_kludge = 2;
+ m_irq_vectorbase = 0x80;
}
/* TODO: figure out actual address map and other differences from real Irem h/w */
-static DRIVER_INIT( ppan )
+DRIVER_INIT_MEMBER(m92_state,ppan)
{
- m92_state *state = machine.driver_data<m92_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
- state->membank("bank1")->set_base(&ROM[0xa0000]);
+ UINT8 *ROM = memregion("maincpu")->base();
+ membank("bank1")->set_base(&ROM[0xa0000]);
- state->m_game_kludge = 0;
- state->m_irq_vectorbase = 0x80;
+ m_game_kludge = 0;
+ m_irq_vectorbase = 0x80;
}
/***************************************************************************/
diff --git a/src/mame/drivers/macrossp.c b/src/mame/drivers/macrossp.c
index d2a8a69e4b4..9eca06cc656 100644
--- a/src/mame/drivers/macrossp.c
+++ b/src/mame/drivers/macrossp.c
@@ -782,17 +782,15 @@ WRITE32_MEMBER(macrossp_state::quizmoon_speedup_w)
}
#endif
-static DRIVER_INIT( macrossp )
+DRIVER_INIT_MEMBER(macrossp_state,macrossp)
{
- macrossp_state *state = machine.driver_data<macrossp_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xf10158, 0xf1015b, write32_delegate(FUNC(macrossp_state::macrossp_speedup_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xf10158, 0xf1015b, write32_delegate(FUNC(macrossp_state::macrossp_speedup_w),this));
}
-static DRIVER_INIT( quizmoon )
+DRIVER_INIT_MEMBER(macrossp_state,quizmoon)
{
#ifdef UNUSED_FUNCTION
- macrossp_state *state = machine.driver_data<macrossp_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xf00020, 0xf00023, write32_delegate(FUNC(macrossp_state::quizmoon_speedup_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xf00020, 0xf00023, write32_delegate(FUNC(macrossp_state::quizmoon_speedup_w),this));
#endif
}
diff --git a/src/mame/drivers/macs.c b/src/mame/drivers/macs.c
index 597281366d1..fbc6b0dedee 100644
--- a/src/mame/drivers/macs.c
+++ b/src/mame/drivers/macs.c
@@ -76,6 +76,10 @@ public:
DECLARE_READ8_MEMBER(macs_input_r);
DECLARE_WRITE8_MEMBER(macs_rom_bank_w);
DECLARE_WRITE8_MEMBER(macs_output_w);
+ DECLARE_DRIVER_INIT(macs);
+ DECLARE_DRIVER_INIT(kisekaeh);
+ DECLARE_DRIVER_INIT(kisekaem);
+ DECLARE_DRIVER_INIT(macs2);
};
@@ -714,36 +718,32 @@ static MACHINE_RESET(macs)
state->membank("bank4")->set_base(machine.root_device().memregion("maincpu")->base() );
}
-static DRIVER_INIT(macs)
+DRIVER_INIT_MEMBER(macs_state,macs)
{
- macs_state *state = machine.driver_data<macs_state>();
- state->m_ram1=auto_alloc_array(machine, UINT8, 0x20000);
+ m_ram1=auto_alloc_array(machine(), UINT8, 0x20000);
st0016_game=10|0x80;
- state->m_rev = 1;
+ m_rev = 1;
}
-static DRIVER_INIT(macs2)
+DRIVER_INIT_MEMBER(macs_state,macs2)
{
- macs_state *state = machine.driver_data<macs_state>();
- state->m_ram1=auto_alloc_array(machine, UINT8, 0x20000);
+ m_ram1=auto_alloc_array(machine(), UINT8, 0x20000);
st0016_game=10|0x80;
- state->m_rev = 2;
+ m_rev = 2;
}
-static DRIVER_INIT(kisekaeh)
+DRIVER_INIT_MEMBER(macs_state,kisekaeh)
{
- macs_state *state = machine.driver_data<macs_state>();
- state->m_ram1=auto_alloc_array(machine, UINT8, 0x20000);
+ m_ram1=auto_alloc_array(machine(), UINT8, 0x20000);
st0016_game=11|0x180;
- state->m_rev = 1;
+ m_rev = 1;
}
-static DRIVER_INIT(kisekaem)
+DRIVER_INIT_MEMBER(macs_state,kisekaem)
{
- macs_state *state = machine.driver_data<macs_state>();
- state->m_ram1=auto_alloc_array(machine, UINT8, 0x20000);
+ m_ram1=auto_alloc_array(machine(), UINT8, 0x20000);
st0016_game=10|0x180;
- state->m_rev = 1;
+ m_rev = 1;
}
diff --git a/src/mame/drivers/madalien.c b/src/mame/drivers/madalien.c
index 4fdeebd0f05..13e4fb6b4f8 100644
--- a/src/mame/drivers/madalien.c
+++ b/src/mame/drivers/madalien.c
@@ -417,5 +417,5 @@ ROM_END
/* set parent machine inp init */
-GAME( 1980, madalien, 0, madalien, madalien, madalien_state, 0, ROT270, "Data East Corporation", "Mad Alien", GAME_SUPPORTS_SAVE )
-GAME( 1980, madaliena,madalien, madalien, madalien, madalien_state, 0, ROT270, "Data East Corporation", "Mad Alien (Highway Chase)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1980, madalien, 0, madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien", GAME_SUPPORTS_SAVE )
+GAME( 1980, madaliena,madalien, madalien, madalien, driver_device, 0, ROT270, "Data East Corporation", "Mad Alien (Highway Chase)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/madmotor.c b/src/mame/drivers/madmotor.c
index 487f566dd6a..1216baa67dd 100644
--- a/src/mame/drivers/madmotor.c
+++ b/src/mame/drivers/madmotor.c
@@ -349,9 +349,9 @@ ROM_END
/******************************************************************************/
-static DRIVER_INIT( madmotor )
+DRIVER_INIT_MEMBER(madmotor_state,madmotor)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int i;
for (i = 0x00000;i < 0x80000;i++)
diff --git a/src/mame/drivers/magic10.c b/src/mame/drivers/magic10.c
index d151c697f1f..57a8f5fce51 100644
--- a/src/mame/drivers/magic10.c
+++ b/src/mame/drivers/magic10.c
@@ -112,6 +112,11 @@ public:
DECLARE_READ16_MEMBER(hotslot_copro_r);
DECLARE_WRITE16_MEMBER(hotslot_copro_w);
DECLARE_WRITE16_MEMBER(magic10_out_w);
+ DECLARE_DRIVER_INIT(sgsafari);
+ DECLARE_DRIVER_INIT(suprpool);
+ DECLARE_DRIVER_INIT(magic102);
+ DECLARE_DRIVER_INIT(magic10);
+ DECLARE_DRIVER_INIT(hotslot);
};
@@ -1209,42 +1214,37 @@ ROM_END
* Driver Init *
****************************/
-static DRIVER_INIT( magic10 )
+DRIVER_INIT_MEMBER(magic10_state,magic10)
{
- magic10_state *state = machine.driver_data<magic10_state>();
- state->m_layer2_offset[0] = 32;
- state->m_layer2_offset[1] = 2;
+ m_layer2_offset[0] = 32;
+ m_layer2_offset[1] = 2;
}
-static DRIVER_INIT( magic102 )
+DRIVER_INIT_MEMBER(magic10_state,magic102)
{
- magic10_state *state = machine.driver_data<magic10_state>();
- state->m_layer2_offset[0] = 8;
- state->m_layer2_offset[1] = 20;
+ m_layer2_offset[0] = 8;
+ m_layer2_offset[1] = 20;
}
-static DRIVER_INIT( suprpool )
+DRIVER_INIT_MEMBER(magic10_state,suprpool)
{
- magic10_state *state = machine.driver_data<magic10_state>();
- state->m_layer2_offset[0] = 8;
- state->m_layer2_offset[1] = 16;
+ m_layer2_offset[0] = 8;
+ m_layer2_offset[1] = 16;
}
-static DRIVER_INIT( hotslot )
+DRIVER_INIT_MEMBER(magic10_state,hotslot)
{
- magic10_state *state = machine.driver_data<magic10_state>();
/* a value of -56 center the playfield, but displace the intro and initial screen.
a value of -64 center the intro and initial screen, but displace the playfield.
*/
- state->m_layer2_offset[0] = -56; // X offset.
- state->m_layer2_offset[1] = 0; // Y offset.
+ m_layer2_offset[0] = -56; // X offset.
+ m_layer2_offset[1] = 0; // Y offset.
}
-static DRIVER_INIT( sgsafari )
+DRIVER_INIT_MEMBER(magic10_state,sgsafari)
{
- magic10_state *state = machine.driver_data<magic10_state>();
- state->m_layer2_offset[0] = 16;
- state->m_layer2_offset[1] = 20;
+ m_layer2_offset[0] = 16;
+ m_layer2_offset[1] = 20;
}
diff --git a/src/mame/drivers/magicard.c b/src/mame/drivers/magicard.c
index dcc8b7afec2..82b43adc3fb 100644
--- a/src/mame/drivers/magicard.c
+++ b/src/mame/drivers/magicard.c
@@ -214,6 +214,7 @@ public:
DECLARE_WRITE16_MEMBER(scc68070_dma_ch2_w);
DECLARE_READ16_MEMBER(scc68070_mmu_r);
DECLARE_WRITE16_MEMBER(scc68070_mmu_w);
+ DECLARE_DRIVER_INIT(magicard);
};
@@ -833,7 +834,7 @@ ROM_END
* Driver Init *
*************************/
-static DRIVER_INIT( magicard )
+DRIVER_INIT_MEMBER(magicard_state,magicard)
{
//...
}
diff --git a/src/mame/drivers/magicfly.c b/src/mame/drivers/magicfly.c
index 7aabc8b28be..882379b1f2b 100644
--- a/src/mame/drivers/magicfly.c
+++ b/src/mame/drivers/magicfly.c
@@ -894,5 +894,5 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS... */
-GAME( 198?, magicfly, 0, magicfly, magicfly, magicfly_state, 0, ROT0, "P&A Games", "Magic Fly", 0 )
-GAME( 198?, 7mezzo, 0, 7mezzo, 7mezzo, magicfly_state, 0, ROT0, "<unknown>", "7 e Mezzo", 0 )
+GAME( 198?, magicfly, 0, magicfly, magicfly, driver_device, 0, ROT0, "P&A Games", "Magic Fly", 0 )
+GAME( 198?, 7mezzo, 0, 7mezzo, 7mezzo, driver_device, 0, ROT0, "<unknown>", "7 e Mezzo", 0 )
diff --git a/src/mame/drivers/magictg.c b/src/mame/drivers/magictg.c
index 13e6be45580..807fc3096d4 100644
--- a/src/mame/drivers/magictg.c
+++ b/src/mame/drivers/magictg.c
@@ -1022,6 +1022,6 @@ ROM_END
*
*************************************/
-GAME( 1997, magictg, 0, magictg, magictg, magictg_state, 0, ROT0, "Acclaim", "Magic the Gathering: Armageddon (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1997, magictga, magictg, magictg, magictg, magictg_state, 0, ROT0, "Acclaim", "Magic the Gathering: Armageddon (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1997, magictg, 0, magictg, magictg, driver_device, 0, ROT0, "Acclaim", "Magic the Gathering: Armageddon (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1997, magictga, magictg, magictg, magictg, driver_device, 0, ROT0, "Acclaim", "Magic the Gathering: Armageddon (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/magmax.c b/src/mame/drivers/magmax.c
index 2a30697c377..2a95649c6e0 100644
--- a/src/mame/drivers/magmax.c
+++ b/src/mame/drivers/magmax.c
@@ -437,4 +437,4 @@ ROM_START( magmax )
ROM_END
-GAME( 1985, magmax, 0, magmax, magmax, magmax_state, 0, ROT0, "Nichibutsu", "Mag Max", GAME_SUPPORTS_SAVE )
+GAME( 1985, magmax, 0, magmax, magmax, driver_device, 0, ROT0, "Nichibutsu", "Mag Max", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/magtouch.c b/src/mame/drivers/magtouch.c
index 5cf6cfd23ae..17b448dfffd 100644
--- a/src/mame/drivers/magtouch.c
+++ b/src/mame/drivers/magtouch.c
@@ -98,6 +98,7 @@ public:
DECLARE_READ8_MEMBER(magtouch_io_r);
DECLARE_WRITE8_MEMBER(magtouch_io_w);
DECLARE_WRITE_LINE_MEMBER(at_com_interrupt_1);
+ DECLARE_DRIVER_INIT(magtouch);
};
@@ -245,10 +246,10 @@ ROM_START(magtouch)
ROM_LOAD("mtouch.u22", 0x200000,0x100000, CRC(da39c860) SHA1(7648e063ec68575abd808d5dea933f292197a2c2) )
ROM_END
-static DRIVER_INIT(magtouch)
+DRIVER_INIT_MEMBER(magtouch_state,magtouch)
{
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
}
GAME( 1995, magtouch, 0, magtouch, magtouch, magtouch_state, magtouch, ROT0, "Micro Manufacturing", "Magical Touch", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/mainevt.c b/src/mame/drivers/mainevt.c
index e930871163c..aa0d8e10996 100644
--- a/src/mame/drivers/mainevt.c
+++ b/src/mame/drivers/mainevt.c
@@ -789,11 +789,11 @@ ROM_END
-GAME( 1988, mainevt, 0, mainevt, mainevt, mainevt_state, 0, ROT0, "Konami", "The Main Event (4 Players ver. Y)", GAME_SUPPORTS_SAVE )
-GAME( 1988, mainevto, mainevt, mainevt, mainevt, mainevt_state, 0, ROT0, "Konami", "The Main Event (4 Players ver. F)", GAME_SUPPORTS_SAVE )
-GAME( 1988, mainevt2p,mainevt, mainevt, mainev2p, mainevt_state, 0, ROT0, "Konami", "The Main Event (2 Players ver. X)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ringohja, mainevt, mainevt, mainev2p, mainevt_state, 0, ROT0, "Konami", "Ring no Ohja (Japan 2 Players ver. N)", GAME_SUPPORTS_SAVE )
-GAME( 1988, devstors, 0, devstors, devstors, mainevt_state, 0, ROT90, "Konami", "Devastators (ver. Z)", GAME_SUPPORTS_SAVE )
-GAME( 1988, devstors2,devstors, devstors, devstor2, mainevt_state, 0, ROT90, "Konami", "Devastators (ver. X)", GAME_SUPPORTS_SAVE )
-GAME( 1988, devstors3,devstors, devstors, devstors, mainevt_state, 0, ROT90, "Konami", "Devastators (ver. V)", GAME_SUPPORTS_SAVE )
-GAME( 1988, garuka, devstors, devstors, devstor2, mainevt_state, 0, ROT90, "Konami", "Garuka (Japan ver. W)", GAME_SUPPORTS_SAVE )
+GAME( 1988, mainevt, 0, mainevt, mainevt, driver_device, 0, ROT0, "Konami", "The Main Event (4 Players ver. Y)", GAME_SUPPORTS_SAVE )
+GAME( 1988, mainevto, mainevt, mainevt, mainevt, driver_device, 0, ROT0, "Konami", "The Main Event (4 Players ver. F)", GAME_SUPPORTS_SAVE )
+GAME( 1988, mainevt2p,mainevt, mainevt, mainev2p, driver_device, 0, ROT0, "Konami", "The Main Event (2 Players ver. X)", GAME_SUPPORTS_SAVE )
+GAME( 1988, ringohja, mainevt, mainevt, mainev2p, driver_device, 0, ROT0, "Konami", "Ring no Ohja (Japan 2 Players ver. N)", GAME_SUPPORTS_SAVE )
+GAME( 1988, devstors, 0, devstors, devstors, driver_device, 0, ROT90, "Konami", "Devastators (ver. Z)", GAME_SUPPORTS_SAVE )
+GAME( 1988, devstors2,devstors, devstors, devstor2, driver_device, 0, ROT90, "Konami", "Devastators (ver. X)", GAME_SUPPORTS_SAVE )
+GAME( 1988, devstors3,devstors, devstors, devstors, driver_device, 0, ROT90, "Konami", "Devastators (ver. V)", GAME_SUPPORTS_SAVE )
+GAME( 1988, garuka, devstors, devstors, devstor2, driver_device, 0, ROT90, "Konami", "Garuka (Japan ver. W)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mainsnk.c b/src/mame/drivers/mainsnk.c
index dca57d35e65..9e97e690ee1 100644
--- a/src/mame/drivers/mainsnk.c
+++ b/src/mame/drivers/mainsnk.c
@@ -488,5 +488,5 @@ ROM_START( canvas )
ROM_END
-GAME( 1984, mainsnk, 0, mainsnk, mainsnk, mainsnk_state, 0, ROT0, "SNK", "Main Event (1984)", 0)
-GAME( 1985, canvas, 0, mainsnk, canvas, mainsnk_state, 0, ROT0, "SNK", "Canvas Croquis", 0)
+GAME( 1984, mainsnk, 0, mainsnk, mainsnk, driver_device, 0, ROT0, "SNK", "Main Event (1984)", 0)
+GAME( 1985, canvas, 0, mainsnk, canvas, driver_device, 0, ROT0, "SNK", "Canvas Croquis", 0)
diff --git a/src/mame/drivers/majorpkr.c b/src/mame/drivers/majorpkr.c
index 7e2e713208f..28756032ef5 100644
--- a/src/mame/drivers/majorpkr.c
+++ b/src/mame/drivers/majorpkr.c
@@ -487,6 +487,7 @@ public:
DECLARE_WRITE8_MEMBER(lamps_a_w);
DECLARE_WRITE8_MEMBER(lamps_b_w);
DECLARE_WRITE8_MEMBER(pulses_w);
+ DECLARE_DRIVER_INIT(majorpkr);
};
@@ -1081,10 +1082,10 @@ ROM_END
* Driver Init *
*************************/
-static DRIVER_INIT( majorpkr )
+DRIVER_INIT_MEMBER(majorpkr_state,majorpkr)
{
- UINT8 * ROM = (UINT8 *)machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("rom_bank")->configure_entries(0, 4, &ROM[0x10000], 0x800);
+ UINT8 * ROM = (UINT8 *)machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("rom_bank")->configure_entries(0, 4, &ROM[0x10000], 0x800);
}
diff --git a/src/mame/drivers/malzak.c b/src/mame/drivers/malzak.c
index a05ce6525e1..92ce4a5271c 100644
--- a/src/mame/drivers/malzak.c
+++ b/src/mame/drivers/malzak.c
@@ -490,5 +490,5 @@ ROM_START( malzak2 )
ROM_END
-GAME( 19??, malzak, 0, malzak, malzak, malzak_state, 0, ROT0, "Kitronix", "Malzak", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 19??, malzak2, malzak, malzak2, malzak2, malzak_state, 0, ROT0, "Kitronix", "Malzak II", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 19??, malzak, 0, malzak, malzak, driver_device, 0, ROT0, "Kitronix", "Malzak", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 19??, malzak2, malzak, malzak2, malzak2, driver_device, 0, ROT0, "Kitronix", "Malzak II", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/manohman.c b/src/mame/drivers/manohman.c
index b332e0a9e1b..24997c45499 100644
--- a/src/mame/drivers/manohman.c
+++ b/src/mame/drivers/manohman.c
@@ -232,4 +232,4 @@ ROM_END
*********************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS... */
-GAME( 199?, manohman, 0, manohman, manohman, _manohman_state, 0, ROT0, "Merkur", "Mann, oh-Mann", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_REQUIRES_ARTWORK )
+GAME( 199?, manohman, 0, manohman, manohman, driver_device, 0, ROT0, "Merkur", "Mann, oh-Mann", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_REQUIRES_ARTWORK )
diff --git a/src/mame/drivers/mappy.c b/src/mame/drivers/mappy.c
index 2907a965bf0..a40ca63b8e5 100644
--- a/src/mame/drivers/mappy.c
+++ b/src/mame/drivers/mappy.c
@@ -2258,7 +2258,7 @@ WRITE8_MEMBER(mappy_state::grobda_DAC_w)
device->write_unsigned8((data << 4) | data);
}
-static DRIVER_INIT( grobda )
+DRIVER_INIT_MEMBER(mappy_state,grobda)
{
/* I think the speech in Grobda is not a standard Namco sound feature, but rather a hack.
The hardware automatically cycles the bottom 6 address lines of sound RAM, so they
@@ -2268,36 +2268,35 @@ static DRIVER_INIT( grobda )
However, removing the 15XX from the board causes sound to disappear completely, so
the DAC might be built-in after all.
*/
- mappy_state *state = machine.driver_data<mappy_state>();
- machine.device("sub")->memory().space(AS_PROGRAM)->install_write_handler(0x0002, 0x0002, write8_delegate(FUNC(mappy_state::grobda_DAC_w),state));
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_write_handler(0x0002, 0x0002, write8_delegate(FUNC(mappy_state::grobda_DAC_w),this));
}
-static DRIVER_INIT( digdug2 )
+DRIVER_INIT_MEMBER(mappy_state,digdug2)
{
/* appears to not use the watchdog */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x8000, 0x8000);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x8000, 0x8000);
}
/* 2x6809, static tilemap, 2bpp sprites (Super Pacman type) */
-GAME( 1982, superpac, 0, superpac, superpac, mappy_state, 0, ROT90, "Namco", "Super Pac-Man", GAME_SUPPORTS_SAVE )
-GAME( 1982, superpacm,superpac, superpac, superpac, mappy_state, 0, ROT90, "Namco (Bally Midway license)", "Super Pac-Man (Midway)", GAME_SUPPORTS_SAVE )
-GAME( 1983, pacnpal, 0, pacnpal, pacnpal, mappy_state, 0, ROT90, "Namco", "Pac & Pal", GAME_SUPPORTS_SAVE )
-GAME( 1983, pacnpal2, pacnpal, pacnpal, pacnpal, mappy_state, 0, ROT90, "Namco", "Pac & Pal (older)", GAME_SUPPORTS_SAVE )
-GAME( 1983, pacnchmp, pacnpal, pacnpal, pacnpal, mappy_state, 0, ROT90, "Namco", "Pac-Man & Chomp Chomp", GAME_SUPPORTS_SAVE )
+GAME( 1982, superpac, 0, superpac, superpac, driver_device, 0, ROT90, "Namco", "Super Pac-Man", GAME_SUPPORTS_SAVE )
+GAME( 1982, superpacm,superpac, superpac, superpac, driver_device, 0, ROT90, "Namco (Bally Midway license)", "Super Pac-Man (Midway)", GAME_SUPPORTS_SAVE )
+GAME( 1983, pacnpal, 0, pacnpal, pacnpal, driver_device, 0, ROT90, "Namco", "Pac & Pal", GAME_SUPPORTS_SAVE )
+GAME( 1983, pacnpal2, pacnpal, pacnpal, pacnpal, driver_device, 0, ROT90, "Namco", "Pac & Pal (older)", GAME_SUPPORTS_SAVE )
+GAME( 1983, pacnchmp, pacnpal, pacnpal, pacnpal, driver_device, 0, ROT90, "Namco", "Pac-Man & Chomp Chomp", GAME_SUPPORTS_SAVE )
GAME( 1984, grobda, 0, grobda, grobda, mappy_state, grobda, ROT90, "Namco", "Grobda (New Ver.)", GAME_SUPPORTS_SAVE )
GAME( 1984, grobda2, grobda, grobda, grobda, mappy_state, grobda, ROT90, "Namco", "Grobda (Old Ver. set 1)", GAME_SUPPORTS_SAVE )
GAME( 1984, grobda3, grobda, grobda, grobda, mappy_state, grobda, ROT90, "Namco", "Grobda (Old Ver. set 2)", GAME_SUPPORTS_SAVE )
/* 3x6809, static tilemap, 2bpp sprites (Gaplus type) */
-GAME( 1983, phozon, 0, phozon, phozon, mappy_state, 0, ROT90, "Namco", "Phozon (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1983, phozon, 0, phozon, phozon, driver_device, 0, ROT90, "Namco", "Phozon (Japan)", GAME_SUPPORTS_SAVE )
/* 2x6809, scroling tilemap, 4bpp sprites (Super Pacman type) */
-GAME( 1983, mappy, 0, mappy, mappy, mappy_state, 0, ROT90, "Namco", "Mappy (US)", GAME_SUPPORTS_SAVE )
-GAME( 1983, mappyj, mappy, mappy, mappy, mappy_state, 0, ROT90, "Namco", "Mappy (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, todruaga, 0, todruaga, todruaga, mappy_state, 0, ROT90, "Namco", "The Tower of Druaga (New Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1984, todruagao,todruaga, todruaga, todruaga, mappy_state, 0, ROT90, "Namco", "The Tower of Druaga (Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1984, todruagas,todruaga, todruaga, todruaga, mappy_state, 0, ROT90, "bootleg? (Sidam)", "The Tower of Druaga (Sidam)", GAME_SUPPORTS_SAVE )
+GAME( 1983, mappy, 0, mappy, mappy, driver_device, 0, ROT90, "Namco", "Mappy (US)", GAME_SUPPORTS_SAVE )
+GAME( 1983, mappyj, mappy, mappy, mappy, driver_device, 0, ROT90, "Namco", "Mappy (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, todruaga, 0, todruaga, todruaga, driver_device, 0, ROT90, "Namco", "The Tower of Druaga (New Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1984, todruagao,todruaga, todruaga, todruaga, driver_device, 0, ROT90, "Namco", "The Tower of Druaga (Old Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1984, todruagas,todruaga, todruaga, todruaga, driver_device, 0, ROT90, "bootleg? (Sidam)", "The Tower of Druaga (Sidam)", GAME_SUPPORTS_SAVE )
GAME( 1985, digdug2, 0, digdug2, digdug2, mappy_state, digdug2, ROT90, "Namco", "Dig Dug II (New Ver.)", GAME_SUPPORTS_SAVE )
GAME( 1985, digdug2o, digdug2, digdug2, digdug2, mappy_state, digdug2, ROT90, "Namco", "Dig Dug II (Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1985, motos, 0, motos, motos, mappy_state, 0, ROT90, "Namco", "Motos", GAME_SUPPORTS_SAVE )
+GAME( 1985, motos, 0, motos, motos, driver_device, 0, ROT90, "Namco", "Motos", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/marineb.c b/src/mame/drivers/marineb.c
index 393b1a8941d..91d81a9e581 100644
--- a/src/mame/drivers/marineb.c
+++ b/src/mame/drivers/marineb.c
@@ -880,13 +880,13 @@ ROM_END
/* year name parent machine inputs */
-GAME( 1982, marineb, 0, marineb, marineb, marineb_state, 0, ROT0, "Orca", "Marine Boy", GAME_SUPPORTS_SAVE )
-GAME( 1982, changes, 0, changes, changes, marineb_state, 0, ROT0, "Orca", "Changes", GAME_SUPPORTS_SAVE )
-GAME( 1982, changesa, changes, changes, changes, marineb_state, 0, ROT0, "Orca (Eastern Micro Electronics, Inc. license)", "Changes (EME license)", GAME_SUPPORTS_SAVE )
-GAME( 1982, looper, changes, changes, changes, marineb_state, 0, ROT0, "Orca", "Looper", GAME_SUPPORTS_SAVE )
-GAME( 1982, springer, 0, springer, marineb, marineb_state, 0, ROT270, "Orca", "Springer", GAME_SUPPORTS_SAVE )
-GAME( 1983, hoccer, 0, hoccer, hoccer, marineb_state, 0, ROT90, "Eastern Micro Electronics, Inc.", "Hoccer (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, hoccer2, hoccer, hoccer, hoccer, marineb_state, 0, ROT90, "Eastern Micro Electronics, Inc.", "Hoccer (set 2)" , GAME_SUPPORTS_SAVE ) /* earlier */
-GAME( 1983, bcruzm12, 0, bcruzm12, bcruzm12, marineb_state,0, ROT90, "Sigma Enterprises Inc.", "Battle Cruiser M-12", GAME_SUPPORTS_SAVE )
-GAME( 1983, hopprobo, 0, hopprobo, marineb, marineb_state, 0, ROT90, "Sega", "Hopper Robo", GAME_SUPPORTS_SAVE )
-GAME( 1984, wanted, 0, wanted, wanted, marineb_state, 0, ROT90, "Sigma Enterprises Inc.", "Wanted", GAME_SUPPORTS_SAVE )
+GAME( 1982, marineb, 0, marineb, marineb, driver_device, 0, ROT0, "Orca", "Marine Boy", GAME_SUPPORTS_SAVE )
+GAME( 1982, changes, 0, changes, changes, driver_device, 0, ROT0, "Orca", "Changes", GAME_SUPPORTS_SAVE )
+GAME( 1982, changesa, changes, changes, changes, driver_device, 0, ROT0, "Orca (Eastern Micro Electronics, Inc. license)", "Changes (EME license)", GAME_SUPPORTS_SAVE )
+GAME( 1982, looper, changes, changes, changes, driver_device, 0, ROT0, "Orca", "Looper", GAME_SUPPORTS_SAVE )
+GAME( 1982, springer, 0, springer, marineb, driver_device, 0, ROT270, "Orca", "Springer", GAME_SUPPORTS_SAVE )
+GAME( 1983, hoccer, 0, hoccer, hoccer, driver_device, 0, ROT90, "Eastern Micro Electronics, Inc.", "Hoccer (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, hoccer2, hoccer, hoccer, hoccer, driver_device, 0, ROT90, "Eastern Micro Electronics, Inc.", "Hoccer (set 2)" , GAME_SUPPORTS_SAVE ) /* earlier */
+GAME( 1983, bcruzm12, 0, bcruzm12, bcruzm12, driver_device,0, ROT90, "Sigma Enterprises Inc.", "Battle Cruiser M-12", GAME_SUPPORTS_SAVE )
+GAME( 1983, hopprobo, 0, hopprobo, marineb, driver_device, 0, ROT90, "Sega", "Hopper Robo", GAME_SUPPORTS_SAVE )
+GAME( 1984, wanted, 0, wanted, wanted, driver_device, 0, ROT90, "Sigma Enterprises Inc.", "Wanted", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/marinedt.c b/src/mame/drivers/marinedt.c
index 8b6c296cb0b..a4791231fe0 100644
--- a/src/mame/drivers/marinedt.c
+++ b/src/mame/drivers/marinedt.c
@@ -730,4 +730,4 @@ ROM_START( marinedt )
ROM_LOAD( "mg17.bpr", 0x0060, 0x0020, CRC(13261a02) SHA1(050edd18e4f79d19d5206f55f329340432fd4099) ) //?? table of increasing values
ROM_END
-GAME( 1981, marinedt, 0, marinedt, marinedt, marinedt_state, 0, ROT270, "Taito", "Marine Date", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, marinedt, 0, marinedt, marinedt, driver_device, 0, ROT270, "Taito", "Marine Date", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mario.c b/src/mame/drivers/mario.c
index 0e66fab21dd..cdb9f7ef993 100644
--- a/src/mame/drivers/mario.c
+++ b/src/mame/drivers/mario.c
@@ -550,8 +550,8 @@ ROM_END
*
*************************************/
-GAME( 1983, mario, 0, mario, marioo, mario_state, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Revision F)", GAME_SUPPORTS_SAVE )
-GAME( 1983, marioe, mario, mario, mario, mario_state, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Revision E)", GAME_SUPPORTS_SAVE )
-GAME( 1983, marioo, mario, mario, marioo, mario_state, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Unknown Rev)", GAME_SUPPORTS_SAVE )
-GAME( 1983, marioj, mario, mario, marioj, mario_state, 0, ROT0, "Nintendo", "Mario Bros. (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1983, masao, mario, masao, masao, mario_state, 0, ROT0, "bootleg", "Masao", GAME_SUPPORTS_SAVE )
+GAME( 1983, mario, 0, mario, marioo, driver_device, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Revision F)", GAME_SUPPORTS_SAVE )
+GAME( 1983, marioe, mario, mario, mario, driver_device, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Revision E)", GAME_SUPPORTS_SAVE )
+GAME( 1983, marioo, mario, mario, marioo, driver_device, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Unknown Rev)", GAME_SUPPORTS_SAVE )
+GAME( 1983, marioj, mario, mario, marioj, driver_device, 0, ROT0, "Nintendo", "Mario Bros. (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1983, masao, mario, masao, masao, driver_device, 0, ROT0, "bootleg", "Masao", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/markham.c b/src/mame/drivers/markham.c
index e29988d2bf7..6fca97b9f2d 100644
--- a/src/mame/drivers/markham.c
+++ b/src/mame/drivers/markham.c
@@ -259,4 +259,4 @@ ROM_START( markham )
ROM_END
-GAME( 1983, markham, 0, markham, markham, markham_state, 0, ROT0, "Sun Electronics", "Markham", GAME_SUPPORTS_SAVE )
+GAME( 1983, markham, 0, markham, markham, driver_device, 0, ROT0, "Sun Electronics", "Markham", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mastboy.c b/src/mame/drivers/mastboy.c
index fa135f73c65..a83f66aee44 100644
--- a/src/mame/drivers/mastboy.c
+++ b/src/mame/drivers/mastboy.c
@@ -475,6 +475,7 @@ public:
DECLARE_READ8_MEMBER(mastboy_port_38_read);
DECLARE_READ8_MEMBER(mastboy_nmi_read);
DECLARE_WRITE8_MEMBER(mastboy_msm5205_reset_w);
+ DECLARE_DRIVER_INIT(mastboy);
};
@@ -995,10 +996,9 @@ ROM_START( mastboyi )
/* 0x1c0000 to 0x1fffff EMPTY */
ROM_END
-static DRIVER_INIT( mastboy )
+DRIVER_INIT_MEMBER(mastboy_state,mastboy)
{
- mastboy_state *state = machine.driver_data<mastboy_state>();
- state->m_vram = state->memregion( "gfx1" )->base(); // makes decoding the RAM based tiles easier this way
+ m_vram = memregion( "gfx1" )->base(); // makes decoding the RAM based tiles easier this way
}
GAME( 1991, mastboy, 0, mastboy, mastboy, mastboy_state, mastboy, ROT0, "Gaelco", "Master Boy (Spanish, PCB Rev A)", 0 )
diff --git a/src/mame/drivers/matmania.c b/src/mame/drivers/matmania.c
index 2743ee52480..345ff363eae 100644
--- a/src/mame/drivers/matmania.c
+++ b/src/mame/drivers/matmania.c
@@ -672,7 +672,7 @@ ROM_END
*
*************************************/
-GAME( 1985, matmania, 0, matmania, matmania, matmania_state, 0, ROT270, "Technos Japan (Taito America license)", "Mat Mania", GAME_SUPPORTS_SAVE )
-GAME( 1985, excthour, matmania, matmania, maniach, matmania_state, 0, ROT270, "Technos Japan (Taito license)", "Exciting Hour", GAME_SUPPORTS_SAVE )
-GAME( 1986, maniach, 0, maniach, maniach, matmania_state, 0, ROT270, "Technos Japan (Taito America license)", "Mania Challenge (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, maniach2, maniach, maniach, maniach, matmania_state, 0, ROT270, "Technos Japan (Taito America license)", "Mania Challenge (set 2)", GAME_SUPPORTS_SAVE ) /* earlier version? */
+GAME( 1985, matmania, 0, matmania, matmania, driver_device, 0, ROT270, "Technos Japan (Taito America license)", "Mat Mania", GAME_SUPPORTS_SAVE )
+GAME( 1985, excthour, matmania, matmania, maniach, driver_device, 0, ROT270, "Technos Japan (Taito license)", "Exciting Hour", GAME_SUPPORTS_SAVE )
+GAME( 1986, maniach, 0, maniach, maniach, driver_device, 0, ROT270, "Technos Japan (Taito America license)", "Mania Challenge (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, maniach2, maniach, maniach, maniach, driver_device, 0, ROT270, "Technos Japan (Taito America license)", "Mania Challenge (set 2)", GAME_SUPPORTS_SAVE ) /* earlier version? */
diff --git a/src/mame/drivers/maxaflex.c b/src/mame/drivers/maxaflex.c
index 452e5a05d75..ddab3a92f25 100644
--- a/src/mame/drivers/maxaflex.c
+++ b/src/mame/drivers/maxaflex.c
@@ -57,6 +57,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_READ8_MEMBER(maxaflex_atari_pia_pa_r);
DECLARE_READ8_MEMBER(maxaflex_atari_pia_pb_r);
+ DECLARE_DRIVER_INIT(a600xl);
};
@@ -505,9 +506,9 @@ ROM_START(mf_flip)
ROM_LOAD("maxprom.prm", 0x0000, 0x0200, CRC(edf5c950) SHA1(9ad046ea41a61585dd8d2f2d4167a3cc39d2928f)) /* for simulating keystrokes ?*/
ROM_END
-static DRIVER_INIT( a600xl )
+DRIVER_INIT_MEMBER(maxaflex_state,a600xl)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
memcpy( rom + 0x5000, rom + 0xd000, 0x800 );
}
diff --git a/src/mame/drivers/maygay1b.c b/src/mame/drivers/maygay1b.c
index 850020c7aff..e3f6712d4d0 100644
--- a/src/mame/drivers/maygay1b.c
+++ b/src/mame/drivers/maygay1b.c
@@ -144,6 +144,7 @@ public:
DECLARE_WRITE8_MEMBER(m1_pia_porta_w);
DECLARE_WRITE8_MEMBER(m1_pia_portb_w);
DECLARE_WRITE8_MEMBER(m1_meter_w);
+ DECLARE_DRIVER_INIT(m1);
};
@@ -4422,22 +4423,21 @@ WRITE8_MEMBER(maygay1b_state::m1ab_no_oki_w)
popmessage("write to OKI, but no OKI rom");
}
-static DRIVER_INIT( m1 )
+DRIVER_INIT_MEMBER(maygay1b_state,m1)
{
//AM_RANGE(0x2420, 0x2421) AM_WRITE(latch_ch2_w ) // oki
// if there is no OKI region disable writes here, the rom might be missing, so alert user
- UINT8 *okirom = machine.root_device().memregion( "msm6376" )->base();
+ UINT8 *okirom = machine().root_device().memregion( "msm6376" )->base();
if (!okirom) {
- maygay1b_state *state = machine.driver_data<maygay1b_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x2420, 0x2421, write8_delegate(FUNC(maygay1b_state::m1ab_no_oki_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x2420, 0x2421, write8_delegate(FUNC(maygay1b_state::m1ab_no_oki_w), this));
}
// print out the rom id / header info to give us some hints
// note this isn't always correct, alley cat has 'Calpsyo' still in the ident string?
{
- UINT8 *cpu = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *cpu = machine().root_device().memregion( "maincpu" )->base();
int base = 0xff20;
for (int i=0;i<14;i++)
{
diff --git a/src/mame/drivers/maygayep.c b/src/mame/drivers/maygayep.c
index fe927175cac..70047cd4b83 100644
--- a/src/mame/drivers/maygayep.c
+++ b/src/mame/drivers/maygayep.c
@@ -44,6 +44,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(maygayep);
};
// bp 29e58 in ep_simp reads the 'INITIALISE . . .' string
@@ -70,9 +72,9 @@ INPUT_PORTS_END
dates don't appear to be accurate at least)
*/
-DRIVER_INIT( maygayep )
+DRIVER_INIT_MEMBER(maygayep_state,maygayep)
{
- UINT8 *src = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *src = machine().root_device().memregion( "maincpu" )->base();
for (int i=0x100;i<0x210;i++)
{
diff --git a/src/mame/drivers/maygaysw.c b/src/mame/drivers/maygaysw.c
index 02912241ce5..f5e81733e62 100644
--- a/src/mame/drivers/maygaysw.c
+++ b/src/mame/drivers/maygaysw.c
@@ -426,15 +426,15 @@ ROM_START( mg_scl )
ROM_END
// complete(?) dump
-GAME( 199?, mg_gbr , 0 , maygayew, maygayew, maygayew_state, 0, ROT0, "Maygay", "Guinness Book Of Records (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_risk , 0 , maygayew, maygayew, maygayew_state, 0, ROT0, "Maygay", "Risk (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_bb , 0 , maygayew, maygayew, maygayew_state, 0, ROT0, "Maygay", "Big Break (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_lug , 0 , maygayew, maygayew, maygayew_state, 0, ROT0, "Maygay", "London Underground (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_alad , 0 , maygayew, maygayew, maygayew_state, 0, ROT0, "Maygay", "Aladdin's Cave (Maygay M2)", GAME_IS_SKELETON )
+GAME( 199?, mg_gbr , 0 , maygayew, maygayew, driver_device, 0, ROT0, "Maygay", "Guinness Book Of Records (Maygay M2)", GAME_IS_SKELETON )
+GAME( 199?, mg_risk , 0 , maygayew, maygayew, driver_device, 0, ROT0, "Maygay", "Risk (Maygay M2)", GAME_IS_SKELETON )
+GAME( 199?, mg_bb , 0 , maygayew, maygayew, driver_device, 0, ROT0, "Maygay", "Big Break (Maygay M2)", GAME_IS_SKELETON )
+GAME( 199?, mg_lug , 0 , maygayew, maygayew, driver_device, 0, ROT0, "Maygay", "London Underground (Maygay M2)", GAME_IS_SKELETON )
+GAME( 199?, mg_alad , 0 , maygayew, maygayew, driver_device, 0, ROT0, "Maygay", "Aladdin's Cave (Maygay M2)", GAME_IS_SKELETON )
// incomplete dumps
-GAME( 199?, mg_ewg , 0 , maygayew, maygayew, maygayew_state, 0, ROT0, "Maygay", "Each Way Gambler (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_jv , 0 , maygayew, maygayew, maygayew_state, 0, ROT0, "Maygay", "Jack & Vera (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_pbw , 0 , maygayew, maygayew, maygayew_state, 0, ROT0, "Maygay", "Pinball Wizard (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_scl , 0 , maygayew, maygayew, maygayew_state, 0, ROT0, "Maygay", "Super Clue (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_kf , 0 , maygayew, maygayew, maygayew_state, 0, ROT0, "Maygay", "Krypton Factor (Maygay M2)", GAME_IS_SKELETON )
+GAME( 199?, mg_ewg , 0 , maygayew, maygayew, driver_device, 0, ROT0, "Maygay", "Each Way Gambler (Maygay M2)", GAME_IS_SKELETON )
+GAME( 199?, mg_jv , 0 , maygayew, maygayew, driver_device, 0, ROT0, "Maygay", "Jack & Vera (Maygay M2)", GAME_IS_SKELETON )
+GAME( 199?, mg_pbw , 0 , maygayew, maygayew, driver_device, 0, ROT0, "Maygay", "Pinball Wizard (Maygay M2)", GAME_IS_SKELETON )
+GAME( 199?, mg_scl , 0 , maygayew, maygayew, driver_device, 0, ROT0, "Maygay", "Super Clue (Maygay M2)", GAME_IS_SKELETON )
+GAME( 199?, mg_kf , 0 , maygayew, maygayew, driver_device, 0, ROT0, "Maygay", "Krypton Factor (Maygay M2)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/maygayv1.c b/src/mame/drivers/maygayv1.c
index c9da496f332..0666bbb5b92 100644
--- a/src/mame/drivers/maygayv1.c
+++ b/src/mame/drivers/maygayv1.c
@@ -237,6 +237,7 @@ public:
DECLARE_WRITE8_MEMBER(mcu_w);
DECLARE_READ8_MEMBER(b_read);
DECLARE_WRITE8_MEMBER(b_writ);
+ DECLARE_DRIVER_INIT(screenpl);
};
@@ -1407,10 +1408,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( screenpl )
+DRIVER_INIT_MEMBER(maygayv1_state,screenpl)
{
- maygayv1_state *state = machine.driver_data<maygayv1_state>();
- state->m_p1 = state->m_p3 = 0xff;
+ m_p1 = m_p3 = 0xff;
}
#define GAME_FLAGS GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_REQUIRES_ARTWORK
diff --git a/src/mame/drivers/mayumi.c b/src/mame/drivers/mayumi.c
index 4617f341d04..74468eb645e 100644
--- a/src/mame/drivers/mayumi.c
+++ b/src/mame/drivers/mayumi.c
@@ -436,4 +436,4 @@ ROM_END
*
*************************************/
-GAME( 1988, mayumi, 0, mayumi, mayumi, mayumi_state, 0, ROT0, "Sanritsu / Victory L.L.C.", "Kikiippatsu Mayumi-chan (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, mayumi, 0, mayumi, mayumi, driver_device, 0, ROT0, "Sanritsu / Victory L.L.C.", "Kikiippatsu Mayumi-chan (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mazerbla.c b/src/mame/drivers/mazerbla.c
index 5345cf886da..dff849096e1 100644
--- a/src/mame/drivers/mazerbla.c
+++ b/src/mame/drivers/mazerbla.c
@@ -137,6 +137,8 @@ public:
DECLARE_WRITE8_MEMBER(sound_nmi_clear_w);
DECLARE_WRITE8_MEMBER(gg_led_ctrl_w);
DECLARE_READ8_MEMBER(soundcommand_r);
+ DECLARE_DRIVER_INIT(mazerbla);
+ DECLARE_DRIVER_INIT(greatgun);
};
@@ -1705,18 +1707,16 @@ ROM_START( greatgun )
ROM_LOAD( "psb19",0x36000,0x2000, CRC(68752e0d) SHA1(58a4921e4f774af5e1ef7af67f06e9b43643ffab) )
ROM_END
-static DRIVER_INIT( mazerbla )
+DRIVER_INIT_MEMBER(mazerbla_state,mazerbla)
{
- mazerbla_state *state = machine.driver_data<mazerbla_state>();
- state->m_game_id = MAZERBLA;
+ m_game_id = MAZERBLA;
}
-static DRIVER_INIT( greatgun )
+DRIVER_INIT_MEMBER(mazerbla_state,greatgun)
{
- mazerbla_state *state = machine.driver_data<mazerbla_state>();
- UINT8 *rom = state->memregion("sub2")->base();
+ UINT8 *rom = memregion("sub2")->base();
- state->m_game_id = GREATGUN;
+ m_game_id = GREATGUN;
// patch VCU test
// VCU test starts at PC=0x56f
diff --git a/src/mame/drivers/mcatadv.c b/src/mame/drivers/mcatadv.c
index e515c4f0c93..5968adfd7ba 100644
--- a/src/mame/drivers/mcatadv.c
+++ b/src/mame/drivers/mcatadv.c
@@ -667,9 +667,9 @@ ROM_START( nostk )
ROM_END
-GAME( 1993, mcatadv, 0, mcatadv, mcatadv, mcatadv_state, 0, ROT0, "Wintechno", "Magical Cat Adventure", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, mcatadvj, mcatadv, mcatadv, mcatadv, mcatadv_state, 0, ROT0, "Wintechno", "Magical Cat Adventure (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, catt, mcatadv, mcatadv, mcatadv, mcatadv_state, 0, ROT0, "Wintechno", "Catt (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, nost, 0, nost, nost, mcatadv_state, 0, ROT270, "Face", "Nostradamus", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, nostj, nost, nost, nost, mcatadv_state, 0, ROT270, "Face", "Nostradamus (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, nostk, nost, nost, nost, mcatadv_state, 0, ROT270, "Face", "Nostradamus (Korea)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, mcatadv, 0, mcatadv, mcatadv, driver_device, 0, ROT0, "Wintechno", "Magical Cat Adventure", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, mcatadvj, mcatadv, mcatadv, mcatadv, driver_device, 0, ROT0, "Wintechno", "Magical Cat Adventure (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, catt, mcatadv, mcatadv, mcatadv, driver_device, 0, ROT0, "Wintechno", "Catt (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, nost, 0, nost, nost, driver_device, 0, ROT270, "Face", "Nostradamus", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, nostj, nost, nost, nost, driver_device, 0, ROT270, "Face", "Nostradamus (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, nostk, nost, nost, nost, driver_device, 0, ROT270, "Face", "Nostradamus (Korea)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c
index a5b240eeed4..1b7a90fe749 100644
--- a/src/mame/drivers/mcr.c
+++ b/src/mame/drivers/mcr.c
@@ -2538,121 +2538,112 @@ static void mcr_init(running_machine &machine, int cpuboard, int vidboard, int s
}
-static DRIVER_INIT( solarfox )
+DRIVER_INIT_MEMBER(mcr_state,solarfox)
{
- mcr_init(machine, 90009, 91399, 90908);
+ mcr_init(machine(), 90009, 91399, 90908);
- mcr_state *state = machine.driver_data<mcr_state>();
- machine.device<midway_ssio_device>("ssio")->set_custom_input(0, 0x1c, read8_delegate(FUNC(mcr_state::solarfox_ip0_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_input(1, 0xff, read8_delegate(FUNC(mcr_state::solarfox_ip1_r),state));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(0, 0x1c, read8_delegate(FUNC(mcr_state::solarfox_ip0_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(1, 0xff, read8_delegate(FUNC(mcr_state::solarfox_ip1_r),this));
mcr12_sprite_xoffs = 16;
}
-static DRIVER_INIT( kick )
+DRIVER_INIT_MEMBER(mcr_state,kick)
{
- mcr_init(machine, 90009, 91399, 90908);
+ mcr_init(machine(), 90009, 91399, 90908);
- mcr_state *state = machine.driver_data<mcr_state>();
- machine.device<midway_ssio_device>("ssio")->set_custom_input(1, 0xf0, read8_delegate(FUNC(mcr_state::kick_ip1_r),state));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(1, 0xf0, read8_delegate(FUNC(mcr_state::kick_ip1_r),this));
mcr12_sprite_xoffs_flip = 16;
}
-static DRIVER_INIT( mcr_90010 )
+DRIVER_INIT_MEMBER(mcr_state,mcr_90010)
{
- mcr_init(machine, 90010, 91399, 90913);
+ mcr_init(machine(), 90010, 91399, 90913);
}
-static DRIVER_INIT( wacko )
+DRIVER_INIT_MEMBER(mcr_state,wacko)
{
- mcr_init(machine, 90010, 91399, 90913);
+ mcr_init(machine(), 90010, 91399, 90913);
- mcr_state *state = machine.driver_data<mcr_state>();
- machine.device<midway_ssio_device>("ssio")->set_custom_input(1, 0xff, read8_delegate(FUNC(mcr_state::wacko_ip1_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_input(2, 0xff, read8_delegate(FUNC(mcr_state::wacko_ip2_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_output(4, 0x01, write8_delegate(FUNC(mcr_state::wacko_op4_w),state));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(1, 0xff, read8_delegate(FUNC(mcr_state::wacko_ip1_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(2, 0xff, read8_delegate(FUNC(mcr_state::wacko_ip2_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_output(4, 0x01, write8_delegate(FUNC(mcr_state::wacko_op4_w),this));
}
-static DRIVER_INIT( twotiger )
+DRIVER_INIT_MEMBER(mcr_state,twotiger)
{
- mcr_init(machine, 90010, 91399, 90913);
+ mcr_init(machine(), 90010, 91399, 90913);
- mcr_state *state = machine.driver_data<mcr_state>();
- machine.device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::twotiger_op4_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xe800, 0xefff, 0, 0x1000, read8_delegate(FUNC(mcr_state::twotiger_videoram_r),state), write8_delegate(FUNC(mcr_state::twotiger_videoram_w),state));
+ machine().device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::twotiger_op4_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xe800, 0xefff, 0, 0x1000, read8_delegate(FUNC(mcr_state::twotiger_videoram_r),this), write8_delegate(FUNC(mcr_state::twotiger_videoram_w),this));
}
-static DRIVER_INIT( kroozr )
+DRIVER_INIT_MEMBER(mcr_state,kroozr)
{
- mcr_init(machine, 90010, 91399, 91483);
+ mcr_init(machine(), 90010, 91399, 91483);
- mcr_state *state = machine.driver_data<mcr_state>();
- machine.device<midway_ssio_device>("ssio")->set_custom_input(1, 0x47, read8_delegate(FUNC(mcr_state::kroozr_ip1_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_output(4, 0x34, write8_delegate(FUNC(mcr_state::kroozr_op4_w),state));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(1, 0x47, read8_delegate(FUNC(mcr_state::kroozr_ip1_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_output(4, 0x34, write8_delegate(FUNC(mcr_state::kroozr_op4_w),this));
}
-static DRIVER_INIT( journey )
+DRIVER_INIT_MEMBER(mcr_state,journey)
{
- mcr_init(machine, 91475, 91464, 90913);
+ mcr_init(machine(), 91475, 91464, 90913);
- mcr_state *state = machine.driver_data<mcr_state>();
- machine.device<midway_ssio_device>("ssio")->set_custom_output(4, 0x01, write8_delegate(FUNC(mcr_state::journey_op4_w),state));
+ machine().device<midway_ssio_device>("ssio")->set_custom_output(4, 0x01, write8_delegate(FUNC(mcr_state::journey_op4_w),this));
}
-static DRIVER_INIT( mcr_91490 )
+DRIVER_INIT_MEMBER(mcr_state,mcr_91490)
{
- mcr_init(machine, 91490, 91464, 90913);
+ mcr_init(machine(), 91490, 91464, 90913);
}
-static DRIVER_INIT( dotrone )
+DRIVER_INIT_MEMBER(mcr_state,dotrone)
{
- mcr_init(machine, 91490, 91464, 91657);
+ mcr_init(machine(), 91490, 91464, 91657);
- mcr_state *state = machine.driver_data<mcr_state>();
- machine.device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::dotron_op4_w),state));
+ machine().device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::dotron_op4_w),this));
}
-static DRIVER_INIT( nflfoot )
+DRIVER_INIT_MEMBER(mcr_state,nflfoot)
{
- mcr_init(machine, 91490, 91464, 91657);
+ mcr_init(machine(), 91490, 91464, 91657);
- mcr_state *state = machine.driver_data<mcr_state>();
- machine.device<midway_ssio_device>("ssio")->set_custom_input(2, 0x80, read8_delegate(FUNC(mcr_state::nflfoot_ip2_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::nflfoot_op4_w),state));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(2, 0x80, read8_delegate(FUNC(mcr_state::nflfoot_ip2_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::nflfoot_op4_w),this));
nflfoot_serial_out_active = FALSE;
nflfoot_serial_in_active = FALSE;
- state_save_register_global(machine, nflfoot_serial_out_active);
- state_save_register_global(machine, nflfoot_serial_out_bits);
- state_save_register_global(machine, nflfoot_serial_out_numbits);
- state_save_register_global(machine, nflfoot_serial_in_active);
- state_save_register_global(machine, nflfoot_serial_in_bits);
- state_save_register_global(machine, nflfoot_serial_in_numbits);
+ state_save_register_global(machine(), nflfoot_serial_out_active);
+ state_save_register_global(machine(), nflfoot_serial_out_bits);
+ state_save_register_global(machine(), nflfoot_serial_out_numbits);
+ state_save_register_global(machine(), nflfoot_serial_in_active);
+ state_save_register_global(machine(), nflfoot_serial_in_bits);
+ state_save_register_global(machine(), nflfoot_serial_in_numbits);
}
-static DRIVER_INIT( demoderb )
+DRIVER_INIT_MEMBER(mcr_state,demoderb)
{
- mcr_init(machine, 91490, 91464, 90913);
+ mcr_init(machine(), 91490, 91464, 90913);
- mcr_state *state = machine.driver_data<mcr_state>();
- machine.device<midway_ssio_device>("ssio")->set_custom_input(1, 0xfc, read8_delegate(FUNC(mcr_state::demoderb_ip1_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_input(2, 0xfc, read8_delegate(FUNC(mcr_state::demoderb_ip2_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::demoderb_op4_w),state));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(1, 0xfc, read8_delegate(FUNC(mcr_state::demoderb_ip1_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(2, 0xfc, read8_delegate(FUNC(mcr_state::demoderb_ip2_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr_state::demoderb_op4_w),this));
/* the SSIO Z80 doesn't have any program to execute */
- machine.device<cpu_device>("ssio:cpu")->suspend(SUSPEND_REASON_DISABLE, 1);
+ machine().device<cpu_device>("ssio:cpu")->suspend(SUSPEND_REASON_DISABLE, 1);
}
diff --git a/src/mame/drivers/mcr3.c b/src/mame/drivers/mcr3.c
index a3b163a0289..b3b63103917 100644
--- a/src/mame/drivers/mcr3.c
+++ b/src/mame/drivers/mcr3.c
@@ -1522,109 +1522,100 @@ static void mcr_common_init(running_machine &machine)
}
-static DRIVER_INIT( demoderm )
+DRIVER_INIT_MEMBER(mcr3_state,demoderm)
{
- mcr_common_init(machine);
- mcr3_state *state = machine.driver_data<mcr3_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x01, 0x01, read8_delegate(FUNC(mcr3_state::demoderm_ip1_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x02, 0x02, read8_delegate(FUNC(mcr3_state::demoderm_ip2_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::demoderm_op6_w),state));
+ mcr_common_init(machine());
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x01, 0x01, read8_delegate(FUNC(mcr3_state::demoderm_ip1_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x02, 0x02, read8_delegate(FUNC(mcr3_state::demoderm_ip2_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::demoderm_op6_w),this));
}
-static DRIVER_INIT( sarge )
+DRIVER_INIT_MEMBER(mcr3_state,sarge)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- mcr_common_init(machine);
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(midway_turbo_chip_squeak_device::write),state->m_turbo_chip_squeak.target()));
+ mcr_common_init(machine());
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(midway_turbo_chip_squeak_device::write),m_turbo_chip_squeak.target()));
}
-static DRIVER_INIT( maxrpm )
+DRIVER_INIT_MEMBER(mcr3_state,maxrpm)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- mcr_common_init(machine);
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x01, 0x01, read8_delegate(FUNC(mcr3_state::maxrpm_ip1_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x02, 0x02, read8_delegate(FUNC(mcr3_state::maxrpm_ip2_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x05, 0x05, write8_delegate(FUNC(mcr3_state::maxrpm_op5_w),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::maxrpm_op6_w),state));
-
- state_save_register_global(machine, state->m_maxrpm_adc_control);
- state_save_register_global(machine, state->m_maxrpm_adc_select);
- state_save_register_global(machine, state->m_maxrpm_last_shift);
- state_save_register_global(machine, state->m_maxrpm_p1_shift);
- state_save_register_global(machine, state->m_maxrpm_p2_shift);
+ mcr_common_init(machine());
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x01, 0x01, read8_delegate(FUNC(mcr3_state::maxrpm_ip1_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x02, 0x02, read8_delegate(FUNC(mcr3_state::maxrpm_ip2_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x05, 0x05, write8_delegate(FUNC(mcr3_state::maxrpm_op5_w),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::maxrpm_op6_w),this));
+
+ state_save_register_global(machine(), m_maxrpm_adc_control);
+ state_save_register_global(machine(), m_maxrpm_adc_select);
+ state_save_register_global(machine(), m_maxrpm_last_shift);
+ state_save_register_global(machine(), m_maxrpm_p1_shift);
+ state_save_register_global(machine(), m_maxrpm_p2_shift);
}
-static DRIVER_INIT( rampage )
+DRIVER_INIT_MEMBER(mcr3_state,rampage)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- mcr_common_init(machine);
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x04, 0x04, read8_delegate(FUNC(mcr3_state::rampage_ip4_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::rampage_op6_w),state));
+ mcr_common_init(machine());
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x04, 0x04, read8_delegate(FUNC(mcr3_state::rampage_ip4_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::rampage_op6_w),this));
}
-static DRIVER_INIT( powerdrv )
+DRIVER_INIT_MEMBER(mcr3_state,powerdrv)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- mcr_common_init(machine);
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x02, 0x02, read8_delegate(FUNC(mcr3_state::powerdrv_ip2_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x05, 0x05, write8_delegate(FUNC(mcr3_state::powerdrv_op5_w),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::powerdrv_op6_w),state));
+ mcr_common_init(machine());
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x02, 0x02, read8_delegate(FUNC(mcr3_state::powerdrv_ip2_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x05, 0x05, write8_delegate(FUNC(mcr3_state::powerdrv_op5_w),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::powerdrv_op6_w),this));
}
-static DRIVER_INIT( stargrds )
+DRIVER_INIT_MEMBER(mcr3_state,stargrds)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- mcr_common_init(machine);
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x00, read8_delegate(FUNC(mcr3_state::stargrds_ip0_r),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x05, 0x05, write8_delegate(FUNC(mcr3_state::stargrds_op5_w),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::stargrds_op6_w),state));
+ mcr_common_init(machine());
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x00, read8_delegate(FUNC(mcr3_state::stargrds_ip0_r),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x05, 0x05, write8_delegate(FUNC(mcr3_state::stargrds_op5_w),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x06, write8_delegate(FUNC(mcr3_state::stargrds_op6_w),this));
}
-static DRIVER_INIT( spyhunt )
+DRIVER_INIT_MEMBER(mcr3_state,spyhunt)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- mcr_common_init(machine);
- machine.device<midway_ssio_device>("ssio")->set_custom_input(1, 0x60, read8_delegate(FUNC(mcr3_state::spyhunt_ip1_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_input(2, 0xff, read8_delegate(FUNC(mcr3_state::spyhunt_ip2_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr3_state::spyhunt_op4_w),state));
+ mcr_common_init(machine());
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(1, 0x60, read8_delegate(FUNC(mcr3_state::spyhunt_ip1_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(2, 0xff, read8_delegate(FUNC(mcr3_state::spyhunt_ip2_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr3_state::spyhunt_op4_w),this));
- state->m_spyhunt_sprite_color_mask = 0x00;
- state->m_spyhunt_scroll_offset = 16;
+ m_spyhunt_sprite_color_mask = 0x00;
+ m_spyhunt_scroll_offset = 16;
}
-static DRIVER_INIT( crater )
+DRIVER_INIT_MEMBER(mcr3_state,crater)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- mcr_common_init(machine);
+ mcr_common_init(machine());
- state->m_spyhunt_sprite_color_mask = 0x03;
- state->m_spyhunt_scroll_offset = 96;
+ m_spyhunt_sprite_color_mask = 0x03;
+ m_spyhunt_scroll_offset = 96;
}
-static DRIVER_INIT( turbotag )
+DRIVER_INIT_MEMBER(mcr3_state,turbotag)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- mcr_common_init(machine);
- machine.device<midway_ssio_device>("ssio")->set_custom_input(1, 0x60, read8_delegate(FUNC(mcr3_state::spyhunt_ip1_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_input(2, 0xff, read8_delegate(FUNC(mcr3_state::turbotag_ip2_r),state));
- machine.device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr3_state::spyhunt_op4_w),state));
+ mcr_common_init(machine());
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(1, 0x60, read8_delegate(FUNC(mcr3_state::spyhunt_ip1_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_input(2, 0xff, read8_delegate(FUNC(mcr3_state::turbotag_ip2_r),this));
+ machine().device<midway_ssio_device>("ssio")->set_custom_output(4, 0xff, write8_delegate(FUNC(mcr3_state::spyhunt_op4_w),this));
- state->m_spyhunt_sprite_color_mask = 0x00;
- state->m_spyhunt_scroll_offset = 88;
+ m_spyhunt_sprite_color_mask = 0x00;
+ m_spyhunt_scroll_offset = 88;
/* the SSIO Z80 doesn't have any program to execute */
- machine.device<cpu_device>("csd:cpu")->suspend(SUSPEND_REASON_DISABLE, 1);
+ machine().device<cpu_device>("csd:cpu")->suspend(SUSPEND_REASON_DISABLE, 1);
/* kludge for bad ROM read */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0b53, 0x0b53, read8_delegate(FUNC(mcr3_state::turbotag_kludge_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0b53, 0x0b53, read8_delegate(FUNC(mcr3_state::turbotag_kludge_r),this));
}
diff --git a/src/mame/drivers/mcr68.c b/src/mame/drivers/mcr68.c
index d2e3ba4267d..cec7259e265 100644
--- a/src/mame/drivers/mcr68.c
+++ b/src/mame/drivers/mcr68.c
@@ -1554,116 +1554,108 @@ static void mcr68_common_init(running_machine &machine, int clip, int xoffset)
}
-static DRIVER_INIT( zwackery )
+DRIVER_INIT_MEMBER(mcr68_state,zwackery)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- mcr68_common_init(machine, 0, 0);
+ mcr68_common_init(machine(), 0, 0);
/* Zwackery doesn't care too much about this value; currently taken from Blasted */
- state->m_timing_factor = attotime::from_hz(machine.device("maincpu")->unscaled_clock() / 10) * (256 + 16);
+ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16);
}
-static DRIVER_INIT( xenophob )
+DRIVER_INIT_MEMBER(mcr68_state,xenophob)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- mcr68_common_init(machine, 0, -4);
+ mcr68_common_init(machine(), 0, -4);
/* Xenophobe doesn't care too much about this value; currently taken from Blasted */
- state->m_timing_factor = attotime::from_hz(machine.device("maincpu")->unscaled_clock() / 10) * (256 + 16);
+ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16);
/* install control port handler */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0cffff, write16_delegate(FUNC(mcr68_state::xenophobe_control_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0cffff, write16_delegate(FUNC(mcr68_state::xenophobe_control_w),this));
}
-static DRIVER_INIT( spyhunt2 )
+DRIVER_INIT_MEMBER(mcr68_state,spyhunt2)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- mcr68_common_init(machine, 0, -6);
+ mcr68_common_init(machine(), 0, -6);
/* Spy Hunter 2 doesn't care too much about this value; currently taken from Blasted */
- state->m_timing_factor = attotime::from_hz(machine.device("maincpu")->unscaled_clock() / 10) * (256 + 16);
+ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16);
/* analog port handling is a bit tricky */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0cffff, write16_delegate(FUNC(mcr68_state::spyhunt2_control_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0d0000, 0x0dffff, read16_delegate(FUNC(mcr68_state::spyhunt2_port_0_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0e0000, 0x0effff, read16_delegate(FUNC(mcr68_state::spyhunt2_port_1_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0cffff, write16_delegate(FUNC(mcr68_state::spyhunt2_control_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0d0000, 0x0dffff, read16_delegate(FUNC(mcr68_state::spyhunt2_port_0_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0e0000, 0x0effff, read16_delegate(FUNC(mcr68_state::spyhunt2_port_1_r),this));
}
-static DRIVER_INIT( blasted )
+DRIVER_INIT_MEMBER(mcr68_state,blasted)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- mcr68_common_init(machine, 0, 0);
+ mcr68_common_init(machine(), 0, 0);
/* Blasted checks the timing of VBLANK relative to the 493 interrupt */
/* VBLANK is required to come within 220-256 E clocks (i.e., 2200-2560 CPU clocks) */
/* after the 493; we also allow 16 E clocks for latency */
- state->m_timing_factor = attotime::from_hz(machine.device("maincpu")->unscaled_clock() / 10) * (256 + 16);
+ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16);
/* handle control writes */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0cffff, write16_delegate(FUNC(mcr68_state::blasted_control_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0cffff, write16_delegate(FUNC(mcr68_state::blasted_control_w),this));
/* 6840 is mapped to the lower 8 bits */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x0a0000, 0x0a000f, read16_delegate(FUNC(mcr68_state::mcr68_6840_lower_r),state), write16_delegate(FUNC(mcr68_state::mcr68_6840_lower_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x0a0000, 0x0a000f, read16_delegate(FUNC(mcr68_state::mcr68_6840_lower_r),this), write16_delegate(FUNC(mcr68_state::mcr68_6840_lower_w),this));
}
-static DRIVER_INIT( intlaser )
+DRIVER_INIT_MEMBER(mcr68_state,intlaser)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- mcr68_common_init(machine, 0, 0);
+ mcr68_common_init(machine(), 0, 0);
/* Copied from Blasted */
- state->m_timing_factor = attotime::from_hz(machine.device("maincpu")->unscaled_clock() / 10) * (256 + 16);
+ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16);
/* handle control writes */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0cffff, write16_delegate(FUNC(mcr68_state::blasted_control_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0cffff, write16_delegate(FUNC(mcr68_state::blasted_control_w),this));
}
-static DRIVER_INIT( archrivl )
+DRIVER_INIT_MEMBER(mcr68_state,archrivl)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- mcr68_common_init(machine, 16, 0);
+ mcr68_common_init(machine(), 16, 0);
/* Arch Rivals doesn't care too much about this value; currently taken from Blasted */
- state->m_timing_factor = attotime::from_hz(machine.device("maincpu")->unscaled_clock() / 10) * (256 + 16);
+ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * (256 + 16);
/* handle control writes */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0cffff, write16_delegate(FUNC(mcr68_state::archrivl_control_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0c0000, 0x0cffff, write16_delegate(FUNC(mcr68_state::archrivl_control_w),this));
/* 49-way joystick handling is a bit tricky */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0e0000, 0x0effff, read16_delegate(FUNC(mcr68_state::archrivl_port_1_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0e0000, 0x0effff, read16_delegate(FUNC(mcr68_state::archrivl_port_1_r),this));
/* 6840 is mapped to the lower 8 bits */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x0a0000, 0x0a000f, read16_delegate(FUNC(mcr68_state::mcr68_6840_lower_r),state), write16_delegate(FUNC(mcr68_state::mcr68_6840_lower_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x0a0000, 0x0a000f, read16_delegate(FUNC(mcr68_state::mcr68_6840_lower_r),this), write16_delegate(FUNC(mcr68_state::mcr68_6840_lower_w),this));
}
-static DRIVER_INIT( pigskin )
+DRIVER_INIT_MEMBER(mcr68_state,pigskin)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- mcr68_common_init(machine, 16, 0);
+ mcr68_common_init(machine(), 16, 0);
/* Pigskin doesn't care too much about this value; currently taken from Tri-Sports */
- state->m_timing_factor = attotime::from_hz(machine.device("maincpu")->unscaled_clock() / 10) * 115;
+ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * 115;
- state_save_register_global_array(machine, state->m_protection_data);
+ state_save_register_global_array(machine(), m_protection_data);
}
-static DRIVER_INIT( trisport )
+DRIVER_INIT_MEMBER(mcr68_state,trisport)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- mcr68_common_init(machine, 0, 0);
+ mcr68_common_init(machine(), 0, 0);
/* Tri-Sports checks the timing of VBLANK relative to the 493 interrupt */
/* VBLANK is required to come within 87-119 E clocks (i.e., 870-1190 CPU clocks) */
/* after the 493 */
- state->m_timing_factor = attotime::from_hz(machine.device("maincpu")->unscaled_clock() / 10) * 115;
+ m_timing_factor = attotime::from_hz(machine().device("maincpu")->unscaled_clock() / 10) * 115;
}
diff --git a/src/mame/drivers/meadows.c b/src/mame/drivers/meadows.c
index 96ec7e7b0c7..3ed5b171aee 100644
--- a/src/mame/drivers/meadows.c
+++ b/src/mame/drivers/meadows.c
@@ -862,7 +862,7 @@ ROM_END
*************************************/
/* A fake for the missing ball sprites #3 and #4 */
-static DRIVER_INIT( gypsyjug )
+DRIVER_INIT_MEMBER(meadows_state,gypsyjug)
{
static const UINT8 ball[16*2] =
{
@@ -872,12 +872,12 @@ static DRIVER_INIT( gypsyjug )
0x01,0x80, 0x03,0xc0, 0x03,0xc0, 0x01,0x80
};
int i;
- UINT8 *gfx2 = machine.root_device().memregion("gfx2")->base();
- UINT8 *gfx3 = machine.root_device().memregion("gfx3")->base();
- UINT8 *gfx4 = machine.root_device().memregion("gfx4")->base();
- UINT8 *gfx5 = machine.root_device().memregion("gfx5")->base();
- int len3 = machine.root_device().memregion("gfx3")->bytes();
- int len4 = machine.root_device().memregion("gfx4")->bytes();
+ UINT8 *gfx2 = machine().root_device().memregion("gfx2")->base();
+ UINT8 *gfx3 = machine().root_device().memregion("gfx3")->base();
+ UINT8 *gfx4 = machine().root_device().memregion("gfx4")->base();
+ UINT8 *gfx5 = machine().root_device().memregion("gfx5")->base();
+ int len3 = machine().root_device().memregion("gfx3")->bytes();
+ int len4 = machine().root_device().memregion("gfx4")->bytes();
memcpy(gfx3,gfx2,len3);
@@ -890,14 +890,14 @@ static DRIVER_INIT( gypsyjug )
/* A fake for inverting the data bus */
-static DRIVER_INIT( minferno )
+DRIVER_INIT_MEMBER(meadows_state,minferno)
{
int i, length;
UINT8 *mem;
/* create an inverted copy of the graphics data */
- mem = machine.root_device().memregion("gfx1")->base();
- length = machine.root_device().memregion("gfx1")->bytes();
+ mem = machine().root_device().memregion("gfx1")->base();
+ length = machine().root_device().memregion("gfx1")->bytes();
for (i = 0; i < length/2; i++)
mem[i] = ~mem[i + length/2];
}
@@ -910,7 +910,7 @@ static DRIVER_INIT( minferno )
*
*************************************/
-GAMEL( 1978, deadeye, 0, meadows, meadows, meadows_state, 0, ROT0, "Meadows Games, Inc.", "Dead Eye", 0, layout_deadeye )
-GAME ( 1978, bowl3d, 0, bowl3d, bowl3d, meadows_state, 0, ROT90, "Meadows Games, Inc.", "3-D Bowling", GAME_NO_SOUND )
+GAMEL( 1978, deadeye, 0, meadows, meadows, driver_device, 0, ROT0, "Meadows Games, Inc.", "Dead Eye", 0, layout_deadeye )
+GAME ( 1978, bowl3d, 0, bowl3d, bowl3d, driver_device, 0, ROT90, "Meadows Games, Inc.", "3-D Bowling", GAME_NO_SOUND )
GAMEL( 1978, gypsyjug, 0, meadows, meadows, meadows_state, gypsyjug, ROT0, "Meadows Games, Inc.", "Gypsy Juggler", GAME_IMPERFECT_GRAPHICS, layout_gypsyjug )
GAME ( 1978, minferno, 0, minferno, minferno, meadows_state, minferno, ROT0, "Meadows Games, Inc.", "Inferno (Meadows)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/mediagx.c b/src/mame/drivers/mediagx.c
index 8df33acb232..f67bb9fc971 100644
--- a/src/mame/drivers/mediagx.c
+++ b/src/mame/drivers/mediagx.c
@@ -182,6 +182,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(pc_dack3_w);
DECLARE_WRITE_LINE_MEMBER(mediagx_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
+ DECLARE_DRIVER_INIT(a51site4);
};
// Display controller registers
@@ -1331,12 +1332,12 @@ static const speedup_entry a51site4_speedups[] =
#endif
-static DRIVER_INIT( a51site4 )
+DRIVER_INIT_MEMBER(mediagx_state,a51site4)
{
- init_mediagx(machine);
+ init_mediagx(machine());
#if SPEEDUP_HACKS
- install_speedups(machine, a51site4_speedups, ARRAY_LENGTH(a51site4_speedups));
+ install_speedups(machine(), a51site4_speedups, ARRAY_LENGTH(a51site4_speedups));
#endif
}
diff --git a/src/mame/drivers/megadrvb.c b/src/mame/drivers/megadrvb.c
index f59c54979d2..2b2ac22bd67 100644
--- a/src/mame/drivers/megadrvb.c
+++ b/src/mame/drivers/megadrvb.c
@@ -653,19 +653,19 @@ ROM_END
#define ENERGY_CONSOLE_MODE 0
-static DRIVER_INIT( aladmdb )
+DRIVER_INIT_MEMBER(md_boot_state,aladmdb)
{
/*
* Game does a check @ 1afc00 with work RAM fff57c that makes it play like the original console version (i.e. 8 energy hits instead of 2)
*/
#if ENERGY_CONSOLE_MODE
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
rom[0x1afc08/2] = 0x6600;
#endif
// 220000 = writes to mcu? 330000 = reads?
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x220000, 0x220001, FUNC(aladmdb_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x330000, 0x330001, FUNC(aladmdb_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x220000, 0x220001, FUNC(aladmdb_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x330000, 0x330001, FUNC(aladmdb_r));
megadrive_6buttons_pad = 0;
DRIVER_INIT_CALL(megadrij);
@@ -673,9 +673,9 @@ static DRIVER_INIT( aladmdb )
// this should be correct, the areas of the ROM that differ to the original
// after this decode look like intentional changes
-static DRIVER_INIT( mk3mdb )
+DRIVER_INIT_MEMBER(md_boot_state,mk3mdb)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (int x = 0x000001; x < 0x100001; x += 2)
{
@@ -714,29 +714,29 @@ static DRIVER_INIT( mk3mdb )
rom[0x07] = 0x02;
rom[0x06] = 0x10;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x770070, 0x770075, FUNC(mk3mdb_dsw_r) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x770070, 0x770075, FUNC(mk3mdb_dsw_r) );
megadrive_6buttons_pad = 1;
DRIVER_INIT_CALL(megadriv);
}
-static DRIVER_INIT( ssf2mdb )
+DRIVER_INIT_MEMBER(md_boot_state,ssf2mdb)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xA130F0, 0xA130FF); // custom banking is disabled (!)
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x400000, 0x5fffff, "bank5");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x400000, 0x5fffff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xA130F0, 0xA130FF); // custom banking is disabled (!)
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x400000, 0x5fffff, "bank5");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x400000, 0x5fffff);
- machine.root_device().membank("bank5")->set_base(machine.root_device().memregion( "maincpu" )->base() + 0x400000 );
+ machine().root_device().membank("bank5")->set_base(machine().root_device().memregion( "maincpu" )->base() + 0x400000 );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x770070, 0x770075, FUNC(ssf2mdb_dsw_r) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x770070, 0x770075, FUNC(ssf2mdb_dsw_r) );
megadrive_6buttons_pad = 1;
DRIVER_INIT_CALL(megadrij);
}
-static DRIVER_INIT( srmdb )
+DRIVER_INIT_MEMBER(md_boot_state,srmdb)
{
- UINT8* rom = machine.root_device().memregion("maincpu")->base();
+ UINT8* rom = machine().root_device().memregion("maincpu")->base();
/* todo, reduce bitswaps to single swap */
for (int x = 0x00001; x < 0x40000; x += 2)
@@ -770,19 +770,19 @@ static DRIVER_INIT( srmdb )
rom[0x06] = 0xd2;
rom[0x07] = 0x00;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x770070, 0x770075, FUNC(srmdb_dsw_r) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x770070, 0x770075, FUNC(srmdb_dsw_r) );
megadrive_6buttons_pad = 0;
DRIVER_INIT_CALL(megadriv);
}
-static DRIVER_INIT(topshoot)
+DRIVER_INIT_MEMBER(md_cons_state,topshoot)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x200050, 0x200051, FUNC(topshoot_200051_r) );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x200042, 0x200043, "IN0");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x200044, 0x200045, "IN1");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x200046, 0x200047, "IN2");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x200048, 0x200049, "IN3");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x200050, 0x200051, FUNC(topshoot_200051_r) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x200042, 0x200043, "IN0");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x200044, 0x200045, "IN1");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x200046, 0x200047, "IN2");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x200048, 0x200049, "IN3");
megadrive_6buttons_pad = 0;
DRIVER_INIT_CALL(megadriv);
diff --git a/src/mame/drivers/megaplay.c b/src/mame/drivers/megaplay.c
index 41a47e8c3e5..2bc97c0904a 100644
--- a/src/mame/drivers/megaplay.c
+++ b/src/mame/drivers/megaplay.c
@@ -870,28 +870,27 @@ static WRITE16_HANDLER( megadriv_68k_write_z80_extra_ram )
}
-static DRIVER_INIT(megaplay)
+DRIVER_INIT_MEMBER(mplay_state,megaplay)
{
- mplay_state *state = machine.driver_data<mplay_state>();
/* to support the old code.. */
- state->m_ic36_ram = auto_alloc_array(machine, UINT16, 0x10000 / 2);
- state->m_ic37_ram = auto_alloc_array(machine, UINT8, 0x10000);
- state->m_genesis_io_ram = auto_alloc_array(machine, UINT16, 0x20 / 2);
+ m_ic36_ram = auto_alloc_array(machine(), UINT16, 0x10000 / 2);
+ m_ic37_ram = auto_alloc_array(machine(), UINT8, 0x10000);
+ m_genesis_io_ram = auto_alloc_array(machine(), UINT16, 0x20 / 2);
DRIVER_INIT_CALL(mpnew);
- mplay_start(machine);
+ mplay_start(machine());
/* for now ... */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa10000, 0xa1001f, FUNC(megaplay_io_read), FUNC(megaplay_io_write));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa10000, 0xa1001f, FUNC(megaplay_io_read), FUNC(megaplay_io_write));
/* megaplay has ram shared with the bios cpu here */
- machine.device("genesis_snd_z80")->memory().space(AS_PROGRAM)->install_ram(0x2000, 0x3fff, &state->m_ic36_ram[0]);
+ machine().device("genesis_snd_z80")->memory().space(AS_PROGRAM)->install_ram(0x2000, 0x3fff, &m_ic36_ram[0]);
/* instead of a RAM mirror the 68k sees the extra ram of the 2nd z80 too */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa02000, 0xa03fff, FUNC(megadriv_68k_read_z80_extra_ram), FUNC(megadriv_68k_write_z80_extra_ram));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa02000, 0xa03fff, FUNC(megadriv_68k_read_z80_extra_ram), FUNC(megadriv_68k_write_z80_extra_ram));
- DRIVER_INIT_CALL(megatech_bios); // create the SMS vdp etc.
+ init_megatech_bios(machine());
}
diff --git a/src/mame/drivers/megasys1.c b/src/mame/drivers/megasys1.c
index 4c514eadae4..35cf278818c 100644
--- a/src/mame/drivers/megasys1.c
+++ b/src/mame/drivers/megasys1.c
@@ -3678,18 +3678,17 @@ static void stdragona_gfx_unmangle(running_machine &machine, const char *region)
m_mcu_hs_ram[4/2] == _3_ && \
m_mcu_hs_ram[6/2] == _4_)
-static DRIVER_INIT( 64street )
+DRIVER_INIT_MEMBER(megasys1_state,64street)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
-// UINT16 *ROM = (UINT16 *) state->memregion("maincpu")->base();
+// UINT16 *ROM = (UINT16 *) memregion("maincpu")->base();
// ROM[0x006b8/2] = 0x6004; // d8001 test
// ROM[0x10EDE/2] = 0x6012; // watchdog
- state->m_ip_select_values[0] = 0x57;
- state->m_ip_select_values[1] = 0x53;
- state->m_ip_select_values[2] = 0x54;
- state->m_ip_select_values[3] = 0x55;
- state->m_ip_select_values[4] = 0x56;
+ m_ip_select_values[0] = 0x57;
+ m_ip_select_values[1] = 0x53;
+ m_ip_select_values[2] = 0x54;
+ m_ip_select_values[3] = 0x55;
+ m_ip_select_values[4] = 0x56;
}
READ16_MEMBER(megasys1_state::megasys1A_mcu_hs_r)
@@ -3730,67 +3729,61 @@ WRITE16_MEMBER(megasys1_state::megasys1A_mcu_hs_w)
printf("MCU HS W %04x (%04x) -> [%02x]\n",data,mem_mask,offset*2);
}
-static DRIVER_INIT( astyanax )
+DRIVER_INIT_MEMBER(megasys1_state,astyanax)
{
- astyanax_rom_decode(machine, "maincpu");
- megasys1_state *state = machine.driver_data<megasys1_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x20000, 0x20009, write16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_w),state));
+ astyanax_rom_decode(machine(), "maincpu");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x20000, 0x20009, write16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_w),this));
}
-static DRIVER_INIT( avspirit )
+DRIVER_INIT_MEMBER(megasys1_state,avspirit)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
- state->m_ip_select_values[0] = 0x37;
- state->m_ip_select_values[1] = 0x35;
- state->m_ip_select_values[2] = 0x36;
- state->m_ip_select_values[3] = 0x33;
- state->m_ip_select_values[4] = 0x34;
+ m_ip_select_values[0] = 0x37;
+ m_ip_select_values[1] = 0x35;
+ m_ip_select_values[2] = 0x36;
+ m_ip_select_values[3] = 0x33;
+ m_ip_select_values[4] = 0x34;
// has twice less RAM
- machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_readwrite(0x060000, 0x06ffff);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x070000, 0x07ffff, state->m_ram);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->unmap_readwrite(0x060000, 0x06ffff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x070000, 0x07ffff, m_ram);
}
-static DRIVER_INIT( bigstrik )
+DRIVER_INIT_MEMBER(megasys1_state,bigstrik)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
- state->m_ip_select_values[0] = 0x58;
- state->m_ip_select_values[1] = 0x54;
- state->m_ip_select_values[2] = 0x55;
- state->m_ip_select_values[3] = 0x56;
- state->m_ip_select_values[4] = 0x57;
+ m_ip_select_values[0] = 0x58;
+ m_ip_select_values[1] = 0x54;
+ m_ip_select_values[2] = 0x55;
+ m_ip_select_values[3] = 0x56;
+ m_ip_select_values[4] = 0x57;
}
-static DRIVER_INIT( chimerab )
+DRIVER_INIT_MEMBER(megasys1_state,chimerab)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
/* same as cybattlr */
- state->m_ip_select_values[0] = 0x56;
- state->m_ip_select_values[1] = 0x52;
- state->m_ip_select_values[2] = 0x53;
- state->m_ip_select_values[3] = 0x54;
- state->m_ip_select_values[4] = 0x55;
+ m_ip_select_values[0] = 0x56;
+ m_ip_select_values[1] = 0x52;
+ m_ip_select_values[2] = 0x53;
+ m_ip_select_values[3] = 0x54;
+ m_ip_select_values[4] = 0x55;
}
-static DRIVER_INIT( cybattlr )
+DRIVER_INIT_MEMBER(megasys1_state,cybattlr)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
- state->m_ip_select_values[0] = 0x56;
- state->m_ip_select_values[1] = 0x52;
- state->m_ip_select_values[2] = 0x53;
- state->m_ip_select_values[3] = 0x54;
- state->m_ip_select_values[4] = 0x55;
+ m_ip_select_values[0] = 0x56;
+ m_ip_select_values[1] = 0x52;
+ m_ip_select_values[2] = 0x53;
+ m_ip_select_values[3] = 0x54;
+ m_ip_select_values[4] = 0x55;
}
-static DRIVER_INIT( edf )
+DRIVER_INIT_MEMBER(megasys1_state,edf)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
- state->m_ip_select_values[0] = 0x20;
- state->m_ip_select_values[1] = 0x21;
- state->m_ip_select_values[2] = 0x22;
- state->m_ip_select_values[3] = 0x23;
- state->m_ip_select_values[4] = 0x24;
+ m_ip_select_values[0] = 0x20;
+ m_ip_select_values[1] = 0x21;
+ m_ip_select_values[2] = 0x22;
+ m_ip_select_values[3] = 0x23;
+ m_ip_select_values[4] = 0x24;
}
READ16_MEMBER(megasys1_state::edfbl_input_r)
@@ -3812,22 +3805,20 @@ READ16_MEMBER(megasys1_state::edfbl_input_r)
return res;
}
-static DRIVER_INIT( edfbl )
+DRIVER_INIT_MEMBER(megasys1_state,edfbl)
{
- //device_t *oki1 = machine.device("oki1");
- megasys1_state *state = machine.driver_data<megasys1_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xe0000, 0xe000f, read16_delegate(FUNC(megasys1_state::edfbl_input_r),state));
- //machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(*oki1, 0xe000e, 0xe000f, FUNC(soundlatch_byte_w));
+ //device_t *oki1 = machine().device("oki1");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xe0000, 0xe000f, read16_delegate(FUNC(megasys1_state::edfbl_input_r),this));
+ //machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(*oki1, 0xe000e, 0xe000f, FUNC(soundlatch_byte_w));
}
-static DRIVER_INIT( hayaosi1 )
+DRIVER_INIT_MEMBER(megasys1_state,hayaosi1)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
- state->m_ip_select_values[0] = 0x51;
- state->m_ip_select_values[1] = 0x52;
- state->m_ip_select_values[2] = 0x53;
- state->m_ip_select_values[3] = 0x54;
- state->m_ip_select_values[4] = 0x55;
+ m_ip_select_values[0] = 0x51;
+ m_ip_select_values[1] = 0x52;
+ m_ip_select_values[2] = 0x53;
+ m_ip_select_values[3] = 0x54;
+ m_ip_select_values[4] = 0x55;
}
READ16_MEMBER(megasys1_state::iganinju_mcu_hs_r)
@@ -3865,16 +3856,15 @@ WRITE16_MEMBER(megasys1_state::iganinju_mcu_hs_w)
printf("MCU HS W %04x (%04x) -> [%02x]\n",data,mem_mask,offset*2);
}
-static DRIVER_INIT( iganinju )
+DRIVER_INIT_MEMBER(megasys1_state,iganinju)
{
//UINT16 *ROM;
- phantasm_rom_decode(machine, "maincpu");
+ phantasm_rom_decode(machine(), "maincpu");
- //ROM = (UINT16 *) machine.root_device().memregion("maincpu")->base();
- megasys1_state *state = machine.driver_data<megasys1_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::iganinju_mcu_hs_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x2f000, 0x2f009, write16_delegate(FUNC(megasys1_state::iganinju_mcu_hs_w),state));
+ //ROM = (UINT16 *) machine().root_device().memregion("maincpu")->base();
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::iganinju_mcu_hs_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x2f000, 0x2f009, write16_delegate(FUNC(megasys1_state::iganinju_mcu_hs_w),this));
//ROM[0x00006e/2] = 0x0420; // the only game that does
// not like lev 3 interrupts
@@ -3893,45 +3883,43 @@ WRITE16_MEMBER(megasys1_state::okim6295_both_2_w)
else oki->write_command((data >> 8) & 0xff );
}
-static DRIVER_INIT( jitsupro )
+DRIVER_INIT_MEMBER(megasys1_state,jitsupro)
{
- //UINT16 *ROM = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+ //UINT16 *ROM = (UINT16 *) machine().root_device().memregion("maincpu")->base();
- astyanax_rom_decode(machine, "maincpu"); // Code
+ astyanax_rom_decode(machine(), "maincpu"); // Code
- jitsupro_gfx_unmangle(machine, "gfx1"); // Gfx
- jitsupro_gfx_unmangle(machine, "gfx4");
- megasys1_state *state = machine.driver_data<megasys1_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x20000, 0x20009, write16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_w),state));
+ jitsupro_gfx_unmangle(machine(), "gfx1"); // Gfx
+ jitsupro_gfx_unmangle(machine(), "gfx4");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x20000, 0x20009, write16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_w),this));
/* the sound code writes oki commands to both the lsb and msb */
- machine.device("soundcpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa0000, 0xa0003, write16_delegate(FUNC(megasys1_state::okim6295_both_1_w),state));
- machine.device("soundcpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc0000, 0xc0003, write16_delegate(FUNC(megasys1_state::okim6295_both_2_w),state));
+ machine().device("soundcpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa0000, 0xa0003, write16_delegate(FUNC(megasys1_state::okim6295_both_1_w),this));
+ machine().device("soundcpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc0000, 0xc0003, write16_delegate(FUNC(megasys1_state::okim6295_both_2_w),this));
}
-static DRIVER_INIT( peekaboo )
+DRIVER_INIT_MEMBER(megasys1_state,peekaboo)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x100000, 0x100001, read16_delegate(FUNC(megasys1_state::protection_peekaboo_r),state), write16_delegate(FUNC(megasys1_state::protection_peekaboo_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x100000, 0x100001, read16_delegate(FUNC(megasys1_state::protection_peekaboo_r),this), write16_delegate(FUNC(megasys1_state::protection_peekaboo_w),this));
}
-static DRIVER_INIT( phantasm )
+DRIVER_INIT_MEMBER(megasys1_state,phantasm)
{
- phantasm_rom_decode(machine, "maincpu");
+ phantasm_rom_decode(machine(), "maincpu");
}
-static DRIVER_INIT( rodland )
+DRIVER_INIT_MEMBER(megasys1_state,rodland)
{
- rodland_rom_decode(machine, "maincpu");
+ rodland_rom_decode(machine(), "maincpu");
}
-static DRIVER_INIT( rodlandj )
+DRIVER_INIT_MEMBER(megasys1_state,rodlandj)
{
- rodlandj_gfx_unmangle(machine, "gfx1");
- rodlandj_gfx_unmangle(machine, "gfx4");
+ rodlandj_gfx_unmangle(machine(), "gfx1");
+ rodlandj_gfx_unmangle(machine(), "gfx4");
- astyanax_rom_decode(machine, "maincpu");
+ astyanax_rom_decode(machine(), "maincpu");
}
READ16_MEMBER(megasys1_state::soldamj_spriteram16_r)
@@ -3944,20 +3932,18 @@ WRITE16_MEMBER(megasys1_state::soldamj_spriteram16_w)
if (offset < 0x800/2) COMBINE_DATA(&m_spriteram[offset]);
}
-static DRIVER_INIT( soldamj )
+DRIVER_INIT_MEMBER(megasys1_state,soldamj)
{
- astyanax_rom_decode(machine, "maincpu");
- megasys1_state *state = machine.driver_data<megasys1_state>();
+ astyanax_rom_decode(machine(), "maincpu");
/* Sprite RAM is mirrored */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x8c000, 0x8cfff, read16_delegate(FUNC(megasys1_state::soldamj_spriteram16_r),state), write16_delegate(FUNC(megasys1_state::soldamj_spriteram16_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x8c000, 0x8cfff, read16_delegate(FUNC(megasys1_state::soldamj_spriteram16_r),this), write16_delegate(FUNC(megasys1_state::soldamj_spriteram16_w),this));
}
-static DRIVER_INIT( soldam )
+DRIVER_INIT_MEMBER(megasys1_state,soldam)
{
- phantasm_rom_decode(machine, "maincpu");
- megasys1_state *state = machine.driver_data<megasys1_state>();
+ phantasm_rom_decode(machine(), "maincpu");
/* Sprite RAM is mirrored */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x8c000, 0x8cfff, read16_delegate(FUNC(megasys1_state::soldamj_spriteram16_r),state), write16_delegate(FUNC(megasys1_state::soldamj_spriteram16_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x8c000, 0x8cfff, read16_delegate(FUNC(megasys1_state::soldamj_spriteram16_r),this), write16_delegate(FUNC(megasys1_state::soldamj_spriteram16_w),this));
}
@@ -3991,23 +3977,21 @@ WRITE16_MEMBER(megasys1_state::stdragon_mcu_hs_w)
}
-static DRIVER_INIT( stdragon )
+DRIVER_INIT_MEMBER(megasys1_state,stdragon)
{
- phantasm_rom_decode(machine, "maincpu");
- megasys1_state *state = machine.driver_data<megasys1_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x23ff0, 0x23ff9, write16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_w),state));
+ phantasm_rom_decode(machine(), "maincpu");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x23ff0, 0x23ff9, write16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_w),this));
}
-static DRIVER_INIT( stdragona )
+DRIVER_INIT_MEMBER(megasys1_state,stdragona)
{
- phantasm_rom_decode(machine, "maincpu");
+ phantasm_rom_decode(machine(), "maincpu");
- stdragona_gfx_unmangle(machine, "gfx1");
- stdragona_gfx_unmangle(machine, "gfx4");
- megasys1_state *state = machine.driver_data<megasys1_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x23ff0, 0x23ff9, write16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_w),state));
+ stdragona_gfx_unmangle(machine(), "gfx1");
+ stdragona_gfx_unmangle(machine(), "gfx4");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x23ff0, 0x23ff9, write16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_w),this));
}
READ16_MEMBER(megasys1_state::monkelf_input_r)
@@ -4029,15 +4013,14 @@ READ16_MEMBER(megasys1_state::monkelf_input_r)
return res;
}
-static DRIVER_INIT( monkelf )
+DRIVER_INIT_MEMBER(megasys1_state,monkelf)
{
DRIVER_INIT_CALL(avspirit);
- megasys1_state *state = machine.driver_data<megasys1_state>();
- UINT16 *ROM = (UINT16*)state->memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16*)memregion("maincpu")->base();
ROM[0x00744/2] = 0x4e71; // weird check, 0xe000e R is a port-based trap?
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xe0000, 0xe000f, read16_delegate(FUNC(megasys1_state::monkelf_input_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xe0000, 0xe000f, read16_delegate(FUNC(megasys1_state::monkelf_input_r),this));
}
/*************************************
@@ -4046,11 +4029,11 @@ static DRIVER_INIT( monkelf )
*
*************************************/
-GAME( 1988, lomakai, 0, system_Z, lomakai, megasys1_state, 0, ROT0, "Jaleco", "Legend of Makai (World)", 0 )
-GAME( 1988, makaiden, lomakai, system_Z, lomakai, megasys1_state, 0, ROT0, "Jaleco", "Makai Densetsu (Japan)", 0 )
-GAME( 1988, p47, 0, system_A, p47, megasys1_state, 0, ROT0, "Jaleco", "P-47 - The Phantom Fighter (World)", 0 )
-GAME( 1988, p47j, p47, system_A, p47, megasys1_state, 0, ROT0, "Jaleco", "P-47 - The Freedom Fighter (Japan)", 0 )
-GAME( 1988, kickoff, 0, system_A, kickoff, megasys1_state, 0, ROT0, "Jaleco", "Kick Off (Japan)", 0 )
+GAME( 1988, lomakai, 0, system_Z, lomakai, driver_device, 0, ROT0, "Jaleco", "Legend of Makai (World)", 0 )
+GAME( 1988, makaiden, lomakai, system_Z, lomakai, driver_device, 0, ROT0, "Jaleco", "Makai Densetsu (Japan)", 0 )
+GAME( 1988, p47, 0, system_A, p47, driver_device, 0, ROT0, "Jaleco", "P-47 - The Phantom Fighter (World)", 0 )
+GAME( 1988, p47j, p47, system_A, p47, driver_device, 0, ROT0, "Jaleco", "P-47 - The Freedom Fighter (Japan)", 0 )
+GAME( 1988, kickoff, 0, system_A, kickoff, driver_device, 0, ROT0, "Jaleco", "Kick Off (Japan)", 0 )
GAME( 1988, tshingen, 0, system_A, tshingen, megasys1_state, phantasm, ROT0, "Jaleco", "Shingen Samurai-Fighter (Japan, English)", 0 )
GAME( 1988, tshingena,tshingen, system_A, tshingen, megasys1_state, phantasm, ROT0, "Jaleco", "Takeda Shingen (Japan, Japanese)", 0 )
GAME( 1988, kazan, 0, system_A, kazan, megasys1_state, iganinju, ROT0, "Jaleco", "Ninja Kazan (World)", 0 )
@@ -4064,7 +4047,7 @@ GAME( 1989, stdragon, 0, system_A, stdragon, megasys1_state, std
GAME( 1989, stdragona,stdragon, system_A, stdragon, megasys1_state, stdragona,ROT0, "Jaleco", "Saint Dragon (set 2)", GAME_NOT_WORKING ) // gfx scramble
GAME( 1990, rodland, 0, system_A, rodland, megasys1_state, rodland, ROT0, "Jaleco", "Rod-Land (World)", 0 )
GAME( 1990, rodlandj, rodland, system_A, rodland, megasys1_state, rodlandj, ROT0, "Jaleco", "Rod-Land (Japan)", 0 )
-GAME( 1990, rodlandjb,rodland, system_A, rodland, megasys1_state, 0, ROT0, "bootleg","Rod-Land (Japan bootleg)", 0 )
+GAME( 1990, rodlandjb,rodland, system_A, rodland, driver_device, 0, ROT0, "bootleg","Rod-Land (Japan bootleg)", 0 )
GAME( 1991, avspirit, 0, system_B, avspirit, megasys1_state, avspirit, ROT0, "Jaleco", "Avenging Spirit", 0 )
GAME( 1990, phantasm, avspirit, system_A, phantasm, megasys1_state, phantasm, ROT0, "Jaleco", "Phantasm (Japan)", 0 )
GAME( 1990, monkelf, avspirit, system_B, avspirit, megasys1_state, monkelf, ROT0, "bootleg","Monky Elf (Korean bootleg of Avenging Spirit)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/megatech.c b/src/mame/drivers/megatech.c
index 493bf6fd964..bc4c014ae26 100644
--- a/src/mame/drivers/megatech.c
+++ b/src/mame/drivers/megatech.c
@@ -421,25 +421,23 @@ ADDRESS_MAP_END
-static DRIVER_INIT(mt_slot)
+DRIVER_INIT_MEMBER(mtech_state,mt_slot)
{
- mtech_state *state = machine.driver_data<mtech_state>();
- state->m_megatech_banked_ram = auto_alloc_array(machine, UINT8, 0x1000*8);
+ m_megatech_banked_ram = auto_alloc_array(machine(), UINT8, 0x1000*8);
DRIVER_INIT_CALL(megadriv);
- DRIVER_INIT_CALL(megatech_bios);
+ init_megatech_bios(machine());
// this gets set in DEVICE_IMAGE_LOAD
- memset(state->m_cart_is_genesis, 0, sizeof(state->m_cart_is_genesis));
+ memset(m_cart_is_genesis, 0, sizeof(m_cart_is_genesis));
}
-static DRIVER_INIT(mt_crt)
+DRIVER_INIT_MEMBER(mtech_state,mt_crt)
{
- mtech_state *state = machine.driver_data<mtech_state>();
- UINT8* pin = state->memregion("sms_pin")->base();
+ UINT8* pin = memregion("sms_pin")->base();
DRIVER_INIT_CALL(mt_slot);
- state->m_cart_is_genesis[0] = !pin[0] ? 1 : 0;;
+ m_cart_is_genesis[0] = !pin[0] ? 1 : 0;;
}
static VIDEO_START(mtnew)
diff --git a/src/mame/drivers/megazone.c b/src/mame/drivers/megazone.c
index a603dcc9ffa..0e215d885e4 100644
--- a/src/mame/drivers/megazone.c
+++ b/src/mame/drivers/megazone.c
@@ -529,9 +529,9 @@ ROM_START( megazonec )
ROM_END
-static DRIVER_INIT( megazone )
+DRIVER_INIT_MEMBER(megazone_state,megazone)
{
- konami1_decode(machine, "maincpu");
+ konami1_decode(machine(), "maincpu");
}
/* these just display a Konami copyright, no logo */
diff --git a/src/mame/drivers/meijinsn.c b/src/mame/drivers/meijinsn.c
index 9633d3375c0..de6f0a3fd7d 100644
--- a/src/mame/drivers/meijinsn.c
+++ b/src/mame/drivers/meijinsn.c
@@ -415,4 +415,4 @@ ROM_START( meijinsn )
ROM_LOAD( "clr", 0x00, 0x20, CRC(7b95b5a7) SHA1(c15be28bcd6f5ffdde659f2d352ae409f04b2557) )
ROM_END
-GAME( 1986, meijinsn, 0, meijinsn, meijinsn, meijinsn_state, 0, ROT0, "SNK", "Meijinsen", GAME_SUPPORTS_SAVE )
+GAME( 1986, meijinsn, 0, meijinsn, meijinsn, driver_device, 0, ROT0, "SNK", "Meijinsen", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mephisto.c b/src/mame/drivers/mephisto.c
index d97d6072306..c2b7db4fc44 100644
--- a/src/mame/drivers/mephisto.c
+++ b/src/mame/drivers/mephisto.c
@@ -18,6 +18,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(mephisto);
};
@@ -35,7 +37,7 @@ void mephisto_pinball_state::machine_reset()
{
}
-static DRIVER_INIT( mephisto )
+DRIVER_INIT_MEMBER(mephisto_pinball_state,mephisto)
{
}
diff --git a/src/mame/drivers/merit.c b/src/mame/drivers/merit.c
index 08c8e4551b8..20ba77c7e4c 100644
--- a/src/mame/drivers/merit.c
+++ b/src/mame/drivers/merit.c
@@ -87,6 +87,13 @@ public:
DECLARE_WRITE8_MEMBER(led2_w);
DECLARE_WRITE8_MEMBER(misc_w);
DECLARE_WRITE8_MEMBER(misc_couple_w);
+ DECLARE_DRIVER_INIT(couple);
+ DECLARE_DRIVER_INIT(key_5);
+ DECLARE_DRIVER_INIT(key_4);
+ DECLARE_DRIVER_INIT(key_7);
+ DECLARE_DRIVER_INIT(key_0);
+ DECLARE_DRIVER_INIT(key_2);
+ DECLARE_DRIVER_INIT(dtrvwz5);
};
@@ -1982,39 +1989,34 @@ ROM_START( couplei )
ROM_LOAD( "7.7a", 0x00000, 0x0800, CRC(6c36361e) SHA1(7a018eecf3d8b7cf8845dcfcf8067feb292933b2) ) /*video timing?*/
ROM_END
-static DRIVER_INIT( key_0 )
+DRIVER_INIT_MEMBER(merit_state,key_0)
{
- merit_state *state = machine.driver_data<merit_state>();
- state->m_decryption_key = 0;
+ m_decryption_key = 0;
}
-static DRIVER_INIT( key_2 )
+DRIVER_INIT_MEMBER(merit_state,key_2)
{
- merit_state *state = machine.driver_data<merit_state>();
- state->m_decryption_key = 2;
+ m_decryption_key = 2;
}
-static DRIVER_INIT( key_4 )
+DRIVER_INIT_MEMBER(merit_state,key_4)
{
- merit_state *state = machine.driver_data<merit_state>();
- state->m_decryption_key = 4;
+ m_decryption_key = 4;
}
-static DRIVER_INIT( key_5 )
+DRIVER_INIT_MEMBER(merit_state,key_5)
{
- merit_state *state = machine.driver_data<merit_state>();
- state->m_decryption_key = 5;
+ m_decryption_key = 5;
}
-static DRIVER_INIT( key_7 )
+DRIVER_INIT_MEMBER(merit_state,key_7)
{
- merit_state *state = machine.driver_data<merit_state>();
- state->m_decryption_key = 7;
+ m_decryption_key = 7;
}
-static DRIVER_INIT( couple )
+DRIVER_INIT_MEMBER(merit_state,couple)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
#if 0 //quick rom compare test
{
@@ -2034,14 +2036,13 @@ static DRIVER_INIT( couple )
dumpers it's just the way it is,a.k.a. it's an "hardware" banking.
update 20060118 by f205v: now we have 3 dumps from 3 different boards and they
all behave the same...*/
- machine.root_device().membank("bank1")->set_base(ROM + 0x10000 + (0x2000 * 2));
+ machine().root_device().membank("bank1")->set_base(ROM + 0x10000 + (0x2000 * 2));
}
-static DRIVER_INIT( dtrvwz5 )
+DRIVER_INIT_MEMBER(merit_state,dtrvwz5)
{
- merit_state *state = machine.driver_data<merit_state>();
int i;
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
/* fill b000 - b0ff with ret 0xc9 */
for ( i = 0xb000; i < 0xb100; i++ )
ROM[i] = 0xc9;
@@ -2063,15 +2064,15 @@ static DRIVER_INIT( dtrvwz5 )
ROM[0xb00c] = 0x5f; /* ld e,a */
ROM[0xb00a] = 0xc9; /* ret */
- state->m_decryption_key = 6;
+ m_decryption_key = 6;
}
-GAME( 1983, pitboss, 0, pitboss, pitboss, merit_state, 0, ROT0, "Merit", "The Pit Boss (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1983, pitbossa, pitboss, pitboss, pitboss, merit_state, 0, ROT0, "Merit", "The Pit Boss (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1983, pitbossb, pitboss, pitboss, pitboss, merit_state, 0, ROT0, "Merit", "The Pit Boss (set 3)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1983, pitbossc, pitboss, casino5, pitboss, merit_state, 0, ROT0, "Merit", "The Pit Boss (set 4)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1983, pitboss, 0, pitboss, pitboss, driver_device, 0, ROT0, "Merit", "The Pit Boss (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1983, pitbossa, pitboss, pitboss, pitboss, driver_device, 0, ROT0, "Merit", "The Pit Boss (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1983, pitbossb, pitboss, pitboss, pitboss, driver_device, 0, ROT0, "Merit", "The Pit Boss (set 3)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1983, pitbossc, pitboss, casino5, pitboss, driver_device, 0, ROT0, "Merit", "The Pit Boss (set 4)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, casino5, 0, casino5, casino5, merit_state, 0, ROT0, "Merit", "Casino Five", GAME_SUPPORTS_SAVE )
+GAME( 1984, casino5, 0, casino5, casino5, driver_device, 0, ROT0, "Merit", "Casino Five", GAME_SUPPORTS_SAVE )
GAME( 1985, trvwzh, 0, trvwhiz, trivia, merit_state, key_0, ROT0, "Merit", "Trivia ? Whiz (Horizontal) (question set 1)", GAME_SUPPORTS_SAVE )
GAME( 1985, trvwzha, trvwzh, trvwhiz, trivia, merit_state, key_0, ROT0, "Merit", "Trivia ? Whiz (Horizontal) (question set 2)", GAME_SUPPORTS_SAVE )
@@ -2098,9 +2099,9 @@ GAME( 1986, phrcrazeb,phrcraze,phrcraze, phrcrazs, merit_state, key_7, ROT0, "
GAME( 1986, phrcrazec,phrcraze,phrcraze, phrcrazs, merit_state, key_7, ROT0, "Merit", "Phraze Craze (Expanded Questions, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1986, phrcrazev,phrcraze,phrcraze, phrcrazs, merit_state, key_7, ROT90, "Merit", "Phraze Craze (Sex Kit, Vertical)", GAME_SUPPORTS_SAVE )
-GAME( 1986, bigappg, 0, bigappg, bigappg, merit_state, 0, ROT0, "Merit", "Big Apple Games", GAME_SUPPORTS_SAVE )
+GAME( 1986, bigappg, 0, bigappg, bigappg, driver_device, 0, ROT0, "Merit", "Big Apple Games", GAME_SUPPORTS_SAVE )
-GAME( 1986, dodge, 0, dodge, couple, merit_state, 0, ROT0, "Merit", "Dodge City", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1986, dodge, 0, dodge, couple, driver_device, 0, ROT0, "Merit", "Dodge City", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
GAME( 1987, dtrvwz5, 0, dtrvwz5, dtrvwh5, merit_state, dtrvwz5,ROT0, "Merit", "Deluxe Trivia ? Whiz (Edition 5)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/meritm.c b/src/mame/drivers/meritm.c
index d0b24650940..f44fbf6af57 100644
--- a/src/mame/drivers/meritm.c
+++ b/src/mame/drivers/meritm.c
@@ -169,6 +169,19 @@ public:
DECLARE_WRITE8_MEMBER(meritm_audio_pio_port_b_w);
DECLARE_WRITE8_MEMBER(meritm_io_pio_port_a_w);
DECLARE_WRITE8_MEMBER(meritm_io_pio_port_b_w);
+ DECLARE_DRIVER_INIT(megat4);
+ DECLARE_DRIVER_INIT(megat4st);
+ DECLARE_DRIVER_INIT(megat3);
+ DECLARE_DRIVER_INIT(pbst30b);
+ DECLARE_DRIVER_INIT(megat4c);
+ DECLARE_DRIVER_INIT(megat5);
+ DECLARE_DRIVER_INIT(megat5t);
+ DECLARE_DRIVER_INIT(megat6);
+ DECLARE_DRIVER_INIT(megat4te);
+ DECLARE_DRIVER_INIT(pitbossm);
+ DECLARE_DRIVER_INIT(megat2);
+ DECLARE_DRIVER_INIT(pbst30);
+ DECLARE_DRIVER_INIT(megat3te);
};
@@ -1850,7 +1863,7 @@ ROM_START( megat6 ) /* Dallas DS1204V security key at U5 labeled 9255-80 U5-B-RO
ROM_LOAD( "sc3981-0a.u51", 0x000, 0x117, CRC(4fc750d0) SHA1(d09ff7a8c66aeb5c49e9fec84bd1521e3f5d8d0a) )
ROM_END
-static DRIVER_INIT(pitbossm)
+DRIVER_INIT_MEMBER(meritm_state,pitbossm)
{
static const UINT8 pitbossm_ds1204_key[8] =
{ 0xf0, 0xaa, 0x0f, 0x0f, 0x55, 0x55, 0xff, 0xab };
@@ -1858,11 +1871,11 @@ static DRIVER_INIT(pitbossm)
static const UINT8 pitbossm_ds1204_nvram[16] =
{ 0x16, 0x90, 0xa0, 0x52, 0xd8, 0x6c, 0x12, 0xaf, 0x36, 0x22, 0x61, 0x35, 0x0d, 0x58, 0x0c, 0x00 };
- ds1204_init(machine, pitbossm_ds1204_key, pitbossm_ds1204_nvram);
+ ds1204_init(machine(), pitbossm_ds1204_key, pitbossm_ds1204_nvram);
};
-static DRIVER_INIT(pbst30)
+DRIVER_INIT_MEMBER(meritm_state,pbst30)
{
static const UINT8 pbst30b_ds1204_key[8] =
{ 0xf0, 0xaa, 0x0f, 0x0f, 0x55, 0x55, 0xff, 0xab };
@@ -1870,11 +1883,11 @@ static DRIVER_INIT(pbst30)
static const UINT8 pbst30b_ds1204_nvram[16] =
{ 0x3e, 0x9a, 0x3c, 0x3f, 0x1d, 0x51, 0x72, 0xc9, 0x28, 0x2c, 0x1d, 0x2d, 0x0e, 0x56, 0x41, 0x00 };
- ds1204_init(machine, pbst30b_ds1204_key, pbst30b_ds1204_nvram);
+ ds1204_init(machine(), pbst30b_ds1204_key, pbst30b_ds1204_nvram);
};
-static DRIVER_INIT(pbst30b)
+DRIVER_INIT_MEMBER(meritm_state,pbst30b)
{
static const UINT8 pbst30b_ds1204_key[8] =
{ 0xf0, 0xaa, 0x0f, 0x0f, 0x55, 0x55, 0xff, 0xab };
@@ -1882,11 +1895,11 @@ static DRIVER_INIT(pbst30b)
static const UINT8 pbst30b_ds1204_nvram[16] =
{ 0xa9, 0xdb, 0x41, 0xf8, 0xe4, 0x42, 0x20, 0x6e, 0xde, 0xaf, 0x4f, 0x046, 0x3d, 0x55, 0x44, 0x00 };
- ds1204_init(machine, pbst30b_ds1204_key, pbst30b_ds1204_nvram);
+ ds1204_init(machine(), pbst30b_ds1204_key, pbst30b_ds1204_nvram);
};
-static DRIVER_INIT(megat2)
+DRIVER_INIT_MEMBER(meritm_state,megat2)
{
static const UINT8 pitbosmt_ds1204_key[8] =
{ 0xf0, 0xaa, 0x0f, 0x0f, 0x55, 0x55, 0xff, 0xab };
@@ -1894,11 +1907,11 @@ static DRIVER_INIT(megat2)
static const UINT8 pitbosmt_ds1204_nvram[16] =
{ 0x00, 0xfe, 0x03, 0x03, 0x08, 0x00, 0xa2, 0x03, 0x4b, 0x07, 0x00, 0xe6, 0x02, 0xd3, 0x05, 0x00 };
- ds1204_init(machine, pitbosmt_ds1204_key, pitbosmt_ds1204_nvram);
+ ds1204_init(machine(), pitbosmt_ds1204_key, pitbosmt_ds1204_nvram);
};
-static DRIVER_INIT(megat3)
+DRIVER_INIT_MEMBER(meritm_state,megat3)
{
static const UINT8 megat3_ds1204_key[8] =
{ 0xf0, 0xaa, 0x0f, 0x0f, 0x55, 0x55, 0xff, 0xab };
@@ -1906,11 +1919,11 @@ static DRIVER_INIT(megat3)
static const UINT8 megat3_ds1204_nvram[16] =
{ 0x51, 0xa1, 0xc0, 0x7c, 0x27, 0x6e, 0x51, 0xb9, 0xa5, 0xb2, 0x27, 0x0c, 0xb9, 0x88, 0x82, 0x2c };
- ds1204_init(machine, megat3_ds1204_key, megat3_ds1204_nvram);
+ ds1204_init(machine(), megat3_ds1204_key, megat3_ds1204_nvram);
};
-static DRIVER_INIT(megat3te)
+DRIVER_INIT_MEMBER(meritm_state,megat3te)
{
static const UINT8 megat3_ds1204_key[8] =
{ 0xf0, 0xaa, 0x0f, 0x0f, 0x55, 0x55, 0xff, 0xab };
@@ -1918,22 +1931,21 @@ static DRIVER_INIT(megat3te)
static const UINT8 megat3_ds1204_nvram[16] =
{ 0x99, 0x53, 0xfc, 0x29, 0x3a, 0x95, 0x8b, 0x58, 0xca, 0xca, 0x00, 0xc2, 0x30, 0x62, 0x0b, 0x96 };
- ds1204_init(machine, megat3_ds1204_key, megat3_ds1204_nvram);
+ ds1204_init(machine(), megat3_ds1204_key, megat3_ds1204_nvram);
- meritm_state *state = machine.driver_data<meritm_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfff8, 0xffff, read8_delegate(FUNC(meritm_state::meritm_ds1644_r), state), write8_delegate(FUNC(meritm_state::meritm_ds1644_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfff8, 0xffff, read8_delegate(FUNC(meritm_state::meritm_ds1644_r), this), write8_delegate(FUNC(meritm_state::meritm_ds1644_w), this));
};
-static DRIVER_INIT(megat4)
+DRIVER_INIT_MEMBER(meritm_state,megat4)
{
static const UINT8 megat4_ds1204_nvram[16] =
{ 0xe3, 0x08, 0x39, 0xd8, 0x4c, 0xbb, 0xc4, 0xf8, 0xf0, 0xe2, 0xd8, 0x77, 0xa8, 0x3d, 0x95, 0x02 };
- ds1204_init(machine, 0, megat4_ds1204_nvram);
+ ds1204_init(machine(), 0, megat4_ds1204_nvram);
}
-static DRIVER_INIT(megat4c) /* First version of MegaTouch IV requires "key" like previous MegaTouch versions */
+DRIVER_INIT_MEMBER(meritm_state,megat4c)
{
static const UINT8 megat4c_ds1204_key[8] =
{ 0xf0, 0xaa, 0x0f, 0x0f, 0x55, 0x55, 0xff, 0xab };
@@ -1941,68 +1953,65 @@ static DRIVER_INIT(megat4c) /* First version of MegaTouch IV requires "key" like
static const UINT8 megat4_ds1204_nvram[16] =
{ 0xe3, 0x08, 0x39, 0xd8, 0x4c, 0xbb, 0xc4, 0xf8, 0xf0, 0xe2, 0xd8, 0x77, 0xa8, 0x3d, 0x95, 0x02 };
- ds1204_init(machine, megat4c_ds1204_key, megat4_ds1204_nvram);
+ ds1204_init(machine(), megat4c_ds1204_key, megat4_ds1204_nvram);
}
-static DRIVER_INIT(megat4te)
+DRIVER_INIT_MEMBER(meritm_state,megat4te)
{
static const UINT8 megat4te_ds1204_nvram[16] =
{ 0x05, 0x21, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
- ds1204_init(machine, 0, megat4te_ds1204_nvram);
+ ds1204_init(machine(), 0, megat4te_ds1204_nvram);
- meritm_state *state = machine.driver_data<meritm_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfff8, 0xffff, read8_delegate(FUNC(meritm_state::meritm_ds1644_r), state), write8_delegate(FUNC(meritm_state::meritm_ds1644_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfff8, 0xffff, read8_delegate(FUNC(meritm_state::meritm_ds1644_r), this), write8_delegate(FUNC(meritm_state::meritm_ds1644_w), this));
};
-static DRIVER_INIT(megat4st)
+DRIVER_INIT_MEMBER(meritm_state,megat4st)
{
static const UINT8 megat4te_ds1204_nvram[16] =
{ 0x11, 0x04, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
- ds1204_init(machine, 0, megat4te_ds1204_nvram);
+ ds1204_init(machine(), 0, megat4te_ds1204_nvram);
- meritm_state *state = machine.driver_data<meritm_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfff8, 0xffff, read8_delegate(FUNC(meritm_state::meritm_ds1644_r), state), write8_delegate(FUNC(meritm_state::meritm_ds1644_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfff8, 0xffff, read8_delegate(FUNC(meritm_state::meritm_ds1644_r), this), write8_delegate(FUNC(meritm_state::meritm_ds1644_w), this));
};
-static DRIVER_INIT(megat5)
+DRIVER_INIT_MEMBER(meritm_state,megat5)
{
static const UINT8 megat5_ds1204_nvram[16] =
{ 0x06, 0x23, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
- ds1204_init(machine, 0, megat5_ds1204_nvram);
+ ds1204_init(machine(), 0, megat5_ds1204_nvram);
}
-static DRIVER_INIT(megat5t)
+DRIVER_INIT_MEMBER(meritm_state,megat5t)
{
static const UINT8 megat5_ds1204_nvram[16] =
{ 0x08, 0x22, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
- ds1204_init(machine, 0, megat5_ds1204_nvram);
+ ds1204_init(machine(), 0, megat5_ds1204_nvram);
- meritm_state *state = machine.driver_data<meritm_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfff8, 0xffff, read8_delegate(FUNC(meritm_state::meritm_ds1644_r), state), write8_delegate(FUNC(meritm_state::meritm_ds1644_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfff8, 0xffff, read8_delegate(FUNC(meritm_state::meritm_ds1644_r), this), write8_delegate(FUNC(meritm_state::meritm_ds1644_w), this));
}
-static DRIVER_INIT(megat6)
+DRIVER_INIT_MEMBER(meritm_state,megat6)
{
static const UINT8 megat6_ds1204_nvram[16] =
{ 0x07, 0x15, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
- ds1204_init(machine, 0, megat6_ds1204_nvram);
+ ds1204_init(machine(), 0, megat6_ds1204_nvram);
}
/* CRT 250 */
-GAME( 1988, pitboss2, 0, meritm_crt250, meritm_crt250, meritm_state, 0, ROT0, "Merit", "Pit Boss II", GAME_IMPERFECT_GRAPHICS )
-GAME( 1988, spitboss, 0, meritm_crt250, meritm_crt250, meritm_state, 0, ROT0, "Merit", "Super Pit Boss", GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, pitbosss, 0, meritm_crt250, meritm_crt250, meritm_state, 0, ROT0, "Merit", "Pit Boss Superstar (9221-10-00B)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, pitbosssa, pitbosss, meritm_crt250, meritm_crt250, meritm_state, 0, ROT0, "Merit", "Pit Boss Superstar (9221-10-00A)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, pitboss2, 0, meritm_crt250, meritm_crt250, driver_device, 0, ROT0, "Merit", "Pit Boss II", GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, spitboss, 0, meritm_crt250, meritm_crt250, driver_device, 0, ROT0, "Merit", "Super Pit Boss", GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, pitbosss, 0, meritm_crt250, meritm_crt250, driver_device, 0, ROT0, "Merit", "Pit Boss Superstar (9221-10-00B)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, pitbosssa, pitbosss, meritm_crt250, meritm_crt250, driver_device, 0, ROT0, "Merit", "Pit Boss Superstar (9221-10-00A)", GAME_IMPERFECT_GRAPHICS )
/* CRT 250 + CRT 254 + CRT 256 */
GAME( 1994, pbst30, 0, meritm_crt250_crt252_crt258, pbst30, meritm_state, pbst30, ROT0, "Merit", "Pit Boss Supertouch 30 (9234-10-01)", GAME_IMPERFECT_GRAPHICS )
@@ -2010,7 +2019,7 @@ GAME( 1993, pbst30b, pbst30, meritm_crt250_crt252_crt258, pbst30, meritm_state
/* CRT 250 + CRT 254 + CRT 256 */
GAME( 1994, pitbossm, 0, meritm_crt250_questions, pitbossm, meritm_state, pitbossm, ROT0, "Merit", "Pit Boss Megastar (9244-00-01)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, pitbossma, pitbossm, meritm_crt250_questions, pitbossa, meritm_state, 0, ROT0, "Merit", "Pit Boss Megastar (9243-00-01)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, pitbossma, pitbossm, meritm_crt250_questions, pitbossa, driver_device, 0, ROT0, "Merit", "Pit Boss Megastar (9243-00-01)", GAME_IMPERFECT_GRAPHICS )
/* CRT 260 */
GAME( 1994, megat2, 0, meritm_crt260, meritm_crt260, meritm_state, megat2, ROT0, "Merit", "Pit Boss Megatouch II (9255-10-01 ROE, Standard version)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/mermaid.c b/src/mame/drivers/mermaid.c
index 7fcd0e69331..4b597624fe1 100644
--- a/src/mame/drivers/mermaid.c
+++ b/src/mame/drivers/mermaid.c
@@ -602,6 +602,6 @@ ROM_END
/* Game Drivers */
-GAME( 1982, mermaid, 0, mermaid, mermaid, mermaid_state, 0, ROT0, "Sanritsu / Rock-Ola", "Mermaid", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1982, yachtmn, mermaid, mermaid, yachtmn, mermaid_state, 0, ROT0, "Sanritsu / Esco", "Yachtsman", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1982, rougien, 0, rougien, rougien, mermaid_state, 0, ROT0, "Sanritsu", "Rougien", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1982, mermaid, 0, mermaid, mermaid, driver_device, 0, ROT0, "Sanritsu / Rock-Ola", "Mermaid", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1982, yachtmn, mermaid, mermaid, yachtmn, driver_device, 0, ROT0, "Sanritsu / Esco", "Yachtsman", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1982, rougien, 0, rougien, rougien, driver_device, 0, ROT0, "Sanritsu", "Rougien", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/metalmx.c b/src/mame/drivers/metalmx.c
index 9e42567cf12..cdf44c3235b 100644
--- a/src/mame/drivers/metalmx.c
+++ b/src/mame/drivers/metalmx.c
@@ -768,14 +768,13 @@ static MACHINE_CONFIG_START( metalmx, metalmx_state )
MACHINE_CONFIG_END
-static DRIVER_INIT( metalmx )
+DRIVER_INIT_MEMBER(metalmx_state,metalmx)
{
- UINT8 *adsp_boot = (UINT8*)machine.root_device().memregion("adsp")->base();
- metalmx_state *state = machine.driver_data<metalmx_state>();
+ UINT8 *adsp_boot = (UINT8*)machine().root_device().memregion("adsp")->base();
- state->m_adsp->load_boot_data(adsp_boot, state->m_adsp_internal_program_ram);
+ m_adsp->load_boot_data(adsp_boot, m_adsp_internal_program_ram);
- cage_init(machine, 0); // TODO: speedup address
+ cage_init(machine(), 0); // TODO: speedup address
cage_set_irq_handler(cage_irq_callback);
}
diff --git a/src/mame/drivers/metlclsh.c b/src/mame/drivers/metlclsh.c
index a2b9473dca4..22bff37ea5a 100644
--- a/src/mame/drivers/metlclsh.c
+++ b/src/mame/drivers/metlclsh.c
@@ -426,4 +426,4 @@ ROM_START( metlclsh )
ROM_LOAD( "82s123.prm", 0x0000, 0x20, CRC(6844cc88) SHA1(89d23367aa6ff541205416e82781fe938dfeeb52) )
ROM_END
-GAME( 1985, metlclsh, 0, metlclsh, metlclsh, metlclsh_state, 0, ROT0, "Data East", "Metal Clash (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, metlclsh, 0, metlclsh, metlclsh, driver_device, 0, ROT0, "Data East", "Metal Clash (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c
index c78c4ddefcc..c3c8b43b3c8 100644
--- a/src/mame/drivers/metro.c
+++ b/src/mame/drivers/metro.c
@@ -5945,56 +5945,52 @@ static void metro_common( running_machine &machine )
}
-static DRIVER_INIT( metro )
+DRIVER_INIT_MEMBER(metro_state,metro)
{
- metro_state *state = machine.driver_data<metro_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- metro_common(machine);
+ metro_common(machine());
- state->m_porta = 0x00;
- state->m_portb = 0x00;
- state->m_busy_sndcpu = 0;
- state->metro_sound_rombank_w(*space, 0, 0x00);
+ m_porta = 0x00;
+ m_portb = 0x00;
+ m_busy_sndcpu = 0;
+ metro_sound_rombank_w(*space, 0, 0x00);
}
-static DRIVER_INIT( karatour )
+DRIVER_INIT_MEMBER(metro_state,karatour)
{
- metro_state *state = machine.driver_data<metro_state>();
- state->m_vram_0.allocate(0x20000/2);
- state->m_vram_1.allocate(0x20000/2);
- state->m_vram_2.allocate(0x20000/2);
+ m_vram_0.allocate(0x20000/2);
+ m_vram_1.allocate(0x20000/2);
+ m_vram_2.allocate(0x20000/2);
for (int i = 0; i < 0x20000 / 2; i++)
{
- state->m_vram_0[i] = machine.rand();
- state->m_vram_1[i] = machine.rand();
- state->m_vram_2[i] = machine.rand();
+ m_vram_0[i] = machine().rand();
+ m_vram_1[i] = machine().rand();
+ m_vram_2[i] = machine().rand();
}
DRIVER_INIT_CALL(metro);
}
-static DRIVER_INIT( daitorid )
+DRIVER_INIT_MEMBER(metro_state,daitorid)
{
- metro_state *state = machine.driver_data<metro_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- metro_common(machine);
+ metro_common(machine());
- state->m_porta = 0x00;
- state->m_portb = 0x00;
- state->m_busy_sndcpu = 0;
- state->daitorid_sound_rombank_w(*space, 0, 0x00);
+ m_porta = 0x00;
+ m_portb = 0x00;
+ m_busy_sndcpu = 0;
+ daitorid_sound_rombank_w(*space, 0, 0x00);
}
/* Unscramble the GFX ROMs */
-static DRIVER_INIT( balcube )
+DRIVER_INIT_MEMBER(metro_state,balcube)
{
- metro_state *state = machine.driver_data<metro_state>();
- const size_t len = state->memregion("gfx1")->bytes();
- UINT8 *src = state->memregion("gfx1")->base();
+ const size_t len = memregion("gfx1")->bytes();
+ UINT8 *src = memregion("gfx1")->base();
UINT8 *end = src + len;
while (src < end)
@@ -6007,14 +6003,14 @@ static DRIVER_INIT( balcube )
src += 2;
}
- metro_common(machine);
- state->m_irq_line = 1;
+ metro_common(machine());
+ m_irq_line = 1;
}
-static DRIVER_INIT( dharmak )
+DRIVER_INIT_MEMBER(metro_state,dharmak)
{
- UINT8 *src = machine.root_device().memregion( "gfx1" )->base();
+ UINT8 *src = machine().root_device().memregion( "gfx1" )->base();
int i;
for (i = 0; i < 0x200000; i += 4)
@@ -6032,38 +6028,34 @@ static DRIVER_INIT( dharmak )
DRIVER_INIT_CALL(metro);
}
-static DRIVER_INIT( blzntrnd )
+DRIVER_INIT_MEMBER(metro_state,blzntrnd)
{
- metro_state *state = machine.driver_data<metro_state>();
- metro_common(machine);
- state->m_irq_line = 1;
+ metro_common(machine());
+ m_irq_line = 1;
}
-static DRIVER_INIT( mouja )
+DRIVER_INIT_MEMBER(metro_state,mouja)
{
- metro_state *state = machine.driver_data<metro_state>();
- metro_common(machine);
- state->m_irq_line = -1; /* split interrupt handlers */
- state->m_vblank_bit = 1;
- state->m_mouja_irq_timer = machine.scheduler().timer_alloc(FUNC(mouja_irq_callback));
+ metro_common(machine());
+ m_irq_line = -1; /* split interrupt handlers */
+ m_vblank_bit = 1;
+ m_mouja_irq_timer = machine().scheduler().timer_alloc(FUNC(mouja_irq_callback));
}
-static DRIVER_INIT( gakusai )
+DRIVER_INIT_MEMBER(metro_state,gakusai)
{
- metro_state *state = machine.driver_data<metro_state>();
- metro_common(machine);
- state->m_irq_line = -1;
- state->m_vblank_bit = 1;
- state->m_blitter_bit = 3;
+ metro_common(machine());
+ m_irq_line = -1;
+ m_vblank_bit = 1;
+ m_blitter_bit = 3;
}
-static DRIVER_INIT( puzzlet )
+DRIVER_INIT_MEMBER(metro_state,puzzlet)
{
- metro_state *state = machine.driver_data<metro_state>();
- metro_common(machine);
- state->m_irq_line = 0;
- state->m_vblank_bit = 1;
- state->m_blitter_bit = 0;
+ metro_common(machine());
+ m_irq_line = 0;
+ m_vblank_bit = 1;
+ m_blitter_bit = 0;
}
/***************************************************************************
diff --git a/src/mame/drivers/mexico86.c b/src/mame/drivers/mexico86.c
index 058e02a449b..6b66096d089 100644
--- a/src/mame/drivers/mexico86.c
+++ b/src/mame/drivers/mexico86.c
@@ -708,8 +708,8 @@ ROM_END
*
*************************************/
-GAME( 1986, kikikai, 0, kikikai, kikikai, mexico86_state, 0, ROT90, "Taito Corporation", "KiKi KaiKai", GAME_SUPPORTS_SAVE )
-GAME( 1986, knightb, kikikai, knightb, kikikai, mexico86_state, 0, ROT90, "bootleg", "Knight Boy", GAME_SUPPORTS_SAVE )
-GAME( 1986, kicknrun, 0, mexico86, mexico86, mexico86_state, 0, ROT0, "Taito Corporation", "Kick and Run (World)", GAME_SUPPORTS_SAVE )
-GAME( 1986, kicknrunu,kicknrun, mexico86, mexico86, mexico86_state, 0, ROT0, "Taito America Corp", "Kick and Run (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, mexico86, kicknrun, mexico86, mexico86, mexico86_state, 0, ROT0, "bootleg", "Mexico 86 (bootleg of Kick and Run)", GAME_SUPPORTS_SAVE )
+GAME( 1986, kikikai, 0, kikikai, kikikai, driver_device, 0, ROT90, "Taito Corporation", "KiKi KaiKai", GAME_SUPPORTS_SAVE )
+GAME( 1986, knightb, kikikai, knightb, kikikai, driver_device, 0, ROT90, "bootleg", "Knight Boy", GAME_SUPPORTS_SAVE )
+GAME( 1986, kicknrun, 0, mexico86, mexico86, driver_device, 0, ROT0, "Taito Corporation", "Kick and Run (World)", GAME_SUPPORTS_SAVE )
+GAME( 1986, kicknrunu,kicknrun, mexico86, mexico86, driver_device, 0, ROT0, "Taito America Corp", "Kick and Run (US)", GAME_SUPPORTS_SAVE )
+GAME( 1986, mexico86, kicknrun, mexico86, mexico86, driver_device, 0, ROT0, "bootleg", "Mexico 86 (bootleg of Kick and Run)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/meyc8080.c b/src/mame/drivers/meyc8080.c
index 592d974e4d9..57fe5c76477 100644
--- a/src/mame/drivers/meyc8080.c
+++ b/src/mame/drivers/meyc8080.c
@@ -727,7 +727,7 @@ ROM_END
*************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL(1982, wldarrow, 0, meyc8080, wldarrow, meyc8080_state, 0, ROT0, "Meyco Games, Inc.", "Wild Arrow (color, Standard V4.8)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_wldarrow ) // B&W version not dumped yet
-GAMEL(1984, mdrawpkr, 0, meyc8080, mdrawpkr, meyc8080_state, 0, ROT0, "Meyco Games, Inc.", "Draw Poker - Joker's Wild (Standard)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_mdrawpkr ) // year not shown, but it is in mdrawpkra
-GAMEL(1984, mdrawpkra, mdrawpkr, meyc8080, mdrawpkra, meyc8080_state, 0, ROT0, "Meyco Games, Inc.", "Draw Poker - Joker's Wild (02-11)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_mdrawpkr )
-GAMEL(1983, casbjack, 0, meyc8080, casbjack, meyc8080_state, 0, ROT0, "Meyco Games, Inc.", "Casino Black Jack (color, Standard 00-05)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_meybjack ) // B&W version not dumped yet
+GAMEL(1982, wldarrow, 0, meyc8080, wldarrow, driver_device, 0, ROT0, "Meyco Games, Inc.", "Wild Arrow (color, Standard V4.8)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_wldarrow ) // B&W version not dumped yet
+GAMEL(1984, mdrawpkr, 0, meyc8080, mdrawpkr, driver_device, 0, ROT0, "Meyco Games, Inc.", "Draw Poker - Joker's Wild (Standard)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_mdrawpkr ) // year not shown, but it is in mdrawpkra
+GAMEL(1984, mdrawpkra, mdrawpkr, meyc8080, mdrawpkra, driver_device, 0, ROT0, "Meyco Games, Inc.", "Draw Poker - Joker's Wild (02-11)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_mdrawpkr )
+GAMEL(1983, casbjack, 0, meyc8080, casbjack, driver_device, 0, ROT0, "Meyco Games, Inc.", "Casino Black Jack (color, Standard 00-05)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_meybjack ) // B&W version not dumped yet
diff --git a/src/mame/drivers/meyc8088.c b/src/mame/drivers/meyc8088.c
index 84a5d642bd2..a14eaf48b49 100644
--- a/src/mame/drivers/meyc8088.c
+++ b/src/mame/drivers/meyc8088.c
@@ -410,4 +410,4 @@ ROM_START( gldarrow )
ROM_END
-GAMEL(1984, gldarrow, 0, meyc8088, gldarrow, meyc8088_state, 0, ROT0, "Meyco Games, Inc.", "Golden Arrow (Standard G8-03)", 0, layout_gldarrow )
+GAMEL(1984, gldarrow, 0, meyc8088, gldarrow, driver_device, 0, ROT0, "Meyco Games, Inc.", "Golden Arrow (Standard G8-03)", 0, layout_gldarrow )
diff --git a/src/mame/drivers/mgolf.c b/src/mame/drivers/mgolf.c
index 884396bbf91..8310bd5411e 100644
--- a/src/mame/drivers/mgolf.c
+++ b/src/mame/drivers/mgolf.c
@@ -372,4 +372,4 @@ ROM_START( mgolf )
ROM_END
-GAME( 1978, mgolf, 0, mgolf, mgolf, mgolf_state, 0, ROT270, "Atari", "Atari Mini Golf (prototype)", GAME_NO_SOUND )
+GAME( 1978, mgolf, 0, mgolf, mgolf, driver_device, 0, ROT270, "Atari", "Atari Mini Golf (prototype)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/mhavoc.c b/src/mame/drivers/mhavoc.c
index 0110ab751fa..872d1747d42 100644
--- a/src/mame/drivers/mhavoc.c
+++ b/src/mame/drivers/mhavoc.c
@@ -751,9 +751,9 @@ ROM_END
*
*************************************/
-GAME( 1983, mhavoc, 0, mhavoc, mhavoc, mhavoc_state, 0, ROT0, "Atari", "Major Havoc (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1983, mhavoc2, mhavoc, mhavoc, mhavoc, mhavoc_state, 0, ROT0, "Atari", "Major Havoc (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, mhavoc, 0, mhavoc, mhavoc, driver_device, 0, ROT0, "Atari", "Major Havoc (rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1983, mhavoc2, mhavoc, mhavoc, mhavoc, driver_device, 0, ROT0, "Atari", "Major Havoc (rev 2)", GAME_SUPPORTS_SAVE )
GAME( 1983, mhavocrv, mhavoc, mhavocrv, mhavocrv, mhavoc_state, mhavocrv, ROT0, "Atari / JMA", "Major Havoc (Return to Vax)", GAME_SUPPORTS_SAVE )
-GAME( 1983, mhavocp, mhavoc, mhavoc, mhavocp, mhavoc_state, 0, ROT0, "Atari", "Major Havoc (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1983, alphaone, mhavoc, alphaone, alphaone, mhavoc_state, 0, ROT0, "Atari", "Alpha One (prototype, 3 lives)", GAME_SUPPORTS_SAVE )
-GAME( 1983, alphaonea,mhavoc, alphaone, alphaone, mhavoc_state, 0, ROT0, "Atari", "Alpha One (prototype, 5 lives)", GAME_SUPPORTS_SAVE )
+GAME( 1983, mhavocp, mhavoc, mhavoc, mhavocp, driver_device, 0, ROT0, "Atari", "Major Havoc (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1983, alphaone, mhavoc, alphaone, alphaone, driver_device, 0, ROT0, "Atari", "Alpha One (prototype, 3 lives)", GAME_SUPPORTS_SAVE )
+GAME( 1983, alphaonea,mhavoc, alphaone, alphaone, driver_device, 0, ROT0, "Atari", "Alpha One (prototype, 5 lives)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/micropin.c b/src/mame/drivers/micropin.c
index 76b8eda0ccf..54ab6866c8e 100644
--- a/src/mame/drivers/micropin.c
+++ b/src/mame/drivers/micropin.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(micropin);
};
@@ -31,7 +33,7 @@ void micropin_state::machine_reset()
{
}
-static DRIVER_INIT( micropin )
+DRIVER_INIT_MEMBER(micropin_state,micropin)
{
}
diff --git a/src/mame/drivers/midas.c b/src/mame/drivers/midas.c
index cde5e140584..6865b97c87d 100644
--- a/src/mame/drivers/midas.c
+++ b/src/mame/drivers/midas.c
@@ -75,6 +75,7 @@ public:
DECLARE_WRITE16_MEMBER(hammer_motor_w);
DECLARE_WRITE16_MEMBER(hammer_led_w);
DECLARE_WRITE16_MEMBER(midas_eeprom_w);
+ DECLARE_DRIVER_INIT(livequiz);
};
@@ -870,9 +871,9 @@ ROM_START( livequiz )
ROM_LOAD( "flash.u5", 0x000000, 0x200000, CRC(dc062792) SHA1(ec415c918c47ce9d181f014cde317af5717600e4) )
ROM_END
-static DRIVER_INIT( livequiz )
+DRIVER_INIT_MEMBER(midas_state,livequiz)
{
- UINT16 *rom = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *) machine().root_device().memregion("maincpu")->base();
// PROTECTION CHECKS
rom[0x13345a/2] = 0x4e75;
@@ -963,4 +964,4 @@ ROM_START( hammer )
ROM_END
GAME( 1999, livequiz, 0, livequiz, livequiz, midas_state, livequiz, ROT0, "Andamiro", "Live Quiz Show", GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, hammer, 0, hammer, hammer, midas_state, 0, ROT0, "Andamiro", "Hammer", 0 )
+GAME( 2000, hammer, 0, hammer, hammer, driver_device, 0, ROT0, "Andamiro", "Hammer", 0 )
diff --git a/src/mame/drivers/midqslvr.c b/src/mame/drivers/midqslvr.c
index ca94cb40d60..db8c345a840 100644
--- a/src/mame/drivers/midqslvr.c
+++ b/src/mame/drivers/midqslvr.c
@@ -765,7 +765,7 @@ ROM_END
// there are almost certainly multiple versions of these; updates were offered on floppy disk. The version numbers for the existing CHDs are unknown.
-GAME(1999, hydrthnd, 0, midqslvr, at_keyboard, midqslvr_state, 0, ROT0, "Midway Games", "Hydro Thunder", GAME_IS_SKELETON)
-GAME(2000, offrthnd, 0, midqslvr, at_keyboard, midqslvr_state, 0, ROT0, "Midway Games", "Offroad Thunder", GAME_IS_SKELETON)
-GAME(2001, arctthnd, 0, midqslvr, at_keyboard, midqslvr_state, 0, ROT0, "Midway Games", "Arctic Thunder (v1.002)", GAME_IS_SKELETON)
-GAME(2001, arctthndult, arctthnd, midqslvr, at_keyboard, midqslvr_state, 0, ROT0, "Midway Games", "Ultimate Arctic Thunder", GAME_IS_SKELETON)
+GAME(1999, hydrthnd, 0, midqslvr, at_keyboard, driver_device, 0, ROT0, "Midway Games", "Hydro Thunder", GAME_IS_SKELETON)
+GAME(2000, offrthnd, 0, midqslvr, at_keyboard, driver_device, 0, ROT0, "Midway Games", "Offroad Thunder", GAME_IS_SKELETON)
+GAME(2001, arctthnd, 0, midqslvr, at_keyboard, driver_device, 0, ROT0, "Midway Games", "Arctic Thunder (v1.002)", GAME_IS_SKELETON)
+GAME(2001, arctthndult, arctthnd, midqslvr, at_keyboard, driver_device, 0, ROT0, "Midway Games", "Ultimate Arctic Thunder", GAME_IS_SKELETON)
diff --git a/src/mame/drivers/midvunit.c b/src/mame/drivers/midvunit.c
index 313751939e5..aca3c5a3719 100644
--- a/src/mame/drivers/midvunit.c
+++ b/src/mame/drivers/midvunit.c
@@ -1719,77 +1719,73 @@ READ32_MEMBER(midvunit_state::generic_speedup_r)
}
-static void init_crusnusa_common(running_machine &machine, offs_t speedup)
+void midvunit_state::init_crusnusa_common(offs_t speedup)
{
- midvunit_state *state = machine.driver_data<midvunit_state>();
- dcs_init(machine);
- state->m_adc_shift = 24;
+ dcs_init(machine());
+ m_adc_shift = 24;
/* speedups */
- state->m_generic_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(speedup, speedup + 1, read32_delegate(FUNC(midvunit_state::generic_speedup_r),state));
+ m_generic_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(speedup, speedup + 1, read32_delegate(FUNC(midvunit_state::generic_speedup_r),this));
}
-static DRIVER_INIT( crusnusa ) { init_crusnusa_common(machine, 0xc93e); }
-static DRIVER_INIT( crusnu40 ) { init_crusnusa_common(machine, 0xc957); }
-static DRIVER_INIT( crusnu21 ) { init_crusnusa_common(machine, 0xc051); }
+DRIVER_INIT_MEMBER(midvunit_state,crusnusa) { init_crusnusa_common(0xc93e); }
+DRIVER_INIT_MEMBER(midvunit_state,crusnu40) { init_crusnusa_common(0xc957); }
+DRIVER_INIT_MEMBER(midvunit_state,crusnu21) { init_crusnusa_common(0xc051); }
-static void init_crusnwld_common(running_machine &machine, offs_t speedup)
+void midvunit_state::init_crusnwld_common(offs_t speedup)
{
- midvunit_state *state = machine.driver_data<midvunit_state>();
- dcs_init(machine);
- state->m_adc_shift = 16;
+ dcs_init(machine());
+ m_adc_shift = 16;
/* control register is different */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x994000, 0x994000, write32_delegate(FUNC(midvunit_state::crusnwld_control_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x994000, 0x994000, write32_delegate(FUNC(midvunit_state::crusnwld_control_w),this));
/* valid values are 450 or 460 */
- midway_serial_pic_init(machine, 450);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x991030, 0x991030, read32_delegate(FUNC(midvunit_state::offroadc_serial_status_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x996000, 0x996000, read32_delegate(FUNC(midvunit_state::offroadc_serial_data_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x996000, 0x996000, write32_delegate(FUNC(midvunit_state::offroadc_serial_data_w),state));
+ midway_serial_pic_init(machine(), 450);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x991030, 0x991030, read32_delegate(FUNC(midvunit_state::offroadc_serial_status_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x996000, 0x996000, read32_delegate(FUNC(midvunit_state::offroadc_serial_data_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x996000, 0x996000, write32_delegate(FUNC(midvunit_state::offroadc_serial_data_w),this));
/* install strange protection device */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x9d0000, 0x9d1fff, read32_delegate(FUNC(midvunit_state::bit_data_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x9d0000, 0x9d0000, write32_delegate(FUNC(midvunit_state::bit_reset_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x9d0000, 0x9d1fff, read32_delegate(FUNC(midvunit_state::bit_data_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x9d0000, 0x9d0000, write32_delegate(FUNC(midvunit_state::bit_reset_w),this));
/* speedups */
if (speedup)
- state->m_generic_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(speedup, speedup + 1, read32_delegate(FUNC(midvunit_state::generic_speedup_r),state));
+ m_generic_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(speedup, speedup + 1, read32_delegate(FUNC(midvunit_state::generic_speedup_r),this));
}
-static DRIVER_INIT( crusnwld ) { init_crusnwld_common(machine, 0xd4c0); }
-#if 0
-static DRIVER_INIT( crusnw20 ) { init_crusnwld_common(machine, 0xd49c); }
-static DRIVER_INIT( crusnw13 ) { init_crusnwld_common(machine, 0); }
+DRIVER_INIT_MEMBER(midvunit_state,crusnwld) { init_crusnwld_common(0xd4c0); }
+#if 0
+DRIVER_INIT_MEMBER(midvunit_state,crusnw20) { init_crusnwld_common(0xd49c); }
+DRIVER_INIT_MEMBER(midvunit_state,crusnw13) { init_crusnwld_common(0); }
#endif
-static DRIVER_INIT( offroadc )
+DRIVER_INIT_MEMBER(midvunit_state,offroadc)
{
- midvunit_state *state = machine.driver_data<midvunit_state>();
- dcs_init(machine);
- state->m_adc_shift = 16;
+ dcs_init(machine());
+ m_adc_shift = 16;
/* control register is different */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x994000, 0x994000, write32_delegate(FUNC(midvunit_state::crusnwld_control_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x994000, 0x994000, write32_delegate(FUNC(midvunit_state::crusnwld_control_w),this));
/* valid values are 230 or 234 */
- midway_serial_pic2_init(machine, 230, 94);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x991030, 0x991030, read32_delegate(FUNC(midvunit_state::offroadc_serial_status_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x996000, 0x996000, read32_delegate(FUNC(midvunit_state::offroadc_serial_data_r),state), write32_delegate(FUNC(midvunit_state::offroadc_serial_data_w),state));
+ midway_serial_pic2_init(machine(), 230, 94);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x991030, 0x991030, read32_delegate(FUNC(midvunit_state::offroadc_serial_status_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x996000, 0x996000, read32_delegate(FUNC(midvunit_state::offroadc_serial_data_r),this), write32_delegate(FUNC(midvunit_state::offroadc_serial_data_w),this));
/* speedups */
- state->m_generic_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x195aa, 0x195aa, read32_delegate(FUNC(midvunit_state::generic_speedup_r),state));
+ m_generic_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x195aa, 0x195aa, read32_delegate(FUNC(midvunit_state::generic_speedup_r),this));
}
-static DRIVER_INIT( wargods )
+DRIVER_INIT_MEMBER(midvunit_state,wargods)
{
- midvunit_state *state = machine.driver_data<midvunit_state>();
UINT8 default_nvram[256];
/* initialize the subsystems */
- dcs2_init(machine, 2, 0x3839);
- midway_ioasic_init(machine, 0, 452/* no alternates */, 94, NULL);
- state->m_adc_shift = 16;
+ dcs2_init(machine(), 2, 0x3839);
+ midway_ioasic_init(machine(), 0, 452/* no alternates */, 94, NULL);
+ m_adc_shift = 16;
/* we need proper VRAM */
memset(default_nvram, 0xff, sizeof(default_nvram));
@@ -1803,7 +1799,7 @@ static DRIVER_INIT( wargods )
midway_serial_pic2_set_default_nvram(default_nvram);
/* speedups */
- state->m_generic_speedup = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x2f4c, 0x2f4c, read32_delegate(FUNC(midvunit_state::generic_speedup_r),state));
+ m_generic_speedup = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x2f4c, 0x2f4c, read32_delegate(FUNC(midvunit_state::generic_speedup_r),this));
}
diff --git a/src/mame/drivers/midzeus.c b/src/mame/drivers/midzeus.c
index 25c15827fc5..7e9d1cc2814 100644
--- a/src/mame/drivers/midzeus.c
+++ b/src/mame/drivers/midzeus.c
@@ -1422,39 +1422,37 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( mk4 )
+DRIVER_INIT_MEMBER(midzeus_state,mk4)
{
- dcs2_init(machine, 0, 0);
- midway_ioasic_init(machine, MIDWAY_IOASIC_STANDARD, 461/* or 474 */, 94, NULL);
+ dcs2_init(machine(), 0, 0);
+ midway_ioasic_init(machine(), MIDWAY_IOASIC_STANDARD, 461/* or 474 */, 94, NULL);
midway_ioasic_set_shuffle_state(1);
}
-static DRIVER_INIT( invasn )
+DRIVER_INIT_MEMBER(midzeus_state,invasn)
{
- dcs2_init(machine, 0, 0);
- midway_ioasic_init(machine, MIDWAY_IOASIC_STANDARD, 468/* or 488 */, 94, NULL);
- midzeus_state *state = machine.driver_data<midzeus_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x9c0000, 0x9c0000, read32_delegate(FUNC(midzeus_state::invasn_gun_r),state), write32_delegate(FUNC(midzeus_state::invasn_gun_w),state));
+ dcs2_init(machine(), 0, 0);
+ midway_ioasic_init(machine(), MIDWAY_IOASIC_STANDARD, 468/* or 488 */, 94, NULL);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x9c0000, 0x9c0000, read32_delegate(FUNC(midzeus_state::invasn_gun_r),this), write32_delegate(FUNC(midzeus_state::invasn_gun_w),this));
}
-static DRIVER_INIT( crusnexo )
+DRIVER_INIT_MEMBER(midzeus_state,crusnexo)
{
- dcs2_init(machine, 0, 0);
- midway_ioasic_init(machine, MIDWAY_IOASIC_STANDARD, 472/* or 476,477,478,110 */, 99, NULL);
- machine.root_device().membank("bank1")->configure_entries(0, 3, machine.root_device().memregion("user2")->base(), 0x400000*4);
- midzeus_state *state = machine.driver_data<midzeus_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x9b0004, 0x9b0007, read32_delegate(FUNC(midzeus_state::crusnexo_leds_r),state), write32_delegate(FUNC(midzeus_state::crusnexo_leds_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler (0x8d0009, 0x8d000a, write32_delegate(FUNC(midzeus_state::keypad_select_w),state));
+ dcs2_init(machine(), 0, 0);
+ midway_ioasic_init(machine(), MIDWAY_IOASIC_STANDARD, 472/* or 476,477,478,110 */, 99, NULL);
+ machine().root_device().membank("bank1")->configure_entries(0, 3, machine().root_device().memregion("user2")->base(), 0x400000*4);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x9b0004, 0x9b0007, read32_delegate(FUNC(midzeus_state::crusnexo_leds_r),this), write32_delegate(FUNC(midzeus_state::crusnexo_leds_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler (0x8d0009, 0x8d000a, write32_delegate(FUNC(midzeus_state::keypad_select_w),this));
}
-static DRIVER_INIT( thegrid )
+DRIVER_INIT_MEMBER(midzeus_state,thegrid)
{
- dcs2_init(machine, 0, 0);
- midway_ioasic_init(machine, MIDWAY_IOASIC_STANDARD, 474/* or 491 */, 99, NULL);
- machine.root_device().membank("bank1")->configure_entries(0, 3, machine.root_device().memregion("user2")->base(), 0x400000*4);
+ dcs2_init(machine(), 0, 0);
+ midway_ioasic_init(machine(), MIDWAY_IOASIC_STANDARD, 474/* or 491 */, 99, NULL);
+ machine().root_device().membank("bank1")->configure_entries(0, 3, machine().root_device().memregion("user2")->base(), 0x400000*4);
}
diff --git a/src/mame/drivers/mikie.c b/src/mame/drivers/mikie.c
index 16a55ea84ac..f44795149de 100644
--- a/src/mame/drivers/mikie.c
+++ b/src/mame/drivers/mikie.c
@@ -403,6 +403,6 @@ ROM_END
*
*************************************/
-GAME( 1984, mikie, 0, mikie, mikie, mikie_state, 0, ROT270, "Konami", "Mikie", GAME_SUPPORTS_SAVE )
-GAME( 1984, mikiej, mikie, mikie, mikie, mikie_state, 0, ROT270, "Konami", "Shinnyuushain Tooru-kun", GAME_SUPPORTS_SAVE )
-GAME( 1984, mikiehs, mikie, mikie, mikie, mikie_state, 0, ROT270, "Konami", "Mikie (High School Graffiti)", GAME_SUPPORTS_SAVE )
+GAME( 1984, mikie, 0, mikie, mikie, driver_device, 0, ROT270, "Konami", "Mikie", GAME_SUPPORTS_SAVE )
+GAME( 1984, mikiej, mikie, mikie, mikie, driver_device, 0, ROT270, "Konami", "Shinnyuushain Tooru-kun", GAME_SUPPORTS_SAVE )
+GAME( 1984, mikiehs, mikie, mikie, mikie, driver_device, 0, ROT270, "Konami", "Mikie (High School Graffiti)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mil4000.c b/src/mame/drivers/mil4000.c
index 7cc3ffcf123..8da84e1dcda 100644
--- a/src/mame/drivers/mil4000.c
+++ b/src/mame/drivers/mil4000.c
@@ -477,7 +477,7 @@ ROM_START( mil4000c )
ROM_LOAD( "pic16c74b_ch4000.u60", 0x000, 0x4d4c, NO_DUMP )
ROM_END
-GAMEL( 2000, mil4000, 0, mil4000, mil4000, mil4000_state, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 2.0)", 0, layout_mil4000 )
-GAMEL( 2000, mil4000a, mil4000, mil4000, mil4000, mil4000_state, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 1.8)", 0, layout_mil4000 )
-GAMEL( 2000, mil4000b, mil4000, mil4000, mil4000, mil4000_state, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 1.5)", 0, layout_mil4000 )
-GAMEL( 2000, mil4000c, mil4000, mil4000, mil4000, mil4000_state, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 1.6)", 0, layout_mil4000 )
+GAMEL( 2000, mil4000, 0, mil4000, mil4000, driver_device, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 2.0)", 0, layout_mil4000 )
+GAMEL( 2000, mil4000a, mil4000, mil4000, mil4000, driver_device, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 1.8)", 0, layout_mil4000 )
+GAMEL( 2000, mil4000b, mil4000, mil4000, mil4000, driver_device, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 1.5)", 0, layout_mil4000 )
+GAMEL( 2000, mil4000c, mil4000, mil4000, mil4000, driver_device, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 1.6)", 0, layout_mil4000 )
diff --git a/src/mame/drivers/miniboy7.c b/src/mame/drivers/miniboy7.c
index d3f41fc7ab0..f850d591eda 100644
--- a/src/mame/drivers/miniboy7.c
+++ b/src/mame/drivers/miniboy7.c
@@ -563,6 +563,6 @@ ROM_END
***********************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1983, miniboy7, 0, miniboy7, miniboy7, miniboy7_state, 0, ROT0, "Bonanza Enterprises, Ltd", "Mini Boy 7 (set 1)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_NOT_WORKING )
-GAME( 1983, miniboy7a, miniboy7, miniboy7, miniboy7, miniboy7_state, 0, ROT0, "Bonanza Enterprises, Ltd", "Mini Boy 7 (set 2)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_NOT_WORKING )
+GAME( 1983, miniboy7, 0, miniboy7, miniboy7, driver_device, 0, ROT0, "Bonanza Enterprises, Ltd", "Mini Boy 7 (set 1)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_NOT_WORKING )
+GAME( 1983, miniboy7a, miniboy7, miniboy7, miniboy7, driver_device, 0, ROT0, "Bonanza Enterprises, Ltd", "Mini Boy 7 (set 2)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/minivadr.c b/src/mame/drivers/minivadr.c
index 3fb56e2aa09..4d4fb105b4f 100644
--- a/src/mame/drivers/minivadr.c
+++ b/src/mame/drivers/minivadr.c
@@ -109,4 +109,4 @@ ROM_START( minivadr )
ROM_END
-GAME( 1990, minivadr, 0, minivadr, minivadr, minivadr_state, 0, ROT0, "Taito Corporation", "Mini Vaders", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+GAME( 1990, minivadr, 0, minivadr, minivadr, driver_device, 0, ROT0, "Taito Corporation", "Mini Vaders", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
diff --git a/src/mame/drivers/mirage.c b/src/mame/drivers/mirage.c
index 5773e4de225..aeace91e23d 100644
--- a/src/mame/drivers/mirage.c
+++ b/src/mame/drivers/mirage.c
@@ -73,6 +73,7 @@ public:
DECLARE_READ16_MEMBER(mirage_input_r);
DECLARE_WRITE16_MEMBER(okim1_rombank_w);
DECLARE_WRITE16_MEMBER(okim0_rombank_w);
+ DECLARE_DRIVER_INIT(mirage);
};
static VIDEO_START( mirage )
@@ -378,9 +379,9 @@ ROM_START( mirage )
ROM_LOAD( "mbl-04.12k", 0x000000, 0x100000, CRC(b533123d) SHA1(2cb2f11331d00c2d282113932ed2836805f4fc6e) )
ROM_END
-static DRIVER_INIT( mirage )
+DRIVER_INIT_MEMBER(miragemi_state,mirage)
{
- deco56_decrypt_gfx(machine, "gfx1");
+ deco56_decrypt_gfx(machine(), "gfx1");
}
GAME( 1994, mirage, 0, mirage, mirage, miragemi_state, mirage, ROT0, "Mitchell", "Mirage Youjuu Mahjongden (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mirax.c b/src/mame/drivers/mirax.c
index e95f959583c..f3cce360112 100644
--- a/src/mame/drivers/mirax.c
+++ b/src/mame/drivers/mirax.c
@@ -127,6 +127,7 @@ public:
DECLARE_WRITE8_MEMBER(mirax_flip_screen_w);
DECLARE_WRITE8_MEMBER(ay1_sel);
DECLARE_WRITE8_MEMBER(ay2_sel);
+ DECLARE_DRIVER_INIT(mirax);
};
@@ -540,11 +541,10 @@ ROM_START( miraxa )
ROM_END
-static DRIVER_INIT( mirax )
+DRIVER_INIT_MEMBER(mirax_state,mirax)
{
- mirax_state *state = machine.driver_data<mirax_state>();
- UINT8 *DATA = state->memregion("data_code")->base();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *DATA = memregion("data_code")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
int i;
for(i=0x0000;i<0x4000;i++)
@@ -557,8 +557,8 @@ static DRIVER_INIT( mirax )
ROM[BITSWAP16(i, 15,14,13,12,11,10,9, 5,7,6,8, 4,3,2,1,0)] = (BITSWAP8(DATA[i], 1, 3, 7, 0, 5, 6, 4, 2) ^ 0xff);
/* These values need to be initialised only once, not on every soft reset */
- state->m_flipscreen_x = 0;
- state->m_flipscreen_y = 0;
+ m_flipscreen_x = 0;
+ m_flipscreen_y = 0;
}
GAME( 1985, mirax, 0, mirax, mirax, mirax_state, mirax, ROT90, "Current Technologies", "Mirax (set 1)", 0 )
diff --git a/src/mame/drivers/missb2.c b/src/mame/drivers/missb2.c
index 9b2fbf20c87..048bbceb99b 100644
--- a/src/mame/drivers/missb2.c
+++ b/src/mame/drivers/missb2.c
@@ -35,6 +35,7 @@ public:
DECLARE_WRITE8_MEMBER(bg_paletteram_RRRRGGGGBBBBxxxx_be_w);
DECLARE_WRITE8_MEMBER(missb2_bg_bank_w);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
+ DECLARE_DRIVER_INIT(missb2);
};
@@ -584,12 +585,11 @@ static void configure_banks( running_machine& machine )
machine.root_device().membank("bank3")->configure_entries(0, 7, &SLAVE[0x9000], 0x1000);
}
-static DRIVER_INIT( missb2 )
+DRIVER_INIT_MEMBER(missb2_state,missb2)
{
- missb2_state *state = machine.driver_data<missb2_state>();
- configure_banks(machine);
- state->m_video_enable = 0;
+ configure_banks(machine());
+ m_video_enable = 0;
}
/* Game Drivers */
diff --git a/src/mame/drivers/missile.c b/src/mame/drivers/missile.c
index 065009d7af7..1bd8a557705 100644
--- a/src/mame/drivers/missile.c
+++ b/src/mame/drivers/missile.c
@@ -377,6 +377,8 @@ public:
DECLARE_READ8_MEMBER(missile_r);
DECLARE_CUSTOM_INPUT_MEMBER(get_vblank);
DECLARE_DIRECT_UPDATE_MEMBER(missile_direct_handler);
+ DECLARE_DRIVER_INIT(missilem);
+ DECLARE_DRIVER_INIT(suprmatk);
};
@@ -1226,10 +1228,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( suprmatk )
+DRIVER_INIT_MEMBER(missile_state,suprmatk)
{
int i;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (i = 0; i < 0x40; i++)
{
@@ -1300,10 +1302,10 @@ static DRIVER_INIT( suprmatk )
}
}
-static DRIVER_INIT( missilem )
+DRIVER_INIT_MEMBER(missile_state,missilem)
{
- UINT8 *src = machine.root_device().memregion("user1")->base();
- UINT8 *dest = machine.root_device().memregion("maincpu")->base();
+ UINT8 *src = machine().root_device().memregion("user1")->base();
+ UINT8 *dest = machine().root_device().memregion("maincpu")->base();
// decrypt rom and put in maincpu region (result looks correct, but is untested)
for (int i = 0; i < 0x10000; i++)
@@ -1327,14 +1329,14 @@ static DRIVER_INIT( missilem )
*
*************************************/
-GAME( 1980, missile, 0, missile, missile, missile_state, 0, ROT0, "Atari", "Missile Command (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1980, missile2, missile, missile, missile, missile_state, 0, ROT0, "Atari", "Missile Command (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, missile1, missile, missile, missile, missile_state, 0, ROT0, "Atari", "Missile Command (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1980, missile, 0, missile, missile, driver_device, 0, ROT0, "Atari", "Missile Command (rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1980, missile2, missile, missile, missile, driver_device, 0, ROT0, "Atari", "Missile Command (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, missile1, missile, missile, missile, driver_device, 0, ROT0, "Atari", "Missile Command (rev 1)", GAME_SUPPORTS_SAVE )
GAME( 1981, suprmatk, missile, missile, suprmatk, missile_state, suprmatk, ROT0, "Atari / General Computer Corporation", "Super Missile Attack (for rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, suprmatkd,missile, missile, suprmatk, missile_state, 0, ROT0, "Atari / General Computer Corporation", "Super Missile Attack (not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1981, suprmatkd,missile, missile, suprmatk, driver_device, 0, ROT0, "Atari / General Computer Corporation", "Super Missile Attack (not encrypted)", GAME_SUPPORTS_SAVE )
/* the bootlegs are on different hardware and don't work */
-GAME( 1980, mcombat, missile, missile, missile, missile_state, 0, ROT0, "bootleg (Videotron)", "Missile Combat (Videotron bootleg, set 1)", GAME_NOT_WORKING )
-GAME( 1980, mcombata, missile, missile, missile, missile_state, 0, ROT0, "bootleg (Videotron)", "Missile Combat (Videotron bootleg, set 2)", GAME_NOT_WORKING )
-GAME( 1980, mcombats, missile, missile, missile, missile_state, 0, ROT0, "bootleg (Sidam)", "Missile Combat (Sidam bootleg)", GAME_NOT_WORKING )
+GAME( 1980, mcombat, missile, missile, missile, driver_device, 0, ROT0, "bootleg (Videotron)", "Missile Combat (Videotron bootleg, set 1)", GAME_NOT_WORKING )
+GAME( 1980, mcombata, missile, missile, missile, driver_device, 0, ROT0, "bootleg (Videotron)", "Missile Combat (Videotron bootleg, set 2)", GAME_NOT_WORKING )
+GAME( 1980, mcombats, missile, missile, missile, driver_device, 0, ROT0, "bootleg (Sidam)", "Missile Combat (Sidam bootleg)", GAME_NOT_WORKING )
GAME( 2005, missilem, missile, missile, missile, missile_state, missilem, ROT0, "hack (Braze Technologies)", "Missile Command Multigame", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/mitchell.c b/src/mame/drivers/mitchell.c
index 34b248a8e50..3ac668b0470 100644
--- a/src/mame/drivers/mitchell.c
+++ b/src/mame/drivers/mitchell.c
@@ -2118,165 +2118,147 @@ static void configure_banks( running_machine &machine )
}
-static DRIVER_INIT( dokaben )
+DRIVER_INIT_MEMBER(mitchell_state,dokaben)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 0;
- state->m_nvram_size = 0;
- mgakuen2_decode(machine);
- configure_banks(machine);
+ m_input_type = 0;
+ m_nvram_size = 0;
+ mgakuen2_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( pang )
+DRIVER_INIT_MEMBER(mitchell_state,pang)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 0;
- state->m_nvram_size = 0;
- pang_decode(machine);
- configure_banks(machine);
+ m_input_type = 0;
+ m_nvram_size = 0;
+ pang_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( pangb )
+DRIVER_INIT_MEMBER(mitchell_state,pangb)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 0;
- state->m_nvram_size = 0;
- bootleg_decode(machine);
- configure_banks(machine);
+ m_input_type = 0;
+ m_nvram_size = 0;
+ bootleg_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( cworld )
+DRIVER_INIT_MEMBER(mitchell_state,cworld)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 0;
- state->m_nvram_size = 0;
- cworld_decode(machine);
- configure_banks(machine);
+ m_input_type = 0;
+ m_nvram_size = 0;
+ cworld_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( hatena )
+DRIVER_INIT_MEMBER(mitchell_state,hatena)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 0;
- state->m_nvram_size = 0;
- hatena_decode(machine);
- configure_banks(machine);
+ m_input_type = 0;
+ m_nvram_size = 0;
+ hatena_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( spang )
+DRIVER_INIT_MEMBER(mitchell_state,spang)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 3;
- state->m_nvram_size = 0x80;
- state->m_nvram = &state->memregion("maincpu")->base()[0xe000]; /* NVRAM */
- spang_decode(machine);
- configure_banks(machine);
+ m_input_type = 3;
+ m_nvram_size = 0x80;
+ m_nvram = &memregion("maincpu")->base()[0xe000]; /* NVRAM */
+ spang_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( spangbl )
+DRIVER_INIT_MEMBER(mitchell_state,spangbl)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 3;
- state->m_nvram_size = 0x80;
- state->m_nvram = &state->memregion("maincpu")->base()[0xe000]; /* NVRAM */
- bootleg_decode(machine);
- configure_banks(machine);
+ m_input_type = 3;
+ m_nvram_size = 0x80;
+ m_nvram = &memregion("maincpu")->base()[0xe000]; /* NVRAM */
+ bootleg_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( spangj )
+DRIVER_INIT_MEMBER(mitchell_state,spangj)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 3;
- state->m_nvram_size = 0x80;
- state->m_nvram = &state->memregion("maincpu")->base()[0xe000]; /* NVRAM */
- spangj_decode(machine);
- configure_banks(machine);
+ m_input_type = 3;
+ m_nvram_size = 0x80;
+ m_nvram = &memregion("maincpu")->base()[0xe000]; /* NVRAM */
+ spangj_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( sbbros )
+DRIVER_INIT_MEMBER(mitchell_state,sbbros)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 3;
- state->m_nvram_size = 0x80;
- state->m_nvram = &state->memregion("maincpu")->base()[0xe000]; /* NVRAM */
- sbbros_decode(machine);
- configure_banks(machine);
+ m_input_type = 3;
+ m_nvram_size = 0x80;
+ m_nvram = &memregion("maincpu")->base()[0xe000]; /* NVRAM */
+ sbbros_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( qtono1 )
+DRIVER_INIT_MEMBER(mitchell_state,qtono1)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 0;
- state->m_nvram_size = 0;
- qtono1_decode(machine);
- configure_banks(machine);
+ m_input_type = 0;
+ m_nvram_size = 0;
+ qtono1_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( qsangoku )
+DRIVER_INIT_MEMBER(mitchell_state,qsangoku)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 0;
- state->m_nvram_size = 0;
- qsangoku_decode(machine);
- configure_banks(machine);
+ m_input_type = 0;
+ m_nvram_size = 0;
+ qsangoku_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( mgakuen )
+DRIVER_INIT_MEMBER(mitchell_state,mgakuen)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 1;
- configure_banks(machine);
- machine.device("maincpu")->memory().space(AS_IO)->install_read_port(0x03, 0x03, "DSW0");
- machine.device("maincpu")->memory().space(AS_IO)->install_read_port(0x04, 0x04, "DSW1");
+ m_input_type = 1;
+ configure_banks(machine());
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_port(0x03, 0x03, "DSW0");
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_port(0x04, 0x04, "DSW1");
}
-static DRIVER_INIT( mgakuen2 )
+DRIVER_INIT_MEMBER(mitchell_state,mgakuen2)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 1;
- state->m_nvram_size = 0;
- mgakuen2_decode(machine);
- configure_banks(machine);
+ m_input_type = 1;
+ m_nvram_size = 0;
+ mgakuen2_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( pkladies )
+DRIVER_INIT_MEMBER(mitchell_state,pkladies)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 1;
- state->m_nvram_size = 0;
- mgakuen2_decode(machine);
- configure_banks(machine);
+ m_input_type = 1;
+ m_nvram_size = 0;
+ mgakuen2_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( pkladiesbl )
+DRIVER_INIT_MEMBER(mitchell_state,pkladiesbl)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 1;
- state->m_nvram_size = 0;
- bootleg_decode(machine);
- configure_banks(machine);
+ m_input_type = 1;
+ m_nvram_size = 0;
+ bootleg_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( marukin )
+DRIVER_INIT_MEMBER(mitchell_state,marukin)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 1;
- state->m_nvram_size = 0;
- marukin_decode(machine);
- configure_banks(machine);
+ m_input_type = 1;
+ m_nvram_size = 0;
+ marukin_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( block )
+DRIVER_INIT_MEMBER(mitchell_state,block)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 2;
- state->m_nvram_size = 0x80;
- state->m_nvram = &state->memregion("maincpu")->base()[0xff80]; /* NVRAM */
- block_decode(machine);
- configure_banks(machine);
+ m_input_type = 2;
+ m_nvram_size = 0x80;
+ m_nvram = &memregion("maincpu")->base()[0xff80]; /* NVRAM */
+ block_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( blockbl )
+DRIVER_INIT_MEMBER(mitchell_state,blockbl)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_input_type = 2;
- state->m_nvram_size = 0x80;
- state->m_nvram = &state->memregion("maincpu")->base()[0xff80]; /* NVRAM */
- bootleg_decode(machine);
- configure_banks(machine);
+ m_input_type = 2;
+ m_nvram_size = 0x80;
+ m_nvram = &memregion("maincpu")->base()[0xff80]; /* NVRAM */
+ bootleg_decode(machine());
+ configure_banks(machine());
}
-static DRIVER_INIT( mstworld )
+DRIVER_INIT_MEMBER(mitchell_state,mstworld)
{
/* descramble the program rom .. */
- int len = machine.root_device().memregion("maincpu")->bytes();
- UINT8* source = auto_alloc_array(machine, UINT8, len);
- UINT8* dst = machine.root_device().memregion("maincpu")->base() ;
+ int len = machine().root_device().memregion("maincpu")->bytes();
+ UINT8* source = auto_alloc_array(machine(), UINT8, len);
+ UINT8* dst = machine().root_device().memregion("maincpu")->base() ;
int x;
static const int tablebank[]=
@@ -2312,10 +2294,10 @@ static DRIVER_INIT( mstworld )
memcpy(&dst[((x / 2) * 0x4000) + 0x50000],&source[tablebank[x + 1] * 0x4000], 0x4000);
}
}
- auto_free(machine, source);
+ auto_free(machine(), source);
- bootleg_decode(machine);
- configure_banks(machine);
+ bootleg_decode(machine());
+ configure_banks(machine());
}
diff --git a/src/mame/drivers/mjkjidai.c b/src/mame/drivers/mjkjidai.c
index ca135073923..7b45f3c6d92 100644
--- a/src/mame/drivers/mjkjidai.c
+++ b/src/mame/drivers/mjkjidai.c
@@ -468,5 +468,5 @@ ROM_START( mjkjidai )
ROM_END
-GAME( 1986, mjkjidai, 0, mjkjidai, mjkjidai, mjkjidai_state, 0, ROT0, "Sanritsu", "Mahjong Kyou Jidai (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1986, mjkjidai, 0, mjkjidai, mjkjidai, driver_device, 0, ROT0, "Sanritsu", "Mahjong Kyou Jidai (Japan)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/mjsister.c b/src/mame/drivers/mjsister.c
index 632bfde1968..da4cfbfcbba 100644
--- a/src/mame/drivers/mjsister.c
+++ b/src/mame/drivers/mjsister.c
@@ -558,4 +558,4 @@ ROM_END
*
*************************************/
-GAME( 1986, mjsister, 0, mjsister, mjsister, mjsister_state, 0, ROT0, "Toaplan", "Mahjong Sisters (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, mjsister, 0, mjsister, mjsister, driver_device, 0, ROT0, "Toaplan", "Mahjong Sisters (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c
index 740644436ec..8823b730421 100644
--- a/src/mame/drivers/mlanding.c
+++ b/src/mame/drivers/mlanding.c
@@ -74,6 +74,7 @@ public:
DECLARE_READ8_MEMBER(test_r);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_WRITE8_MEMBER(ml_msm_start_lsb_w);
+ DECLARE_DRIVER_INIT(mlanding);
};
@@ -846,9 +847,9 @@ ROM_START( mlanding )
ROM_LOAD( "ml_b0934.epr", 0x00000, 0x10000, CRC(0899666f) SHA1(032e3ddd4caa48f82592570616e16c084de91f3e) )
ROM_END
-static DRIVER_INIT(mlanding)
+DRIVER_INIT_MEMBER(mlanding_state,mlanding)
{
-// UINT8 *rom = machine.root_device().memregion("sub")->base();
+// UINT8 *rom = machine().root_device().memregion("sub")->base();
// rom[0x88b]=0x4e;
// rom[0x88a]=0x71;
}
diff --git a/src/mame/drivers/mmm.c b/src/mame/drivers/mmm.c
index 19ec7d30d5c..f684d6d4685 100644
--- a/src/mame/drivers/mmm.c
+++ b/src/mame/drivers/mmm.c
@@ -49,4 +49,4 @@ ROM_START( mmm_ldip )
ROM_END
-GAME( 198?, mmm_ldip, 0, mmm, mmm, mmm_state, 0, ROT0, "Maygay", "Lucky Dip (Maygay)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 198?, mmm_ldip, 0, mmm, mmm, driver_device, 0, ROT0, "Maygay", "Lucky Dip (Maygay)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/model1.c b/src/mame/drivers/model1.c
index 708d466bfc5..600f1b9f462 100644
--- a/src/mame/drivers/model1.c
+++ b/src/mame/drivers/model1.c
@@ -1608,10 +1608,10 @@ static MACHINE_CONFIG_START( model1_vr, model1_state )
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-GAME( 1993, vf, 0, model1, vf, model1_state, 0, ROT0, "Sega", "Virtua Fighter", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, vr, 0, model1_vr, vr, model1_state, 0, ROT0, "Sega", "Virtua Racing", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, vformula, vr, model1_vr, vr, model1_state, 0, ROT0, "Sega", "Virtua Formula", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, swa, 0, swa, swa, model1_state, 0, ROT0, "Sega", "Star Wars Arcade", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1994, wingwar, 0, model1, wingwar, model1_state, 0, ROT0, "Sega", "Wing War (World)", GAME_NOT_WORKING )
-GAME( 1994, wingwaru, wingwar, model1, wingwar, model1_state, 0, ROT0, "Sega", "Wing War (US)", GAME_NOT_WORKING )
-GAME( 1994, wingwarj, wingwar, model1, wingwar, model1_state, 0, ROT0, "Sega", "Wing War (Japan)", GAME_NOT_WORKING )
+GAME( 1993, vf, 0, model1, vf, driver_device, 0, ROT0, "Sega", "Virtua Fighter", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, vr, 0, model1_vr, vr, driver_device, 0, ROT0, "Sega", "Virtua Racing", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, vformula, vr, model1_vr, vr, driver_device, 0, ROT0, "Sega", "Virtua Formula", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, swa, 0, swa, swa, driver_device, 0, ROT0, "Sega", "Star Wars Arcade", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1994, wingwar, 0, model1, wingwar, driver_device, 0, ROT0, "Sega", "Wing War (World)", GAME_NOT_WORKING )
+GAME( 1994, wingwaru, wingwar, model1, wingwar, driver_device, 0, ROT0, "Sega", "Wing War (US)", GAME_NOT_WORKING )
+GAME( 1994, wingwarj, wingwar, model1, wingwar, driver_device, 0, ROT0, "Sega", "Wing War (Japan)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/model2.c b/src/mame/drivers/model2.c
index 3de639184ca..78ddffbf354 100644
--- a/src/mame/drivers/model2.c
+++ b/src/mame/drivers/model2.c
@@ -5179,41 +5179,37 @@ ROM_START( desert ) /* Desert Tank, Model 2 */
MODEL2_CPU_BOARD
ROM_END
-static DRIVER_INIT( genprot )
+DRIVER_INIT_MEMBER(model2_state,genprot)
{
- model2_state *state = machine.driver_data<model2_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),state), write32_delegate(FUNC(model2_state::model2_prot_w),state));
- state->m_protstate = state->m_protpos = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),this), write32_delegate(FUNC(model2_state::model2_prot_w),this));
+ m_protstate = m_protpos = 0;
}
-static DRIVER_INIT( pltkids )
+DRIVER_INIT_MEMBER(model2_state,pltkids)
{
- model2_state *state = machine.driver_data<model2_state>();
- UINT32 *ROM = (UINT32 *)state->memregion("maincpu")->base();
+ UINT32 *ROM = (UINT32 *)memregion("maincpu")->base();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),state), write32_delegate(FUNC(model2_state::model2_prot_w),state));
- state->m_protstate = state->m_protpos = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),this), write32_delegate(FUNC(model2_state::model2_prot_w),this));
+ m_protstate = m_protpos = 0;
// fix bug in program: it destroys the interrupt table and never fixes it
ROM[0x730/4] = 0x08000004;
}
-static DRIVER_INIT( zerogun )
+DRIVER_INIT_MEMBER(model2_state,zerogun)
{
- model2_state *state = machine.driver_data<model2_state>();
- UINT32 *ROM = (UINT32 *)state->memregion("maincpu")->base();
+ UINT32 *ROM = (UINT32 *)memregion("maincpu")->base();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),state), write32_delegate(FUNC(model2_state::model2_prot_w),state));
- state->m_protstate = state->m_protpos = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),this), write32_delegate(FUNC(model2_state::model2_prot_w),this));
+ m_protstate = m_protpos = 0;
// fix bug in program: it destroys the interrupt table and never fixes it
ROM[0x700/4] = 0x08000004;
}
-static DRIVER_INIT( daytonam )
+DRIVER_INIT_MEMBER(model2_state,daytonam)
{
- model2_state *state = machine.driver_data<model2_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x240000, 0x24ffff, read32_delegate(FUNC(model2_state::maxx_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x240000, 0x24ffff, read32_delegate(FUNC(model2_state::maxx_r),this));
}
/* very crude support for let the game set itself into stand-alone mode */
@@ -5242,101 +5238,96 @@ WRITE32_MEMBER(model2_state::jaleco_network_w)
COMBINE_DATA(&m_netram[offset]);
}
-static DRIVER_INIT( sgt24h )
+DRIVER_INIT_MEMBER(model2_state,sgt24h)
{
- model2_state *state = machine.driver_data<model2_state>();
- UINT32 *ROM = (UINT32 *)state->memregion("maincpu")->base();
+ UINT32 *ROM = (UINT32 *)memregion("maincpu")->base();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),state), write32_delegate(FUNC(model2_state::model2_prot_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01a10000, 0x01a1ffff, read32_delegate(FUNC(model2_state::jaleco_network_r),state), write32_delegate(FUNC(model2_state::jaleco_network_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),this), write32_delegate(FUNC(model2_state::model2_prot_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01a10000, 0x01a1ffff, read32_delegate(FUNC(model2_state::jaleco_network_r),this), write32_delegate(FUNC(model2_state::jaleco_network_w),this));
- state->m_protstate = state->m_protpos = 0;
+ m_protstate = m_protpos = 0;
ROM[0x56578/4] = 0x08000004;
ROM[0x5b3e8/4] = 0x08000004;
}
-static DRIVER_INIT( overrev )
+DRIVER_INIT_MEMBER(model2_state,overrev)
{
- model2_state *state = machine.driver_data<model2_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01a10000, 0x01a1ffff, read32_delegate(FUNC(model2_state::jaleco_network_r),state), write32_delegate(FUNC(model2_state::jaleco_network_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01a10000, 0x01a1ffff, read32_delegate(FUNC(model2_state::jaleco_network_r),this), write32_delegate(FUNC(model2_state::jaleco_network_w),this));
//TODO: cache patch?
}
-static DRIVER_INIT( doa )
+DRIVER_INIT_MEMBER(model2_state,doa)
{
- model2_state *state = machine.driver_data<model2_state>();
- UINT32 *ROM = (UINT32 *)state->memregion("maincpu")->base();
+ UINT32 *ROM = (UINT32 *)memregion("maincpu")->base();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),state), write32_delegate(FUNC(model2_state::model2_prot_w),state));
- state->m_protstate = state->m_protpos = 0;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),this), write32_delegate(FUNC(model2_state::model2_prot_w),this));
+ m_protstate = m_protpos = 0;
ROM[0x630/4] = 0x08000004;
ROM[0x808/4] = 0x08000004;
}
-static DRIVER_INIT( rchase2 )
+DRIVER_INIT_MEMBER(model2_state,rchase2)
{
- model2_state *state = machine.driver_data<model2_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x01c00008, 0x01c0000b, write32_delegate(FUNC(model2_state::rchase2_devices_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x01c00008, 0x01c0000b, write32_delegate(FUNC(model2_state::rchase2_devices_w),this));
}
-static DRIVER_INIT( srallyc )
+DRIVER_INIT_MEMBER(model2_state,srallyc)
{
- model2_state *state = machine.driver_data<model2_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x01c00008, 0x01c0000b, write32_delegate(FUNC(model2_state::srallyc_devices_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x01c00008, 0x01c0000b, write32_delegate(FUNC(model2_state::srallyc_devices_w),this));
}
// Model 2 (TGPs, Model 1 sound board)
-GAME( 1993, daytona, 0, model2o, daytona, model2_state, 0, ROT0, "Sega", "Daytona USA (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, daytona93, daytona, model2o, daytona, model2_state, 0, ROT0, "Sega", "Daytona USA Deluxe '93", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, daytonas, daytona, model2o, daytona, model2_state, 0, ROT0, "Sega", "Daytona USA (With Saturn Adverts)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, daytonat, daytona, model2o, daytona, model2_state, 0, ROT0, "Sega", "Daytona USA (Japan, Turbo hack)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, daytona, 0, model2o, daytona, driver_device, 0, ROT0, "Sega", "Daytona USA (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, daytona93, daytona, model2o, daytona, driver_device, 0, ROT0, "Sega", "Daytona USA Deluxe '93", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, daytonas, daytona, model2o, daytona, driver_device, 0, ROT0, "Sega", "Daytona USA (With Saturn Adverts)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, daytonat, daytona, model2o, daytona, driver_device, 0, ROT0, "Sega", "Daytona USA (Japan, Turbo hack)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1993, daytonam, daytona, model2o, daytona, model2_state, daytonam, ROT0, "Sega", "Daytona USA (Japan, To The MAXX)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, desert, 0, model2o, desert, model2_state, 0, ROT0, "Sega / Martin Marietta", "Desert Tank", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, vcop, 0, model2o, daytona, model2_state, 0, ROT0, "Sega", "Virtua Cop (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, vcopa, 0, model2o, daytona, model2_state, 0, ROT0, "Sega", "Virtua Cop (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, desert, 0, model2o, desert, driver_device, 0, ROT0, "Sega / Martin Marietta", "Desert Tank", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, vcop, 0, model2o, daytona, driver_device, 0, ROT0, "Sega", "Virtua Cop (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, vcopa, 0, model2o, daytona, driver_device, 0, ROT0, "Sega", "Virtua Cop (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
// Model 2A-CRX (TGPs, SCSP sound board)
-GAME( 1995, manxtt, 0, model2a, model2, model2_state, 0, ROT0, "Sega", "Manx TT Superbike - Twin (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, manxtt, 0, model2a, model2, driver_device, 0, ROT0, "Sega", "Manx TT Superbike - Twin (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1995, srallyc, 0, srallyc, srallyc, model2_state,srallyc, ROT0, "Sega", "Sega Rally Championship (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1995, srallycb, srallyc, srallyc, srallyc, model2_state,srallyc, ROT0, "Sega", "Sega Rally Championship (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, vf2, 0, model2a, model2, model2_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Version 2.1)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, vf2b, vf2, model2a, model2, model2_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, vf2a, vf2, model2a, model2, model2_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, vf2o, vf2, model2a, model2, model2_state, 0, ROT0, "Sega", "Virtua Fighter 2", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, vcop2, 0, model2a, model2, model2_state, 0, ROT0, "Sega", "Virtua Cop 2", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, skytargt, 0, model2a, model2, model2_state, 0, ROT0, "Sega", "Sky Target", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, vf2, 0, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2 (Version 2.1)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, vf2b, vf2, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, vf2a, vf2, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, vf2o, vf2, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, vcop2, 0, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Cop 2", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, skytargt, 0, model2a, model2, driver_device, 0, ROT0, "Sega", "Sky Target", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1996, doaa, doa, model2a, model2, model2_state, doa, ROT0, "Sega", "Dead or Alive (Model 2A, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1997, zeroguna, zerogun, model2a, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1997, zerogunaj, zerogun, model2a, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, motoraid, 0, model2a, model2, model2_state, 0, ROT0, "Sega", "Motor Raid - Twin", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, motoraid, 0, model2a, model2, driver_device, 0, ROT0, "Sega", "Motor Raid - Twin", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1998, dynamcop, 0, model2a, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1998, dyndeka2, dynamcop, model2a, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1998, pltkidsa, pltkids, model2a, model2, model2_state, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
// Model 2B-CRX (SHARC, SCSP sound board)
-GAME( 1994, vstriker, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Virtua Striker (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, vstrikero,vstriker, model2b, model2, model2_state, 0, ROT0, "Sega", "Virtua Striker", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, fvipers, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Fighting Vipers (Revision D)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, gunblade, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Gunblade NY (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, indy500, 0, model2b, srallyc, model2_state,0, ROT0, "Sega", "INDY 500 Twin (Revision A, Newer)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, indy500d, indy500, model2b, srallyc, model2_state,0, ROT0, "Sega", "INDY 500 Deluxe (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, indy500to, indy500, model2b, srallyc, model2_state,0, ROT0, "Sega", "INDY 500 Twin (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, schamp, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Sonic Championship (USA)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, sfight, schamp, model2b, model2, model2_state, 0, ROT0, "Sega", "Sonic the Fighters (Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, lastbrnx, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Last Bronx (Export, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, lastbrnxu,lastbrnx, model2b, model2, model2_state, 0, ROT0, "Sega", "Last Bronx (USA, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, lastbrnxj,lastbrnx, model2b, model2, model2_state, 0, ROT0, "Sega", "Last Bronx (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, vstriker, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Virtua Striker (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, vstrikero,vstriker, model2b, model2, driver_device, 0, ROT0, "Sega", "Virtua Striker", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, fvipers, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Fighting Vipers (Revision D)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, gunblade, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Gunblade NY (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, indy500, 0, model2b, srallyc, driver_device,0, ROT0, "Sega", "INDY 500 Twin (Revision A, Newer)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, indy500d, indy500, model2b, srallyc, driver_device,0, ROT0, "Sega", "INDY 500 Deluxe (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, indy500to, indy500, model2b, srallyc, driver_device,0, ROT0, "Sega", "INDY 500 Twin (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, schamp, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Sonic Championship (USA)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, sfight, schamp, model2b, model2, driver_device, 0, ROT0, "Sega", "Sonic the Fighters (Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, lastbrnx, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Last Bronx (Export, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, lastbrnxu,lastbrnx, model2b, model2, driver_device, 0, ROT0, "Sega", "Last Bronx (USA, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, lastbrnxj,lastbrnx, model2b, model2, driver_device, 0, ROT0, "Sega", "Last Bronx (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1996, doa, 0, model2b, model2, model2_state, doa, ROT0, "Sega", "Dead or Alive (Model 2B, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1996, sgt24h, 0, model2b, srallyc, model2_state,sgt24h, ROT0, "Jaleco", "Super GT 24h", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, von, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (USA, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, vonj, von, model2b, model2, model2_state, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (Japan, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, dynabb, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Dynamite Baseball", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, dynabb97, 0, model2b, model2, model2_state, 0, ROT0, "Sega", "Dynamite Baseball 97 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, von, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (USA, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, vonj, von, model2b, model2, driver_device, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (Japan, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, dynabb, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Dynamite Baseball", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, dynabb97, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Dynamite Baseball 97 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1997, overrevb, overrev, model2b, srallyc, model2_state,overrev, ROT0, "Jaleco", "Over Rev (Model 2B, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1997, zerogun, 0, model2b, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1997, zerogunj, zerogun, model2b, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
@@ -5346,17 +5337,17 @@ GAME( 1998, pltkids, 0, model2b, model2, model2_state, pltkids, ROT0, "P
GAME( 1995, rchase2, 0, model2b, rchase2, model2_state,rchase2, ROT0, "Sega", "Rail Chase 2 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
// Model 2C-CRX (TGPx4, SCSP sound board)
-GAME( 1996, skisuprg, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "Sega Ski Super G", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, stcc, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "Sega Touring Car Championship", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, stcca, stcc, model2c, model2, model2_state, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, stccb, stcc, model2c, model2, model2_state, 0, ROT0, "Sega", "Sega Touring Car Championship (Unknown Revision)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, waverunr, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "Wave Runner (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, hotd, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "House of the Dead", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, skisuprg, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Ski Super G", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, stcc, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, stcca, stcc, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, stccb, stcc, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship (Unknown Revision)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, waverunr, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Wave Runner (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, hotd, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "House of the Dead", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1997, overrev, 0, model2c, srallyc, model2_state,overrev, ROT0, "Jaleco", "Over Rev (Model 2C, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, segawski, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "Sega Water Ski (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, topskatr, 0, model2c, model2, model2_state, 0, ROT0, "Sega", "Top Skater (Export, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, topskatru,topskatr, model2c, model2, model2_state, 0, ROT0, "Sega", "Top Skater (USA, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, topskatrj,topskatr, model2c, model2, model2_state, 0, ROT0, "Sega", "Top Skater (Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, bel, 0, model2c, bel, model2_state, 0, ROT0, "Sega / EPL Productions", "Behind Enemy Lines", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, dynamcopc,dynamcop, model2c, model2, model2_state, 0, ROT0, "Sega", "Dynamite Cop (USA, Model 2C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, segawski, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Water Ski (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, topskatr, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Top Skater (Export, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, topskatru,topskatr, model2c, model2, driver_device, 0, ROT0, "Sega", "Top Skater (USA, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, topskatrj,topskatr, model2c, model2, driver_device, 0, ROT0, "Sega", "Top Skater (Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, bel, 0, model2c, bel, driver_device, 0, ROT0, "Sega / EPL Productions", "Behind Enemy Lines", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, dynamcopc,dynamcop, model2c, model2, driver_device, 0, ROT0, "Sega", "Dynamite Cop (USA, Model 2C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/model3.c b/src/mame/drivers/model3.c
index 7b3292bab54..bdfe49c2025 100644
--- a/src/mame/drivers/model3.c
+++ b/src/mame/drivers/model3.c
@@ -5492,77 +5492,71 @@ static void interleave_vroms(running_machine &machine)
}
}
-static DRIVER_INIT( model3_10 )
+DRIVER_INIT_MEMBER(model3_state,model3_10)
{
- model3_state *state = machine.driver_data<model3_state>();
- interleave_vroms(machine);
+ interleave_vroms(machine());
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc0000000, 0xc00000ff, read64_delegate(FUNC(model3_state::scsi_r),state), write64_delegate(FUNC(model3_state::scsi_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc0000000, 0xc00000ff, read64_delegate(FUNC(model3_state::scsi_r),this), write64_delegate(FUNC(model3_state::scsi_w),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc105_addr_r),state), write64_delegate(FUNC(model3_state::mpc105_addr_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc105_data_r),state), write64_delegate(FUNC(model3_state::mpc105_data_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc105_reg_r),state), write64_delegate(FUNC(model3_state::mpc105_reg_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc105_addr_r),this), write64_delegate(FUNC(model3_state::mpc105_addr_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc105_data_r),this), write64_delegate(FUNC(model3_state::mpc105_data_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc105_reg_r),this), write64_delegate(FUNC(model3_state::mpc105_reg_w),this));
}
-static DRIVER_INIT( model3_15 )
+DRIVER_INIT_MEMBER(model3_state,model3_15)
{
- model3_state *state = machine.driver_data<model3_state>();
- interleave_vroms(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
+ interleave_vroms(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc105_addr_r),state), write64_delegate(FUNC(model3_state::mpc105_addr_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc105_data_r),state), write64_delegate(FUNC(model3_state::mpc105_data_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc105_reg_r),state), write64_delegate(FUNC(model3_state::mpc105_reg_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc105_addr_r),this), write64_delegate(FUNC(model3_state::mpc105_addr_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc105_data_r),this), write64_delegate(FUNC(model3_state::mpc105_data_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc105_reg_r),this), write64_delegate(FUNC(model3_state::mpc105_reg_w),this));
}
-static DRIVER_INIT( model3_20 )
+DRIVER_INIT_MEMBER(model3_state,model3_20)
{
- model3_state *state = machine.driver_data<model3_state>();
- interleave_vroms(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
+ interleave_vroms(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc2000000, 0xc20000ff, read64_delegate(FUNC(model3_state::real3d_dma_r),state), write64_delegate(FUNC(model3_state::real3d_dma_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc2000000, 0xc20000ff, read64_delegate(FUNC(model3_state::real3d_dma_r),this), write64_delegate(FUNC(model3_state::real3d_dma_w),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfec00000, 0xfedfffff, read64_delegate(FUNC(model3_state::mpc106_addr_r),state), write64_delegate(FUNC(model3_state::mpc106_addr_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfee00000, 0xfeffffff, read64_delegate(FUNC(model3_state::mpc106_data_r),state), write64_delegate(FUNC(model3_state::mpc106_data_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc106_reg_r),state), write64_delegate(FUNC(model3_state::mpc106_reg_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfec00000, 0xfedfffff, read64_delegate(FUNC(model3_state::mpc106_addr_r),this), write64_delegate(FUNC(model3_state::mpc106_addr_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfee00000, 0xfeffffff, read64_delegate(FUNC(model3_state::mpc106_data_r),this), write64_delegate(FUNC(model3_state::mpc106_data_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc106_reg_r),this), write64_delegate(FUNC(model3_state::mpc106_reg_w),this));
}
-static DRIVER_INIT( lostwsga )
+DRIVER_INIT_MEMBER(model3_state,lostwsga)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_15);
/* TODO: there's an M68K device at 0xC0000000 - FF, maybe lightgun controls ? */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc1000000, 0xc10000ff, read64_delegate(FUNC(model3_state::scsi_r),state), write64_delegate(FUNC(model3_state::scsi_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc1000000, 0xc10000ff, read64_delegate(FUNC(model3_state::scsi_r),this), write64_delegate(FUNC(model3_state::scsi_w),this));
rom[0x7374f0/4] = 0x38840004; /* This seems to be an actual bug in the original code */
}
-static DRIVER_INIT( scud )
+DRIVER_INIT_MEMBER(model3_state,scud)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_15);
/* TODO: network device at 0xC0000000 - FF */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf9000000, 0xf90000ff, read64_delegate(FUNC(model3_state::scsi_r),state), write64_delegate(FUNC(model3_state::scsi_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf9000000, 0xf90000ff, read64_delegate(FUNC(model3_state::scsi_r),this), write64_delegate(FUNC(model3_state::scsi_w),this));
rom[(0x71275c^4)/4] = 0x60000000;
rom[(0x71277c^4)/4] = 0x60000000;
}
-static DRIVER_INIT( scudplus )
+DRIVER_INIT_MEMBER(model3_state,scudplus)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_15);
/* TODO: network device at 0xC0000000 - FF */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc1000000, 0xc10000ff, read64_delegate(FUNC(model3_state::scsi_r),state), write64_delegate(FUNC(model3_state::scsi_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc1000000, 0xc10000ff, read64_delegate(FUNC(model3_state::scsi_r),this), write64_delegate(FUNC(model3_state::scsi_w),this));
rom[(0x713724^4)/4] = 0x60000000;
rom[(0x713744^4)/4] = 0x60000000;
@@ -5573,14 +5567,13 @@ static DRIVER_INIT( scudplus )
rom[(0x741efc^4)/4] = 0x60000000;
}
-static DRIVER_INIT( scudplusa )
+DRIVER_INIT_MEMBER(model3_state,scudplusa)
{
- model3_state *state = machine.driver_data<model3_state>();
- //UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ //UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_15);
/* TODO: network device at 0xC0000000 - FF */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc1000000, 0xc10000ff, read64_delegate(FUNC(model3_state::scsi_r),state), write64_delegate(FUNC(model3_state::scsi_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc1000000, 0xc10000ff, read64_delegate(FUNC(model3_state::scsi_r),this), write64_delegate(FUNC(model3_state::scsi_w),this));
//rom[(0x713724^4)/4] = 0x60000000; // Fix ME!!!! Needs to corrected for the non REV A version!!!!
//rom[(0x713744^4)/4] = 0x60000000;
@@ -5591,13 +5584,12 @@ static DRIVER_INIT( scudplusa )
//rom[(0x741efc^4)/4] = 0x60000000;
}
-static DRIVER_INIT( lemans24 )
+DRIVER_INIT_MEMBER(model3_state,lemans24)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_15);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc1000000, 0xc10000ff, read64_delegate(FUNC(model3_state::scsi_r),state), write64_delegate(FUNC(model3_state::scsi_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc1000000, 0xc10000ff, read64_delegate(FUNC(model3_state::scsi_r),this), write64_delegate(FUNC(model3_state::scsi_w),this));
rom[(0x73fe38^4)/4] = 0x38840004; /* This seems to be an actual bug in the original code */
@@ -5606,9 +5598,9 @@ static DRIVER_INIT( lemans24 )
rom[(0x73edc4^4)/4] = 0x60000000;
}
-static DRIVER_INIT( vf3 )
+DRIVER_INIT_MEMBER(model3_state,vf3)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_10);
@@ -5619,83 +5611,79 @@ static DRIVER_INIT( vf3 )
}
-static DRIVER_INIT( vs215 )
+DRIVER_INIT_MEMBER(model3_state,vs215)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
rom[(0x70dde0^4)/4] = 0x60000000;
rom[(0x70e6f0^4)/4] = 0x60000000;
rom[(0x70e710^4)/4] = 0x60000000;
- interleave_vroms(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
+ interleave_vroms(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf9000000, 0xf90000ff, read64_delegate(FUNC(model3_state::scsi_r),state), write64_delegate(FUNC(model3_state::scsi_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf9000000, 0xf90000ff, read64_delegate(FUNC(model3_state::scsi_r),this), write64_delegate(FUNC(model3_state::scsi_w),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc106_addr_r),state), write64_delegate(FUNC(model3_state::mpc106_addr_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfec00000, 0xfedfffff, read64_delegate(FUNC(model3_state::mpc106_addr_r),state), write64_delegate(FUNC(model3_state::mpc106_addr_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc106_data_r),state), write64_delegate(FUNC(model3_state::mpc106_data_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfee00000, 0xfeffffff, read64_delegate(FUNC(model3_state::mpc106_data_r),state), write64_delegate(FUNC(model3_state::mpc106_data_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc106_reg_r),state), write64_delegate(FUNC(model3_state::mpc106_reg_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc106_addr_r),this), write64_delegate(FUNC(model3_state::mpc106_addr_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfec00000, 0xfedfffff, read64_delegate(FUNC(model3_state::mpc106_addr_r),this), write64_delegate(FUNC(model3_state::mpc106_addr_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc106_data_r),this), write64_delegate(FUNC(model3_state::mpc106_data_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfee00000, 0xfeffffff, read64_delegate(FUNC(model3_state::mpc106_data_r),this), write64_delegate(FUNC(model3_state::mpc106_data_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc106_reg_r),this), write64_delegate(FUNC(model3_state::mpc106_reg_w),this));
}
-static DRIVER_INIT( vs29815 )
+DRIVER_INIT_MEMBER(model3_state,vs29815)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
rom[(0x6028ec^4)/4] = 0x60000000;
rom[(0x60290c^4)/4] = 0x60000000;
- interleave_vroms(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
+ interleave_vroms(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf9000000, 0xf90000ff, read64_delegate(FUNC(model3_state::scsi_r),state), write64_delegate(FUNC(model3_state::scsi_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf9000000, 0xf90000ff, read64_delegate(FUNC(model3_state::scsi_r),this), write64_delegate(FUNC(model3_state::scsi_w),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc106_addr_r),state), write64_delegate(FUNC(model3_state::mpc106_addr_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfec00000, 0xfedfffff, read64_delegate(FUNC(model3_state::mpc106_addr_r),state), write64_delegate(FUNC(model3_state::mpc106_addr_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc106_data_r),state), write64_delegate(FUNC(model3_state::mpc106_data_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfee00000, 0xfeffffff, read64_delegate(FUNC(model3_state::mpc106_data_r),state), write64_delegate(FUNC(model3_state::mpc106_data_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc106_reg_r),state), write64_delegate(FUNC(model3_state::mpc106_reg_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc106_addr_r),this), write64_delegate(FUNC(model3_state::mpc106_addr_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfec00000, 0xfedfffff, read64_delegate(FUNC(model3_state::mpc106_addr_r),this), write64_delegate(FUNC(model3_state::mpc106_addr_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc106_data_r),this), write64_delegate(FUNC(model3_state::mpc106_data_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfee00000, 0xfeffffff, read64_delegate(FUNC(model3_state::mpc106_data_r),this), write64_delegate(FUNC(model3_state::mpc106_data_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc106_reg_r),this), write64_delegate(FUNC(model3_state::mpc106_reg_w),this));
}
-static DRIVER_INIT( bass )
+DRIVER_INIT_MEMBER(model3_state,bass)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
rom[(0x7999a8^4)/4] = 0x60000000;
rom[(0x7999c8^4)/4] = 0x60000000;
- interleave_vroms(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
+ interleave_vroms(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf9000000, 0xf90000ff, read64_delegate(FUNC(model3_state::scsi_r),state), write64_delegate(FUNC(model3_state::scsi_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf9000000, 0xf90000ff, read64_delegate(FUNC(model3_state::scsi_r),this), write64_delegate(FUNC(model3_state::scsi_w),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc106_addr_r),state), write64_delegate(FUNC(model3_state::mpc106_addr_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfec00000, 0xfedfffff, read64_delegate(FUNC(model3_state::mpc106_addr_r),state), write64_delegate(FUNC(model3_state::mpc106_addr_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc106_data_r),state), write64_delegate(FUNC(model3_state::mpc106_data_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfee00000, 0xfeffffff, read64_delegate(FUNC(model3_state::mpc106_data_r),state), write64_delegate(FUNC(model3_state::mpc106_data_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc106_reg_r),state), write64_delegate(FUNC(model3_state::mpc106_reg_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc106_addr_r),this), write64_delegate(FUNC(model3_state::mpc106_addr_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfec00000, 0xfedfffff, read64_delegate(FUNC(model3_state::mpc106_addr_r),this), write64_delegate(FUNC(model3_state::mpc106_addr_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc106_data_r),this), write64_delegate(FUNC(model3_state::mpc106_data_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xfee00000, 0xfeffffff, read64_delegate(FUNC(model3_state::mpc106_data_r),this), write64_delegate(FUNC(model3_state::mpc106_data_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc106_reg_r),this), write64_delegate(FUNC(model3_state::mpc106_reg_w),this));
}
-static DRIVER_INIT( getbass )
+DRIVER_INIT_MEMBER(model3_state,getbass)
{
- model3_state *state = machine.driver_data<model3_state>();
- interleave_vroms(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
+ interleave_vroms(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xff000000, 0xff7fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf9000000, 0xf90000ff, read64_delegate(FUNC(model3_state::scsi_r),state), write64_delegate(FUNC(model3_state::scsi_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf9000000, 0xf90000ff, read64_delegate(FUNC(model3_state::scsi_r),this), write64_delegate(FUNC(model3_state::scsi_w),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc105_addr_r),state), write64_delegate(FUNC(model3_state::mpc105_addr_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc105_data_r),state), write64_delegate(FUNC(model3_state::mpc105_data_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc105_reg_r),state), write64_delegate(FUNC(model3_state::mpc105_reg_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0800cf8, 0xf0800cff, read64_delegate(FUNC(model3_state::mpc105_addr_r),this), write64_delegate(FUNC(model3_state::mpc105_addr_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf0c00cf8, 0xf0c00cff, read64_delegate(FUNC(model3_state::mpc105_data_r),this), write64_delegate(FUNC(model3_state::mpc105_data_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xf8fff000, 0xf8fff0ff, read64_delegate(FUNC(model3_state::mpc105_reg_r),this), write64_delegate(FUNC(model3_state::mpc105_reg_w),this));
}
-static DRIVER_INIT( vs2 )
+DRIVER_INIT_MEMBER(model3_state,vs2)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
@@ -5703,9 +5691,9 @@ static DRIVER_INIT( vs2 )
rom[(0x7058a4^4)/4] = 0x60000000;
}
-static DRIVER_INIT( vs298 )
+DRIVER_INIT_MEMBER(model3_state,vs298)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
@@ -5714,9 +5702,9 @@ static DRIVER_INIT( vs298 )
}
-static DRIVER_INIT( vs2v991 )
+DRIVER_INIT_MEMBER(model3_state,vs2v991)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
@@ -5724,9 +5712,9 @@ static DRIVER_INIT( vs2v991 )
rom[(0x603888^4)/4] = 0x60000000;
}
-static DRIVER_INIT( vs299b )
+DRIVER_INIT_MEMBER(model3_state,vs299b)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
@@ -5734,9 +5722,9 @@ static DRIVER_INIT( vs299b )
rom[(0x603888^4)/4] = 0x60000000;
}
-static DRIVER_INIT( vs299a )
+DRIVER_INIT_MEMBER(model3_state,vs299a)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
@@ -5744,9 +5732,9 @@ static DRIVER_INIT( vs299a )
rom[(0x603888^4)/4] = 0x60000000;
}
-static DRIVER_INIT( vs299 )
+DRIVER_INIT_MEMBER(model3_state,vs299)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
@@ -5754,14 +5742,13 @@ static DRIVER_INIT( vs299 )
rom[(0x603888^4)/4] = 0x60000000;
}
-static DRIVER_INIT( harley )
+DRIVER_INIT_MEMBER(model3_state,harley)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
- state->m_network_ram = auto_alloc_array_clear(machine, UINT64, 0x10000);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc0000000, 0xc00fffff, read64_delegate(FUNC(model3_state::network_r),state), write64_delegate(FUNC(model3_state::network_w),state));
+ m_network_ram = auto_alloc_array_clear(machine(), UINT64, 0x10000);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc0000000, 0xc00fffff, read64_delegate(FUNC(model3_state::network_r),this), write64_delegate(FUNC(model3_state::network_w),this));
rom[(0x50ecb4^4)/4] = 0x60000000;
rom[(0x50ecd4^4)/4] = 0x60000000;
@@ -5770,14 +5757,13 @@ static DRIVER_INIT( harley )
//rom[(0x4f738c^4)/4] = 0x60000000; // Fix ME!! Needs to be updated for the REV B version!!
}
-static DRIVER_INIT( harleya )
+DRIVER_INIT_MEMBER(model3_state,harleya)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
- state->m_network_ram = auto_alloc_array_clear(machine, UINT64, 0x10000);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc0000000, 0xc00fffff, read64_delegate(FUNC(model3_state::network_r),state), write64_delegate(FUNC(model3_state::network_w),state));
+ m_network_ram = auto_alloc_array_clear(machine(), UINT64, 0x10000);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc0000000, 0xc00fffff, read64_delegate(FUNC(model3_state::network_r),this), write64_delegate(FUNC(model3_state::network_w),this));
rom[(0x50e8d4^4)/4] = 0x60000000;
rom[(0x50e8f4^4)/4] = 0x60000000;
@@ -5787,9 +5773,9 @@ static DRIVER_INIT( harleya )
}
-static DRIVER_INIT( srally2 )
+DRIVER_INIT_MEMBER(model3_state,srally2)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
rom[(0x7c0c4^4)/4] = 0x60000000;
@@ -5797,9 +5783,9 @@ static DRIVER_INIT( srally2 )
rom[(0x7c0cc^4)/4] = 0x60000000;
}
-static DRIVER_INIT( swtrilgy )
+DRIVER_INIT_MEMBER(model3_state,swtrilgy)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
rom[(0xf0e48^4)/4] = 0x60000000;
@@ -5808,17 +5794,17 @@ static DRIVER_INIT( swtrilgy )
rom[(0x02a0c^4)/4] = 0x60000000;
}
-static DRIVER_INIT( swtrilga )
+DRIVER_INIT_MEMBER(model3_state,swtrilga)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
rom[(0xf6dd0^4)/4] = 0x60000000;
}
-static DRIVER_INIT( von2 )
+DRIVER_INIT_MEMBER(model3_state,von2)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
rom[(0x189168^4)/4] = 0x60000000;
@@ -5828,9 +5814,9 @@ static DRIVER_INIT( von2 )
rom[(0x1891c8^4)/4] = 0x60000000;
}
-static DRIVER_INIT( dirtdvls )
+DRIVER_INIT_MEMBER(model3_state,dirtdvls)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
rom[(0x0600a0^4)/4] = 0x60000000;
@@ -5841,14 +5827,13 @@ static DRIVER_INIT( dirtdvls )
rom[(0x001e24^4)/4] = 0x60000000;
}
-static DRIVER_INIT( daytona2 )
+DRIVER_INIT_MEMBER(model3_state,daytona2)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc3800000, 0xc3800007, write64_delegate(FUNC(model3_state::daytona2_rombank_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xc3000000, 0xc37fffff, "bank2" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc3800000, 0xc3800007, write64_delegate(FUNC(model3_state::daytona2_rombank_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xc3000000, 0xc37fffff, "bank2" );
//rom[(0x68468c^4)/4] = 0x60000000;
rom[(0x6063c4^4)/4] = 0x60000000;
@@ -5856,14 +5841,13 @@ static DRIVER_INIT( daytona2 )
rom[(0x69f4e4^4)/4] = 0x60000000;
}
-static DRIVER_INIT( dayto2pe )
+DRIVER_INIT_MEMBER(model3_state,dayto2pe)
{
- model3_state *state = machine.driver_data<model3_state>();
- UINT32 *rom = (UINT32*)state->memregion("user1")->base();
+ UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc3800000, 0xc3800007, write64_delegate(FUNC(model3_state::daytona2_rombank_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xc3000000, 0xc37fffff, "bank2" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc3800000, 0xc3800007, write64_delegate(FUNC(model3_state::daytona2_rombank_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xc3000000, 0xc37fffff, "bank2" );
rom[(0x606784^4)/4] = 0x60000000;
rom[(0x69a3fc^4)/4] = 0x60000000; // jump to encrypted code
@@ -5872,27 +5856,27 @@ static DRIVER_INIT( dayto2pe )
rom[(0x64ca34^4)/4] = 0x60000000; // dec
}
-static DRIVER_INIT( spikeout )
+DRIVER_INIT_MEMBER(model3_state,spikeout)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
rom[(0x6059cc^4)/4] = 0x60000000;
rom[(0x6059ec^4)/4] = 0x60000000;
}
-static DRIVER_INIT( spikeofe )
+DRIVER_INIT_MEMBER(model3_state,spikeofe)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
rom[(0x6059cc^4)/4] = 0x60000000;
rom[(0x6059ec^4)/4] = 0x60000000;
}
-static DRIVER_INIT( eca )
+DRIVER_INIT_MEMBER(model3_state,eca)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
rom[(0x535580^4)/4] = 0x60000000;
@@ -5900,9 +5884,9 @@ static DRIVER_INIT( eca )
rom[(0x5023d4^4)/4] = 0x60000000;
}
-static DRIVER_INIT( skichamp )
+DRIVER_INIT_MEMBER(model3_state,skichamp)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
rom[(0x5263c8^4)/4] = 0x60000000;
@@ -5911,9 +5895,9 @@ static DRIVER_INIT( skichamp )
rom[(0x516b9c^4)/4] = 0x60000000; // decrementer
}
-static DRIVER_INIT( oceanhun )
+DRIVER_INIT_MEMBER(model3_state,oceanhun)
{
- UINT32 *rom = (UINT32*)machine.root_device().memregion("user1")->base();
+ UINT32 *rom = (UINT32*)machine().root_device().memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
rom[(0x57995c^4)/4] = 0x60000000; // decrementer
diff --git a/src/mame/drivers/mogura.c b/src/mame/drivers/mogura.c
index 9869aa3c454..29a5fc9b09d 100644
--- a/src/mame/drivers/mogura.c
+++ b/src/mame/drivers/mogura.c
@@ -240,4 +240,4 @@ ROM_START( mogura )
ROM_LOAD( "gx141.7j", 0x00, 0x20, CRC(b21c5d5f) SHA1(6913c840dd69a7d4687f4c4cbe3ff12300f62bc2) )
ROM_END
-GAME( 1991, mogura, 0, mogura, mogura, mogura_state, 0, ROT0, "Konami", "Mogura Desse (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, mogura, 0, mogura, mogura, driver_device, 0, ROT0, "Konami", "Mogura Desse (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mole.c b/src/mame/drivers/mole.c
index 360b571fcee..288db96d3f6 100644
--- a/src/mame/drivers/mole.c
+++ b/src/mame/drivers/mole.c
@@ -375,4 +375,4 @@ ROM_END
*
*************************************/
-GAME( 1982, mole, 0, mole, mole, mole_state, 0, ROT0, "Yachiyo Electronics, Ltd.", "Mole Attack", GAME_SUPPORTS_SAVE )
+GAME( 1982, mole, 0, mole, mole, driver_device, 0, ROT0, "Yachiyo Electronics, Ltd.", "Mole Attack", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/momoko.c b/src/mame/drivers/momoko.c
index 4b71422c905..b551407dea9 100644
--- a/src/mame/drivers/momoko.c
+++ b/src/mame/drivers/momoko.c
@@ -344,4 +344,4 @@ ROM_START( momoko )
ROM_LOAD( "momoko-b.bin", 0x0100, 0x0020, CRC(427b0e5c) SHA1(aa2797b899571527cc96013fd3420b841954ee67) )
ROM_END
-GAME( 1986, momoko, 0, momoko, momoko, momoko_state, 0, ROT0, "Jaleco", "Momoko 120%", GAME_SUPPORTS_SAVE )
+GAME( 1986, momoko, 0, momoko, momoko, driver_device, 0, ROT0, "Jaleco", "Momoko 120%", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/monzagp.c b/src/mame/drivers/monzagp.c
index 87a7e1912be..390e3d68c89 100644
--- a/src/mame/drivers/monzagp.c
+++ b/src/mame/drivers/monzagp.c
@@ -307,4 +307,4 @@ ROM_START( monzagp )
ROM_LOAD( "74s287.7", 0x0600, 0x0100, CRC(3248ba56) SHA1(d449f4be8df1b4189afca55a4cf0cc2e19eb4dd4) )
ROM_END
-GAME( 1981, monzagp, 0, monzagp, monzagp, monzagp_state, 0, ROT270, "Olympia", "Monza GP", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1981, monzagp, 0, monzagp, monzagp, driver_device, 0, ROT270, "Olympia", "Monza GP", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/moo.c b/src/mame/drivers/moo.c
index 618b516210b..894c8644b25 100644
--- a/src/mame/drivers/moo.c
+++ b/src/mame/drivers/moo.c
@@ -917,10 +917,9 @@ ROM_START( moomesabl )
ROM_LOAD( "moo.nv", 0x0000, 0x080, CRC(7bd904a8) SHA1(8747c5c62d1832e290be8ace73c61b1f228c0bec) )
ROM_END
-static DRIVER_INIT( moo )
+DRIVER_INIT_MEMBER(moo_state,moo)
{
- moo_state *state = machine.driver_data<moo_state>();
- state->m_game_type = (!strcmp(machine.system().name, "bucky") || !strcmp(machine.system().name, "buckyua"));
+ m_game_type = (!strcmp(machine().system().name, "bucky") || !strcmp(machine().system().name, "buckyua"));
}
diff --git a/src/mame/drivers/mosaic.c b/src/mame/drivers/mosaic.c
index 3c86210f1eb..4b5409d6031 100644
--- a/src/mame/drivers/mosaic.c
+++ b/src/mame/drivers/mosaic.c
@@ -362,7 +362,7 @@ ROM_END
-GAME( 1990, mosaic, 0, mosaic, mosaic, mosaic_state, 0, ROT0, "Space", "Mosaic", 0 )
-GAME( 1990, mosaica, mosaic, mosaic, mosaic, mosaic_state, 0, ROT0, "Space (Fuuki license)", "Mosaic (Fuuki)", 0 )
-GAME( 1992, gfire2, 0, gfire2, gfire2, mosaic_state, 0, ROT0, "Topis Corp", "Golden Fire II", 0 )
+GAME( 1990, mosaic, 0, mosaic, mosaic, driver_device, 0, ROT0, "Space", "Mosaic", 0 )
+GAME( 1990, mosaica, mosaic, mosaic, mosaic, driver_device, 0, ROT0, "Space (Fuuki license)", "Mosaic (Fuuki)", 0 )
+GAME( 1992, gfire2, 0, gfire2, gfire2, driver_device, 0, ROT0, "Topis Corp", "Golden Fire II", 0 )
diff --git a/src/mame/drivers/mouser.c b/src/mame/drivers/mouser.c
index 5704882986f..275cca59f89 100644
--- a/src/mame/drivers/mouser.c
+++ b/src/mame/drivers/mouser.c
@@ -289,15 +289,15 @@ ROM_START( mouserc )
ROM_END
-static DRIVER_INIT( mouser )
+DRIVER_INIT_MEMBER(mouser_state,mouser)
{
/* Decode the opcodes */
offs_t i;
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8 *decrypted = auto_alloc_array(machine, UINT8, 0x6000);
- UINT8 *table = machine.root_device().memregion("user1")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8 *decrypted = auto_alloc_array(machine(), UINT8, 0x6000);
+ UINT8 *table = machine().root_device().memregion("user1")->base();
space->set_decrypted_region(0x0000, 0x5fff, decrypted);
diff --git a/src/mame/drivers/mpoker.c b/src/mame/drivers/mpoker.c
index 33356f0c6d8..70ca90bc5b9 100644
--- a/src/mame/drivers/mpoker.c
+++ b/src/mame/drivers/mpoker.c
@@ -630,4 +630,4 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS... LAYOUT */
-GAMEL( 1981, mpoker, 0, mpoker, mpoker, mpoker_state, 0, ROT0, "Merit", "Multi-Poker", GAME_WRONG_COLORS | GAME_NO_SOUND, layout_mpoker )
+GAMEL( 1981, mpoker, 0, mpoker, mpoker, driver_device, 0, ROT0, "Merit", "Multi-Poker", GAME_WRONG_COLORS | GAME_NO_SOUND, layout_mpoker )
diff --git a/src/mame/drivers/mpu2.c b/src/mame/drivers/mpu2.c
index 7070d1fb28f..638975c473e 100644
--- a/src/mame/drivers/mpu2.c
+++ b/src/mame/drivers/mpu2.c
@@ -97,5 +97,5 @@ ROM_START( m2svlite )
ROM_LOAD( "sl1.bin", 0x0000, 0x0800, CRC(afe04b5a) SHA1(3b3385a9b039992279fda5b87926b5089a448581) )
ROM_END
-GAME(198?, m2hilite, 0, mpu2, mpu2, mpu2_state, 0, ROT0, "Barcrest", "Hi-Lights (Barcrest) (MPU2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, m2svlite, 0, mpu2, mpu2, mpu2_state, 0, ROT0, "Barcrest", "Silver Lights (Barcrest) (MPU2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, m2hilite, 0, mpu2, mpu2, driver_device, 0, ROT0, "Barcrest", "Hi-Lights (Barcrest) (MPU2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, m2svlite, 0, mpu2, mpu2, driver_device, 0, ROT0, "Barcrest", "Silver Lights (Barcrest) (MPU2)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/mpu3.c b/src/mame/drivers/mpu3.c
index 1a3faacb6b2..4f0da829c11 100644
--- a/src/mame/drivers/mpu3.c
+++ b/src/mame/drivers/mpu3.c
@@ -180,6 +180,7 @@ emu_timer *m_ic21_timer;
DECLARE_READ8_MEMBER(pia_ic6_portb_r);
DECLARE_WRITE8_MEMBER(pia_ic6_porta_w);
DECLARE_WRITE8_MEMBER(pia_ic6_portb_w);
+ DECLARE_DRIVER_INIT(m3hprvpr);
};
#define DISPLAY_PORT 0
@@ -931,14 +932,13 @@ static const mpu3_chr_table hprvpr_data[64] = {
{0x0d, 0x04},{0x1f, 0xc0},{0x16, 0xc8},{0x05, 0x78},{0x13, 0xd4},{0x1c, 0x0c},{0x02, 0x74},{0x00, 0x00},
};
-static DRIVER_INIT (m3hprvpr)
+DRIVER_INIT_MEMBER(mpu3_state,m3hprvpr)
{
- mpu3_state *state = machine.driver_data<mpu3_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- state->m_disp_func=METER_PORT;
- state->m_current_chr_table = hprvpr_data;
- space->install_readwrite_handler(0xc000, 0xc000 , read8_delegate(FUNC(mpu3_state::characteriser_r), state),write8_delegate(FUNC(mpu3_state::characteriser_w), state));
+ m_disp_func=METER_PORT;
+ m_current_chr_table = hprvpr_data;
+ space->install_readwrite_handler(0xc000, 0xc000 , read8_delegate(FUNC(mpu3_state::characteriser_r), this),write8_delegate(FUNC(mpu3_state::characteriser_w), this));
}
@@ -1607,7 +1607,7 @@ ROM_END
#define GAME_FLAGS GAME_NOT_WORKING|GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL
-GAME( 198?, m3tst, 0, mpu3base, mpu3, mpu3_state, 0, ROT0, "Barcrest","MPU3 Unit Test (Program 5) (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3tst, 0, mpu3base, mpu3, driver_device, 0, ROT0, "Barcrest","MPU3 Unit Test (Program 5) (Barcrest) (MPU3)",GAME_FLAGS )
GAME( 198?, m3autort, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Autoroute (Barcrest) (MPU3)",GAME_FLAGS )
GAME( 198?, m3big20j, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Big 20 Joker (Barcrest) (MPU3)",GAME_FLAGS )
diff --git a/src/mame/drivers/mpu4.c b/src/mame/drivers/mpu4.c
index 4611a846d2f..a7438bb8c0c 100644
--- a/src/mame/drivers/mpu4.c
+++ b/src/mame/drivers/mpu4.c
@@ -9,7 +9,7 @@
*/
#include "emu.h"
-
+#include "includes/mpu4.h"
MACHINE_CONFIG_EXTERN( mod4oki );
MACHINE_CONFIG_EXTERN( mod4yam );
@@ -22,19 +22,6 @@ INPUT_PORTS_EXTERN( mpu4jackpot8tkn );
INPUT_PORTS_EXTERN( mpu4jackpot8per );
INPUT_PORTS_EXTERN( grtecp );
-extern DRIVER_INIT( m_oldtmr );
-extern DRIVER_INIT( m_ccelbr );
-extern DRIVER_INIT( m_grtecp );
-extern DRIVER_INIT( m_blsbys );
-extern DRIVER_INIT( m4tst2 );
-extern DRIVER_INIT( m4tst );
-extern DRIVER_INIT( m4default );
-extern DRIVER_INIT( m4default_bigbank );
-extern DRIVER_INIT( m_frkstn );
-extern DRIVER_INIT( crystal );
-extern DRIVER_INIT( crystali );
-extern DRIVER_INIT( m4default_alt );
-
ROM_START( m4tst )
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD( "ut4.p1", 0xC000, 0x4000, CRC(086dc325) SHA1(923caeb61347ac9d3e6bcec45998ddf04b2c8ffd))
@@ -9230,7 +9217,7 @@ ROM_END
/* Barcrest */
GAME( 198?, m4tst, 0, mod2 , mpu4, mpu4_state, m4tst, ROT0, "Barcrest","MPU4 Unit Test (Program 4)",GAME_MECHANICAL )
GAME( 198?, m4tst2, 0, mod2 , mpu4, mpu4_state, m4tst2, ROT0, "Barcrest","MPU4 Unit Test (Program 2)",GAME_MECHANICAL )
-GAME( 198?, m4clr, 0, mod2 , mpu4, mpu4_state, 0, ROT0, "Barcrest","MPU4 Meter Clear ROM",GAME_MECHANICAL )
+GAME( 198?, m4clr, 0, mod2 , mpu4, driver_device, 0, ROT0, "Barcrest","MPU4 Meter Clear ROM",GAME_MECHANICAL )
#define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK)
diff --git a/src/mame/drivers/mpu4dealem.c b/src/mame/drivers/mpu4dealem.c
index 824c5173a95..4ec38c54fe5 100644
--- a/src/mame/drivers/mpu4dealem.c
+++ b/src/mame/drivers/mpu4dealem.c
@@ -384,4 +384,4 @@ and reel assembly with this kit and a supplied monitor. This explains why the ca
The original Deal 'Em ran on Summit Coin hardware, and was made by someone else.
Two further different releases were made, running on the Barcrest MPU4 Video, rather than this one. These are Deal 'Em Again and Deal 'Em 2000*/
-GAME( 1987,v4dealem, 0, dealem, dealem, mpu4dealem_state, 0, ROT0, "Zenitone","Deal 'Em (MPU4 Conversion Kit, v7.0)",GAME_IMPERFECT_GRAPHICS )
+GAME( 1987,v4dealem, 0, dealem, dealem, driver_device, 0, ROT0, "Zenitone","Deal 'Em (MPU4 Conversion Kit, v7.0)",GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/mpu4hw.c b/src/mame/drivers/mpu4hw.c
index b055a852688..ccb4e6872b7 100644
--- a/src/mame/drivers/mpu4hw.c
+++ b/src/mame/drivers/mpu4hw.c
@@ -2461,123 +2461,113 @@ static mpu4_chr_table blsbys_data[8] = {
//request 36 42 27 42 09 42 27 42 42 09
//verify 00 04 04 0C 0C 1C 14 2C 5C 2C
-DRIVER_INIT (m_oldtmr)
+DRIVER_INIT_MEMBER(mpu4_state,m_oldtmr)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reel_mux=SIX_REEL_1TO8;
- state->m_reels = 6;
+ m_reel_mux=SIX_REEL_1TO8;
+ m_reels = 6;
- stepper_config(machine, 0, &barcrest_opto1_interface);
- stepper_config(machine, 1, &barcrest_opto1_interface);
- stepper_config(machine, 2, &barcrest_opto1_interface);
- stepper_config(machine, 3, &barcrest_opto1_interface);
- stepper_config(machine, 4, &barcrest_opto1_interface);
- stepper_config(machine, 5, &barcrest_opto1_interface);
+ stepper_config(machine(), 0, &barcrest_opto1_interface);
+ stepper_config(machine(), 1, &barcrest_opto1_interface);
+ stepper_config(machine(), 2, &barcrest_opto1_interface);
+ stepper_config(machine(), 3, &barcrest_opto1_interface);
+ stepper_config(machine(), 4, &barcrest_opto1_interface);
+ stepper_config(machine(), 5, &barcrest_opto1_interface);
- state->m_current_chr_table = oldtmr_data;
+ m_current_chr_table = oldtmr_data;
}
-DRIVER_INIT (m_ccelbr)
+DRIVER_INIT_MEMBER(mpu4_state,m_ccelbr)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reel_mux=STANDARD_REEL;
- state->m_reels = 4;
+ m_reel_mux=STANDARD_REEL;
+ m_reels = 4;
// setup 4 default 96 half step reels ///////////////////////////////////
- mpu4_config_common_reels(machine,4);
+ mpu4_config_common_reels(machine(),4);
- state->m_current_chr_table = ccelbr_data;
+ m_current_chr_table = ccelbr_data;
}
-DRIVER_INIT (m4gambal)
+DRIVER_INIT_MEMBER(mpu4_state,m4gambal)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reel_mux=STANDARD_REEL;
- state->m_reels = 4;
+ m_reel_mux=STANDARD_REEL;
+ m_reels = 4;
// setup 4 default 96 half step reels ///////////////////////////////////
- mpu4_config_common_reels(machine,4);
+ mpu4_config_common_reels(machine(),4);
- state->m_current_chr_table = gmball_data;
+ m_current_chr_table = gmball_data;
}
-DRIVER_INIT (m_grtecp)
+DRIVER_INIT_MEMBER(mpu4_state,m_grtecp)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reel_mux=FIVE_REEL_5TO8;
- state->m_reels = 5;
- state->m_lamp_extender=SMALL_CARD;
+ m_reel_mux=FIVE_REEL_5TO8;
+ m_reels = 5;
+ m_lamp_extender=SMALL_CARD;
// setup 4 default 96 half step reels with the mux board
- mpu4_config_common_reels(machine,5);
- state->m_current_chr_table = grtecp_data;
+ mpu4_config_common_reels(machine(),5);
+ m_current_chr_table = grtecp_data;
}
-DRIVER_INIT (m_blsbys)
+DRIVER_INIT_MEMBER(mpu4_state,m_blsbys)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_bwb_bank=1;
- state->m_reel_mux=FIVE_REEL_5TO8;
- state->m_reels = 5;
- stepper_config(machine, 0, &bwb_opto1_interface);
- stepper_config(machine, 1, &bwb_opto1_interface);
- stepper_config(machine, 2, &bwb_opto1_interface);
- stepper_config(machine, 3, &bwb_opto1_interface);
- stepper_config(machine, 4, &bwb_opto1_interface);
- state->m_bwb_chr_table1 = blsbys_data1;
- state->m_current_chr_table = blsbys_data;
+ m_bwb_bank=1;
+ m_reel_mux=FIVE_REEL_5TO8;
+ m_reels = 5;
+ stepper_config(machine(), 0, &bwb_opto1_interface);
+ stepper_config(machine(), 1, &bwb_opto1_interface);
+ stepper_config(machine(), 2, &bwb_opto1_interface);
+ stepper_config(machine(), 3, &bwb_opto1_interface);
+ stepper_config(machine(), 4, &bwb_opto1_interface);
+ m_bwb_chr_table1 = blsbys_data1;
+ m_current_chr_table = blsbys_data;
}
-DRIVER_INIT (m4tst2)
+DRIVER_INIT_MEMBER(mpu4_state,m4tst2)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reel_mux=STANDARD_REEL;
- state->m_reels = 4;
- mpu4_config_common_reels(machine,4);
+ m_reel_mux=STANDARD_REEL;
+ m_reels = 4;
+ mpu4_config_common_reels(machine(),4);
}
-DRIVER_INIT (m4tst)
+DRIVER_INIT_MEMBER(mpu4_state,m4tst)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reel_mux=STANDARD_REEL;
- state->m_reels = 4;
- mpu4_config_common_reels(machine,4);
+ m_reel_mux=STANDARD_REEL;
+ m_reels = 4;
+ mpu4_config_common_reels(machine(),4);
}
-DRIVER_INIT (m4default)
+DRIVER_INIT_MEMBER(mpu4_state,m4default)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reel_mux=STANDARD_REEL;
- state->m_reels = 4;
- mpu4_config_common_reels(machine,4);
- state->m_bwb_bank=0;
+ m_reel_mux=STANDARD_REEL;
+ m_reels = 4;
+ mpu4_config_common_reels(machine(),4);
+ m_bwb_bank=0;
}
-DRIVER_INIT (m4default_alt)
+DRIVER_INIT_MEMBER(mpu4_state,m4default_alt)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reel_mux=STANDARD_REEL;
- state->m_reels = 8;
- stepper_config(machine, 0, &barcrest_opto2_interface);
- stepper_config(machine, 1, &barcrest_opto2_interface);
- stepper_config(machine, 2, &barcrest_opto2_interface);
- stepper_config(machine, 3, &barcrest_opto2_interface);
- stepper_config(machine, 4, &barcrest_opto2_interface);
- stepper_config(machine, 5, &barcrest_opto2_interface);
- stepper_config(machine, 6, &barcrest_opto2_interface);
- stepper_config(machine, 7, &barcrest_opto2_interface);
+ m_reel_mux=STANDARD_REEL;
+ m_reels = 8;
+ stepper_config(machine(), 0, &barcrest_opto2_interface);
+ stepper_config(machine(), 1, &barcrest_opto2_interface);
+ stepper_config(machine(), 2, &barcrest_opto2_interface);
+ stepper_config(machine(), 3, &barcrest_opto2_interface);
+ stepper_config(machine(), 4, &barcrest_opto2_interface);
+ stepper_config(machine(), 5, &barcrest_opto2_interface);
+ stepper_config(machine(), 6, &barcrest_opto2_interface);
+ stepper_config(machine(), 7, &barcrest_opto2_interface);
- state->m_bwb_bank=0;
+ m_bwb_bank=0;
}
-DRIVER_INIT( m4default_bigbank )
+DRIVER_INIT_MEMBER(mpu4_state,m4default_bigbank)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- mpu4_state *state = machine.driver_data<mpu4_state>();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
DRIVER_INIT_CALL(m4default);
- state->m_bwb_bank=1;
- space->install_write_handler(0x0858, 0x0858, 0, 0, write8_delegate(FUNC(mpu4_state::bankswitch_w),state));
- space->install_write_handler(0x0878, 0x0878, 0, 0, write8_delegate(FUNC(mpu4_state::bankset_w),state));
+ m_bwb_bank=1;
+ space->install_write_handler(0x0858, 0x0858, 0, 0, write8_delegate(FUNC(mpu4_state::bankswitch_w),this));
+ space->install_write_handler(0x0878, 0x0878, 0, 0, write8_delegate(FUNC(mpu4_state::bankset_w),this));
}
@@ -2594,13 +2584,12 @@ WRITE8_MEMBER(mpu4_state::crystal_sound_w)
printf("crystal_sound_w %02x\n",data);
}
-DRIVER_INIT (m_frkstn)
+DRIVER_INIT_MEMBER(mpu4_state,m_frkstn)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- mpu4_state *state = machine.driver_data<mpu4_state>();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
DRIVER_INIT_CALL(m4default_bigbank);
- space->install_read_handler(0x0880, 0x0880, 0, 0, read8_delegate(FUNC(mpu4_state::crystal_sound_r),state));
- space->install_write_handler(0x0881, 0x0881, 0, 0, write8_delegate(FUNC(mpu4_state::crystal_sound_w),state));
+ space->install_read_handler(0x0880, 0x0880, 0, 0, read8_delegate(FUNC(mpu4_state::crystal_sound_r),this));
+ space->install_write_handler(0x0881, 0x0881, 0, 0, write8_delegate(FUNC(mpu4_state::crystal_sound_w),this));
}
// thanks to Project Amber for descramble information
@@ -2625,16 +2614,16 @@ void descramble_crystal( UINT8* region, int start, int end, UINT8 extra_xor)
}
-DRIVER_INIT( crystal )
+DRIVER_INIT_MEMBER(mpu4_state,crystal)
{
DRIVER_INIT_CALL(m_frkstn);
- descramble_crystal(machine.root_device().memregion( "maincpu" )->base(), 0x0000, 0x10000, 0x00);
+ descramble_crystal(machine().root_device().memregion( "maincpu" )->base(), 0x0000, 0x10000, 0x00);
}
-DRIVER_INIT( crystali )
+DRIVER_INIT_MEMBER(mpu4_state,crystali)
{
DRIVER_INIT_CALL(m_frkstn);
- descramble_crystal(machine.root_device().memregion( "maincpu" )->base(), 0x0000, 0x10000, 0xff); // invert after decrypt?!
+ descramble_crystal(machine().root_device().memregion( "maincpu" )->base(), 0x0000, 0x10000, 0xff); // invert after decrypt?!
}
/* generate a 50 Hz signal (based on an RC time) */
diff --git a/src/mame/drivers/mpu4mod2sw.c b/src/mame/drivers/mpu4mod2sw.c
index cc8a7b52ee2..e4602137b59 100644
--- a/src/mame/drivers/mpu4mod2sw.c
+++ b/src/mame/drivers/mpu4mod2sw.c
@@ -21,20 +21,18 @@
MACHINE_CONFIG_EXTERN( mod2 );
INPUT_PORTS_EXTERN( mpu4 );
INPUT_PORTS_EXTERN( mpu4jackpot8tkn );
-extern DRIVER_INIT( m4default );
-extern DRIVER_INIT( m_ccelbr );
#define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK)
-static DRIVER_INIT( m4_showstring )
+DRIVER_INIT_MEMBER(mpu4_state,m4_showstring_mod2)
{
- DRIVER_INIT_CALL( m4default );
+ DRIVER_INIT_CALL(m4default);
// many original barcrest / bwb sets have identification info around here
// this helps with sorting
- UINT8 *src = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *src = machine().root_device().memregion( "maincpu" )->base();
printf("\ncopyright string:\n");
for (int i = 0xffe0; i<0xfff0; i++)
{
@@ -47,11 +45,10 @@ static DRIVER_INIT( m4_showstring )
}
}
-static DRIVER_INIT (connect4)
+DRIVER_INIT_MEMBER(mpu4_state,connect4)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0; //reel-free game
- state->m_led_lamp=1;
+ m_reels = 0; //reel-free game
+ m_led_lamp=1;
}
@@ -1392,25 +1389,25 @@ GAME(199?, m4solsila ,m4solsil ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0,
GAME(199?, m4starbr ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Stars And Bars (Barcrest) (Dutch) (MPU4)",GAME_FLAGS )
-GAME(199?, m4sunset ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.4)",GAME_FLAGS )
+GAME(199?, m4sunset ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.4)",GAME_FLAGS )
GAME(199?, m4sb5 ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.3)", GAME_FLAGS )
-GAME(199?, m4sunsetd ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SBU 2.0)",GAME_FLAGS )
-GAME(199?, m4sunsete ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.1)",GAME_FLAGS )
-GAME(199?, m4sunsetf ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 1)",GAME_FLAGS )
-GAME(199?, m4sunsetg ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 2)",GAME_FLAGS )
-GAME(199?, m4sunseth ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 3, bad)",GAME_FLAGS )
-GAME(199?, m4sunseti ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 4)",GAME_FLAGS )
-GAME(199?, m4sunsetj ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 5)",GAME_FLAGS )
-GAME(199?, m4sunsetk ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.1)",GAME_FLAGS )
-GAME(199?, m4sunsetl ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 1)",GAME_FLAGS )
-GAME(199?, m4sunsetm ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 2)",GAME_FLAGS )
-GAME(199?, m4sunsetn ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 3)",GAME_FLAGS )
-GAME(199?, m4sunseto ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 4)",GAME_FLAGS )
-GAME(199?, m4sunsetp ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 5)",GAME_FLAGS )
-GAME(199?, m4sunsetq ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 6)",GAME_FLAGS )
-GAME(199?, m4sunsetr ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 7)",GAME_FLAGS )
-GAME(199?, m4sunsets ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 8)",GAME_FLAGS )
-GAME(199?, m4sunsett ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 9)",GAME_FLAGS )
+GAME(199?, m4sunsetd ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SBU 2.0)",GAME_FLAGS )
+GAME(199?, m4sunsete ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.1)",GAME_FLAGS )
+GAME(199?, m4sunsetf ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 1)",GAME_FLAGS )
+GAME(199?, m4sunsetg ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 2)",GAME_FLAGS )
+GAME(199?, m4sunseth ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 3, bad)",GAME_FLAGS )
+GAME(199?, m4sunseti ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 4)",GAME_FLAGS )
+GAME(199?, m4sunsetj ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 5)",GAME_FLAGS )
+GAME(199?, m4sunsetk ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.1)",GAME_FLAGS )
+GAME(199?, m4sunsetl ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 1)",GAME_FLAGS )
+GAME(199?, m4sunsetm ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 2)",GAME_FLAGS )
+GAME(199?, m4sunsetn ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 3)",GAME_FLAGS )
+GAME(199?, m4sunseto ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 4)",GAME_FLAGS )
+GAME(199?, m4sunsetp ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 5)",GAME_FLAGS )
+GAME(199?, m4sunsetq ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 6)",GAME_FLAGS )
+GAME(199?, m4sunsetr ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 7)",GAME_FLAGS )
+GAME(199?, m4sunsets ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 8)",GAME_FLAGS )
+GAME(199?, m4sunsett ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 9)",GAME_FLAGS )
GAME(199?, m4supslt ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Supa Slot (Barcrest) (MPU4)", GAME_FLAGS )
@@ -1454,21 +1451,21 @@ GAME(199?, m4wayina ,m4wayin ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0,
/* Bwb */
-GAME(199?, m4flshlt ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 1)", GAME_FLAGS )
-GAME(199?, m4flshlta ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 2)", GAME_FLAGS )
-GAME(199?, m4flshltb ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 3)", GAME_FLAGS )
-GAME(199?, m4flshltc ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 4)", GAME_FLAGS )
-GAME(199?, m4flshltd ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 5)", GAME_FLAGS )
-GAME(199?, m4flshlte ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 6)", GAME_FLAGS )
-GAME(199?, m4flshltf ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 7)", GAME_FLAGS )
-GAME(199?, m4flshltg ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 8)", GAME_FLAGS )
-
-GAME(199?, m4blflsh ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 1)", GAME_FLAGS )
-GAME(199?, m4blflsha ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 2)", GAME_FLAGS )
-GAME(199?, m4blflshb ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 3)", GAME_FLAGS )
-GAME(199?, m4blflshc ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 4)", GAME_FLAGS )
-GAME(199?, m4blflshd ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 5)", GAME_FLAGS )
-GAME(199?, m4blflshe ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 6)", GAME_FLAGS )
+GAME(199?, m4flshlt ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 1)", GAME_FLAGS )
+GAME(199?, m4flshlta ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 2)", GAME_FLAGS )
+GAME(199?, m4flshltb ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 3)", GAME_FLAGS )
+GAME(199?, m4flshltc ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 4)", GAME_FLAGS )
+GAME(199?, m4flshltd ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 5)", GAME_FLAGS )
+GAME(199?, m4flshlte ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 6)", GAME_FLAGS )
+GAME(199?, m4flshltf ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 7)", GAME_FLAGS )
+GAME(199?, m4flshltg ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 8)", GAME_FLAGS )
+
+GAME(199?, m4blflsh ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 1)", GAME_FLAGS )
+GAME(199?, m4blflsha ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 2)", GAME_FLAGS )
+GAME(199?, m4blflshb ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 3)", GAME_FLAGS )
+GAME(199?, m4blflshc ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 4)", GAME_FLAGS )
+GAME(199?, m4blflshd ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 5)", GAME_FLAGS )
+GAME(199?, m4blflshe ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 6)", GAME_FLAGS )
/* Pcp */
@@ -1530,8 +1527,8 @@ GAME(199?, m4centpta,m4centpt ,mod2 ,mpu4 , mpu4_state,m4default ,ROT
GAME(199?, m4clbcls ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Classic (Barcrest) (MPU4)", GAME_FLAGS ) // set stake (still moans tho)
// OC9 (on cloud 9?)
-GAME(199?, m4c999 ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (OC9 0.3, set 1)", GAME_FLAGS )
-GAME(199?, m4c999a ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (OC9 0.3, set 2)", GAME_FLAGS )
+GAME(199?, m4c999 ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (OC9 0.3, set 1)", GAME_FLAGS )
+GAME(199?, m4c999a ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (OC9 0.3, set 2)", GAME_FLAGS )
// make sure these are the same
-GAME(199?, m4c999b ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 3.6)", GAME_FLAGS ) // bad chr
-GAME(199?, m4c999c ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 3.0)", GAME_FLAGS ) // bad chr
+GAME(199?, m4c999b ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 3.6)", GAME_FLAGS ) // bad chr
+GAME(199?, m4c999c ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 3.0)", GAME_FLAGS ) // bad chr
diff --git a/src/mame/drivers/mpu4mod4yam.c b/src/mame/drivers/mpu4mod4yam.c
index 6adfb839423..ee38cd89261 100644
--- a/src/mame/drivers/mpu4mod4yam.c
+++ b/src/mame/drivers/mpu4mod4yam.c
@@ -5,8 +5,6 @@
MACHINE_CONFIG_EXTERN( mod4yam );
INPUT_PORTS_EXTERN( mpu4 );
-extern DRIVER_INIT( m4default );
-extern DRIVER_INIT( m4gambal );
#define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK)
diff --git a/src/mame/drivers/mpu4plasma.c b/src/mame/drivers/mpu4plasma.c
index 05e73aed966..1e212e99b66 100644
--- a/src/mame/drivers/mpu4plasma.c
+++ b/src/mame/drivers/mpu4plasma.c
@@ -37,7 +37,6 @@ public:
MACHINE_CONFIG_EXTERN( mod2 );
INPUT_PORTS_EXTERN( mpu4 );
-extern DRIVER_INIT( m4default );
static ADDRESS_MAP_START( mpu4plasma_map, AS_PROGRAM, 16, mpu4plasma_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
@@ -197,14 +196,14 @@ ROM_END
#define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK)
-GAMEL(199?, m4bigchf ,0 ,mpu4plasma ,mpu4 , mpu4plasma_state,m4default ,ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 1)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
-GAMEL(199?, m4bigchfa ,m4bigchf ,mpu4plasma ,mpu4 , mpu4plasma_state,m4default ,ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 2)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
-GAMEL(199?, m4bigchfb ,m4bigchf ,mpu4plasma ,mpu4 , mpu4plasma_state,m4default ,ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 3)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
-GAMEL(199?, m4bigchfc ,m4bigchf ,mpu4plasma ,mpu4 , mpu4plasma_state,m4default ,ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 4)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
+GAMEL(199?, m4bigchf ,0 ,mpu4plasma ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 1)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
+GAMEL(199?, m4bigchfa ,m4bigchf ,mpu4plasma ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 2)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
+GAMEL(199?, m4bigchfb ,m4bigchf ,mpu4plasma ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 3)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
+GAMEL(199?, m4bigchfc ,m4bigchf ,mpu4plasma ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 4)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
-GAMEL(199?, m4click ,0 ,mpu4plasma ,mpu4 , mpu4plasma_state,m4default ,ROT0, "Barcrest","Clickity Click (Barcrest) (MPU4 w/ Plasma DMD)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
+GAMEL(199?, m4click ,0 ,mpu4plasma ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Clickity Click (Barcrest) (MPU4 w/ Plasma DMD)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
// not confirmed to be plasma, is this an alt version of big chief? maybe it uses the same plasma roms?
-GAMEL(199?, m4apach ,0 ,mpu4plasma ,mpu4 , mpu4plasma_state,m4default ,ROT0, "Barcrest","Apache (Barcrest) (MPU4 w/ Plasma DMD?)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
+GAMEL(199?, m4apach ,0 ,mpu4plasma ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Apache (Barcrest) (MPU4 w/ Plasma DMD?)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
// not confirmed to be plasma, but acts like it
-GAMEL(199?, m4elite ,0 ,mpu4plasma ,mpu4 , mpu4plasma_state,m4default ,ROT0, "Barcrest","Elite (Barcrest) (MPU4 w/ Plasma DMD?)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
+GAMEL(199?, m4elite ,0 ,mpu4plasma ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Elite (Barcrest) (MPU4 w/ Plasma DMD?)", GAME_FLAGS|GAME_NO_SOUND,layout_mpu4plasma )
diff --git a/src/mame/drivers/mpu4sw.c b/src/mame/drivers/mpu4sw.c
index f3ac38c3143..bc9719460fc 100644
--- a/src/mame/drivers/mpu4sw.c
+++ b/src/mame/drivers/mpu4sw.c
@@ -9,6 +9,7 @@
*/
#include "emu.h"
+#include "includes/mpu4.h"
MACHINE_CONFIG_EXTERN( mod4oki );
MACHINE_CONFIG_EXTERN( mod2 );
@@ -16,18 +17,15 @@ INPUT_PORTS_EXTERN( mpu4 );
INPUT_PORTS_EXTERN( grtecp );
INPUT_PORTS_EXTERN( mpu4jackpot8tkn );
INPUT_PORTS_EXTERN( mpu4jackpot8per );
-extern DRIVER_INIT( m4default );
-extern DRIVER_INIT( m4default_bigbank );
-extern DRIVER_INIT( m_grtecp );
#define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK)
-static DRIVER_INIT( m4debug )
+DRIVER_INIT_MEMBER(mpu4_state,m4debug)
{
// many original barcrest / bwb sets have identification info around here
// this helps with sorting
- UINT8 *src = machine.root_device().memregion( "maincpu" )->base();
- int size = machine.root_device().memregion( "maincpu" )->bytes();
+ UINT8 *src = machine().root_device().memregion( "maincpu" )->base();
+ int size = machine().root_device().memregion( "maincpu" )->bytes();
for (int j=0;j<size;j+=0x10000)
{
@@ -46,26 +44,25 @@ static DRIVER_INIT( m4debug )
}
}
-static DRIVER_INIT( m4_showstring )
+DRIVER_INIT_MEMBER(mpu4_state,m4_showstring)
{
- DRIVER_INIT_CALL( m4default );
- DRIVER_INIT_CALL( m4debug );
+ DRIVER_INIT_CALL(m4default);
+ DRIVER_INIT_CALL(m4debug);
}
-static DRIVER_INIT( m4_showstring_big )
+DRIVER_INIT_MEMBER(mpu4_state,m4_showstring_big)
{
- DRIVER_INIT_CALL( m4default_bigbank );
- DRIVER_INIT_CALL( m4debug );
+ DRIVER_INIT_CALL(m4default_bigbank);
+ DRIVER_INIT_CALL(m4debug);
}
-static DRIVER_INIT( m_grtecpss )
+DRIVER_INIT_MEMBER(mpu4_state,m_grtecpss)
{
- DRIVER_INIT_CALL( m_grtecp );
- DRIVER_INIT_CALL( m4debug );
+ DRIVER_INIT_CALL(m_grtecp);
+ DRIVER_INIT_CALL(m4debug);
}
-
#define M4ANDYCP_EXTRA_ROMS \
ROM_REGION( 0x48, "fakechr", 0 ) \
ROM_LOAD( "ac.chr", 0x0000, 0x000048, CRC(87808826) SHA1(df0915a6f89295efcd10e6a06bfa3d3fe8fef160) ) \
diff --git a/src/mame/drivers/mpu4vid.c b/src/mame/drivers/mpu4vid.c
index 2daef989ab9..6505b785dc5 100644
--- a/src/mame/drivers/mpu4vid.c
+++ b/src/mame/drivers/mpu4vid.c
@@ -245,6 +245,26 @@ public:
INT8 m_cur[2];
+ DECLARE_DRIVER_INIT(crmazea);
+ DECLARE_DRIVER_INIT(v4barqst2);
+ DECLARE_DRIVER_INIT(quidgrid);
+ DECLARE_DRIVER_INIT(v4barqst);
+ DECLARE_DRIVER_INIT(timemchn);
+ DECLARE_DRIVER_INIT(crmaze2a);
+ DECLARE_DRIVER_INIT(v4opt3);
+ DECLARE_DRIVER_INIT(eyesdown);
+ DECLARE_DRIVER_INIT(v4cmazeb);
+ DECLARE_DRIVER_INIT(crmaze2);
+ DECLARE_DRIVER_INIT(crmaze);
+ DECLARE_DRIVER_INIT(prizeinv);
+ DECLARE_DRIVER_INIT(strikeit);
+ DECLARE_DRIVER_INIT(v4wize);
+ DECLARE_DRIVER_INIT(turnover);
+ DECLARE_DRIVER_INIT(adders);
+ DECLARE_DRIVER_INIT(mating);
+ DECLARE_DRIVER_INIT(crmaze3a);
+ DECLARE_DRIVER_INIT(skiltrek);
+ DECLARE_DRIVER_INIT(crmaze3);
};
@@ -1895,111 +1915,96 @@ static mpu4_chr_table prizeinv_data[8] = {
{0x06, 0x20},{0xC6, 0x0f},{0xF8, 0x24},{0x8E, 0x3c},
};
-static DRIVER_INIT (adders)
+DRIVER_INIT_MEMBER(mpu4vid_state,adders)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = adders_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = adders_data;
}
-static DRIVER_INIT (crmaze)
+DRIVER_INIT_MEMBER(mpu4vid_state,crmaze)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = crmaze_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = crmaze_data;
}
-static DRIVER_INIT (crmazea)
+DRIVER_INIT_MEMBER(mpu4vid_state,crmazea)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = crmazea_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = crmazea_data;
}
-static DRIVER_INIT (crmaze2)
+DRIVER_INIT_MEMBER(mpu4vid_state,crmaze2)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = crmaze2_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = crmaze2_data;
}
-static DRIVER_INIT (crmaze2a)
+DRIVER_INIT_MEMBER(mpu4vid_state,crmaze2a)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
+ m_reels = 0;//currently no hybrid games
}
-static DRIVER_INIT (crmaze3)
+DRIVER_INIT_MEMBER(mpu4vid_state,crmaze3)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_reel_mux = FLUTTERBOX;
- state->m_current_chr_table = crmaze3_data;
+ m_reels = 0;//currently no hybrid games
+ m_reel_mux = FLUTTERBOX;
+ m_current_chr_table = crmaze3_data;
}
-static DRIVER_INIT (crmaze3a)
+DRIVER_INIT_MEMBER(mpu4vid_state,crmaze3a)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_reel_mux = FLUTTERBOX;
- state->m_current_chr_table = crmaze3a_data;
+ m_reels = 0;//currently no hybrid games
+ m_reel_mux = FLUTTERBOX;
+ m_current_chr_table = crmaze3a_data;
}
-static DRIVER_INIT (mating)
+DRIVER_INIT_MEMBER(mpu4vid_state,mating)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
+ m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = mating_data;
+ m_current_chr_table = mating_data;
}
-static DRIVER_INIT (skiltrek)
+DRIVER_INIT_MEMBER(mpu4vid_state,skiltrek)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = skiltrek_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = skiltrek_data;
}
-static DRIVER_INIT (timemchn)
+DRIVER_INIT_MEMBER(mpu4vid_state,timemchn)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = timemchn_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = timemchn_data;
}
-static DRIVER_INIT (strikeit)
+DRIVER_INIT_MEMBER(mpu4vid_state,strikeit)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = strikeit_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = strikeit_data;
}
-static DRIVER_INIT (turnover)
+DRIVER_INIT_MEMBER(mpu4vid_state,turnover)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = turnover_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = turnover_data;
}
-static DRIVER_INIT (eyesdown)
+DRIVER_INIT_MEMBER(mpu4vid_state,eyesdown)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = eyesdown_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = eyesdown_data;
}
-static DRIVER_INIT (quidgrid)
+DRIVER_INIT_MEMBER(mpu4vid_state,quidgrid)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = quidgrid_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = quidgrid_data;
}
-static DRIVER_INIT (prizeinv)
+DRIVER_INIT_MEMBER(mpu4vid_state,prizeinv)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_reels = 0;//currently no hybrid games
- state->m_current_chr_table = prizeinv_data;
+ m_reels = 0;//currently no hybrid games
+ m_current_chr_table = prizeinv_data;
}
void mpu4vid_char_cheat(running_machine& machine, int address)
@@ -2014,29 +2019,29 @@ void mpu4vid_char_cheat(running_machine& machine, int address)
}
}
-static DRIVER_INIT( v4barqst )
+DRIVER_INIT_MEMBER(mpu4vid_state,v4barqst)
{
- mpu4vid_char_cheat(machine,0x154);
+ mpu4vid_char_cheat(machine(),0x154);
}
-static DRIVER_INIT( v4barqst2 )
+DRIVER_INIT_MEMBER(mpu4vid_state,v4barqst2)
{
- mpu4vid_char_cheat(machine,0x15c);
+ mpu4vid_char_cheat(machine(),0x15c);
}
-static DRIVER_INIT( v4wize )
+DRIVER_INIT_MEMBER(mpu4vid_state,v4wize)
{
- mpu4vid_char_cheat(machine,0x16c);
+ mpu4vid_char_cheat(machine(),0x16c);
}
-static DRIVER_INIT( v4cmazeb )
+DRIVER_INIT_MEMBER(mpu4vid_state,v4cmazeb)
{
- mpu4vid_char_cheat(machine,0x4c6);
+ mpu4vid_char_cheat(machine(),0x4c6);
}
-static DRIVER_INIT( v4opt3 )
+DRIVER_INIT_MEMBER(mpu4vid_state,v4opt3)
{
- mpu4vid_char_cheat(machine,0x164);
+ mpu4vid_char_cheat(machine(),0x164);
}
@@ -3853,7 +3858,7 @@ ROM_END
AMLD versions do not pay out, and instead just feature highscore tables. These were mainly intended for locations unwilling to pay for gaming licenses.
The AMLD Crystal Maze versions appear to be a mixture of the original game modules and Team Challenge's scoring system. This would suggest they were all made ~1994. */
-GAME( 199?,v4bios, 0, mod2, mpu4, mpu4_state, 0, ROT0, "Barcrest","MPU4 Video Firmware",GAME_IS_BIOS_ROOT )
+GAME( 199?,v4bios, 0, mod2, mpu4, driver_device, 0, ROT0, "Barcrest","MPU4 Video Firmware",GAME_IS_BIOS_ROOT )
#define GAME_FLAGS GAME_NOT_WORKING
@@ -3920,39 +3925,39 @@ GAME( 1991,v4opt3d, v4opt3, mpu4_vid, mpu4, mpu4vid_state, v4opt3, ROT0, "Ba
/* Games below are newer BwB games and use their own BIOS ROMs and hardware setups*/
-GAME( 199?,v4vgpok, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Vegas Poker (prototype, release 2) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4vgpok, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Vegas Poker (prototype, release 2) (MPU4 Video)",GAME_FLAGS )
GAME( 199?,v4psi, 0, bwbvid, mpu4, mpu4vid_state, prizeinv, ROT0, "BwB","Prize Space Invaders (v1.1) (MPU4 Video)",GAME_FLAGS )
GAME( 199?,v4psia, 0, bwbvid, mpu4, mpu4vid_state, prizeinv, ROT0, "BwB","Prize Space Invaders (v1.2) (MPU4 Video)",GAME_FLAGS )
GAME( 199?,v4psib, 0, bwbvid, mpu4, mpu4vid_state, prizeinv, ROT0, "BwB","Prize Space Invaders (v2.0?) (MPU4 Video)",GAME_FLAGS ) // bad dump
-GAME( 199?,v4blox, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Blox (v2.0) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4bloxd, v4blox, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Blox (v2.0, Datapak) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4blox, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Blox (v2.0) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4bloxd, v4blox, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Blox (v2.0, Datapak) (MPU4 Video)",GAME_FLAGS )
GAME( 1996,v4reno, 0, bwbvid5, mpu4, mpu4vid_state, prizeinv, ROT0, "BwB","Reno Reels (20p/10GBP Cash, release A) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4bigfrt, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Big Fruits (v2.0?) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4bubbnk, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Bubbly Bonk (v4.0?) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4mazbel, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Mazooma Belle (v2.5) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4mazbla, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Mazooma Belle (v1.5) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4shpwnd, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Shop Window (v2.0) (MPU4 Video)",GAME_FLAGS )
-
-GAME( 199?,v4redhtp, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Red Hot Poker (20p/10GBP Cash, release 3) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4tetrs, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","BwB Tetris v 2.2 (MPU4 Video)",GAME_FLAGS )
-
-GAME( 199?,v4big40, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Big 40 Poker (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4bulblx, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Bullion Blox (Bwb) (MPU4 Video)",GAME_FLAGS ) // is this the same game as v4blox?
-GAME( 199?,v4cshinf, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Cash Inferno (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4dbltak, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Double Take (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4gldrsh, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Gold Rush (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4mdice, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Miami Dice (Bwb) (MPU4 Video)",GAME_FLAGS ) // is this the same as the Nova game below?
-GAME( 199?,v4monte, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Monte Carlo Or Bust (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4ovrmn3, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Over Moon Pt3 (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4pztet, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Prize Tetris (Bwb) (MPU4 Video, set 1)",GAME_FLAGS ) // is this the same as v4tetrs?
-GAME( 199?,v4pzteta, v4pztet, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Prize Tetris (Bwb) (MPU4 Video, set 2)",GAME_FLAGS )
-GAME( 199?,v4rhmaz, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Red Hot Mazooma Belle (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4sunbst, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Sunburst (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4timebn, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Time Bandit (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4sixx, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","6-X (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4megbuk, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Megabucks Poker (Bwb) (MPU4 Video)",GAME_FLAGS ) // no video roms!
-GAME( 199?,v4rencas, 0, bwbvid, mpu4, mpu4vid_state, 0, ROT0, "BwB","Reno Casino (Bwb) (MPU4 Video)",GAME_FLAGS ) // no video roms!
+GAME( 199?,v4bigfrt, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Big Fruits (v2.0?) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4bubbnk, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Bubbly Bonk (v4.0?) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4mazbel, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Mazooma Belle (v2.5) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4mazbla, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Mazooma Belle (v1.5) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4shpwnd, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Shop Window (v2.0) (MPU4 Video)",GAME_FLAGS )
+
+GAME( 199?,v4redhtp, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Red Hot Poker (20p/10GBP Cash, release 3) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4tetrs, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","BwB Tetris v 2.2 (MPU4 Video)",GAME_FLAGS )
+
+GAME( 199?,v4big40, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Big 40 Poker (Bwb) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4bulblx, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Bullion Blox (Bwb) (MPU4 Video)",GAME_FLAGS ) // is this the same game as v4blox?
+GAME( 199?,v4cshinf, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Cash Inferno (Bwb) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4dbltak, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Double Take (Bwb) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4gldrsh, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Gold Rush (Bwb) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4mdice, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Miami Dice (Bwb) (MPU4 Video)",GAME_FLAGS ) // is this the same as the Nova game below?
+GAME( 199?,v4monte, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Monte Carlo Or Bust (Bwb) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4ovrmn3, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Over Moon Pt3 (Bwb) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4pztet, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Prize Tetris (Bwb) (MPU4 Video, set 1)",GAME_FLAGS ) // is this the same as v4tetrs?
+GAME( 199?,v4pzteta, v4pztet, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Prize Tetris (Bwb) (MPU4 Video, set 2)",GAME_FLAGS )
+GAME( 199?,v4rhmaz, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Red Hot Mazooma Belle (Bwb) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4sunbst, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Sunburst (Bwb) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4timebn, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Time Bandit (Bwb) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4sixx, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","6-X (Bwb) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4megbuk, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Megabucks Poker (Bwb) (MPU4 Video)",GAME_FLAGS ) // no video roms!
+GAME( 199?,v4rencas, 0, bwbvid, mpu4, driver_device, 0, ROT0, "BwB","Reno Casino (Bwb) (MPU4 Video)",GAME_FLAGS ) // no video roms!
/* Uncertain BIOS */
@@ -3961,9 +3966,9 @@ GAME( 199?,v4frfact, v4bios, crmaze, crmaze, mpu4vid_state, crmaze, ROT0, "
/* Nova - is this the same video board? One of the games displays 'Resetting' but the others do nothing interesting and access strange addresses */
/* All contain BwB video in the BIOS rom tho */
-GAME( 199?,v4cybcas, 0, bwbvid5, mpu4, mpu4vid_state, 0, ROT0, "Nova","Cyber Casino (Nova) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4miami, 0, bwbvid5, mpu4, mpu4vid_state, 0, ROT0, "Nova","Miami Dice (Nova) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4missis, 0, bwbvid5, mpu4, mpu4vid_state, 0, ROT0, "Nova","Mississippi Lady (Nova) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4picdil, 0, bwbvid5, mpu4, mpu4vid_state, 0, ROT0, "Nova","Piccadilly Nights (Nova) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4cybcas, 0, bwbvid5, mpu4, driver_device, 0, ROT0, "Nova","Cyber Casino (Nova) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4miami, 0, bwbvid5, mpu4, driver_device, 0, ROT0, "Nova","Miami Dice (Nova) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4missis, 0, bwbvid5, mpu4, driver_device, 0, ROT0, "Nova","Mississippi Lady (Nova) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4picdil, 0, bwbvid5, mpu4, driver_device, 0, ROT0, "Nova","Piccadilly Nights (Nova) (MPU4 Video)",GAME_FLAGS )
diff --git a/src/mame/drivers/mpu5.c b/src/mame/drivers/mpu5.c
index ab075c45647..09fcdb08290 100644
--- a/src/mame/drivers/mpu5.c
+++ b/src/mame/drivers/mpu5.c
@@ -7186,937 +7186,937 @@ ROM_END
/* Barcrest */
-GAME( 199?, m5clr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","MPU 5 Ram & Meter Clear (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tst ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","MPU 5 Test Rom (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","MPU 5 Ram & Meter Clear (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tst ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","MPU 5 Test Rom (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addams ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsa ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsb ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsc ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsd ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamse ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsf ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsg ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsh ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsi ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsj ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsk ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsl ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsm ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsn ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamso ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsp ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsq ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsr ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamss ,m5addams, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addams ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsa ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsb ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsc ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsd ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamse ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsf ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsg ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsh ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsi ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsj ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsk ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsl ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsm ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsn ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamso ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsp ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsq ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamsr ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addamss ,m5addams, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addlad ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addlada ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladb ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladc ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladd ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addlade ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladf ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladg ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladh ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladi ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladj ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladk ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladl ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladm ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladn ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addlado ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladp ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladq ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.4, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladr ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.4, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addlads ,m5addlad, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v?.?)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addlad ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addlada ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladb ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladc ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladd ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addlade ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladf ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladg ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladh ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladi ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladj ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladk ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladl ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladm ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladn ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addlado ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladp ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladq ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.4, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addladr ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.4, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5addlads ,m5addlad, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v?.?)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fire ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","All Fired Up (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fire ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","All Fired Up (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5arab ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Arabian Nights (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5arab03 ,m5arab, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Arabian Nights (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5arab ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Arabian Nights (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5arab03 ,m5arab, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Arabian Nights (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5austin ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5austin10 ,m5austin, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5austin11 ,m5austin, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5austin ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5austin10 ,m5austin, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5austin11 ,m5austin, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bankrl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Bank Roll (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bankrl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Bank Roll (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5barkng ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Barking Mad (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5barkng ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Barking Mad (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5barmy ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Barmy Army (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5barmy ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Barmy Army (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5baxe ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Battle Axe (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5baxe04 ,m5baxe, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Battle Axe (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5baxe ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Battle Axe (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5baxe04 ,m5baxe, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Battle Axe (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bbro ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Big Brother (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bbro02 ,m5bbro, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Big Brother (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bbro ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Big Brother (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bbro02 ,m5bbro, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Big Brother (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bbrocl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Big Brother Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bbrocl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Big Brother Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigchs ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Big Cheese (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigchs05 ,m5bigchs, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Big Cheese (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bigchs ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Big Cheese (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bigchs05 ,m5bigchs, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Big Cheese (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5biggam ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Big Game (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5biggam11 ,m5biggam, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Big Game (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5biggam ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Big Game (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5biggam11 ,m5biggam, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Big Game (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5blkwht ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5blkwht11 ,m5blkwht, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5blkwht01 ,m5blkwht, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5blkwht ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5blkwht11 ,m5blkwht, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5blkwht01 ,m5blkwht, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bwaves ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Brain Waves (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bwaves07 ,m5bwaves, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Brain Waves (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bwaves ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Brain Waves (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bwaves07 ,m5bwaves, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Brain Waves (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bling ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Bling King Crazy (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bling ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Bling King Crazy (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cbw ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ca$h Bang Wallop (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cbwa ,m5cbw, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ca$h Bang Wallop (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cbw ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ca$h Bang Wallop (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cbwa ,m5cbw, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ca$h Bang Wallop (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cpcash ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Captain Cash (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cpcash ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Captain Cash (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5carclb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Caribbean Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5carclb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Caribbean Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashar ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Cash Arena (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashar04 ,m5cashar, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Cash Arena (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cashar ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Cash Arena (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cashar04 ,m5cashar, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Cash Arena (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashat ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Cash Attack (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cashat ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Cash Attack (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashln ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Cash Lines (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cashln ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Cash Lines (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashrn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashrn01 ,m5cashrn, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashrn02 ,m5cashrn, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashrn04 ,m5cashrn, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cashrn ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cashrn01 ,m5cashrn, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cashrn02 ,m5cashrn, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cashrn04 ,m5cashrn, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5codft ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Codfather (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5codft02 ,m5codft, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Codfather (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5codft ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Codfather (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5codft02 ,m5codft, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Codfather (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cos ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Costa Del Cash Casino (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cos ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Costa Del Cash Casino (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cosclb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Costa Del Cash Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cosclb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Costa Del Cash Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5crzkni ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Crazy Crazy Knights (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5crzkni03 ,m5crzkni, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Crazy Crazy Knights (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5crzkni ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Crazy Crazy Knights (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5crzkni03 ,m5crzkni, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Crazy Crazy Knights (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5doshpk ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Do$h 'n' Pecks (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5doshpk05 ,m5doshpk, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Do$h 'n' Pecks (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5doshpk ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Do$h 'n' Pecks (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5doshpk05 ,m5doshpk, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Do$h 'n' Pecks (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5draclb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5draclb07 ,m5draclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5draclb01 ,m5draclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5draclb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5draclb07 ,m5draclb, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5draclb01 ,m5draclb, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ewn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Each Way Nudge (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ewn08 ,m5ewn, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Each Way Nudge (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ewn ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Each Way Nudge (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ewn08 ,m5ewn, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Each Way Nudge (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5elim ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5elim03 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5elim04 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5elim ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5elim03 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5elim04 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5egr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Elvis Gold Rush (Barcrest) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5egra ,m5egr, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Elvis Gold Rush (Barcrest) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5egr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Elvis Gold Rush (Barcrest) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5egra ,m5egr, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Elvis Gold Rush (Barcrest) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5egss ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Elvis Gold Super Streak (Barcrest) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5egssa ,m5egss, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Elvis Gold Super Streak (Barcrest) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5egss ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Elvis Gold Super Streak (Barcrest) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5egssa ,m5egss, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Elvis Gold Super Streak (Barcrest) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5evgrhr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Elvis Gold Red Hot Roll (Barcrest) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5evgrhra ,m5evgrhr, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Elvis Gold Red Hot Roll (Barcrest) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5evgrhr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Elvis Gold Red Hot Roll (Barcrest) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5evgrhra ,m5evgrhr, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Elvis Gold Red Hot Roll (Barcrest) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5xchn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Exchanges Unlimited (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5xchn ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Exchanges Unlimited (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5firebl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Fireball (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5firebl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Fireball (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5flipcr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Flippin Crazy (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5flipcr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Flippin Crazy (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fortby ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Fort Boyard (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fortby01 ,m5fortby, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Fort Boyard (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fortby ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Fort Boyard (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fortby01 ,m5fortby, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Fort Boyard (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5frnzy ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Frenzy (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5frnzya ,m5frnzy, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Frenzy (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5frnzy ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Frenzy (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5frnzya ,m5frnzy, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Frenzy (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5beans ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Full Of Beans (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5beansa ,m5beans, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Full Of Beans (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5beans ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Full Of Beans (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5beansa ,m5beans, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Full Of Beans (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5funsun ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Fun In The Sun (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5funsun03 ,m5funsun, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Fun In The Sun (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5funsun ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Fun In The Sun (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5funsun03 ,m5funsun, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Fun In The Sun (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gimmie ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gimmie Gimmie Gimmie (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gimmie ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gimmie Gimmie Gimmie (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush10 ,m5grush, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush04 ,m5grush, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush03 ,m5grush, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush02 ,m5grush, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush01 ,m5grush, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grush ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grush10 ,m5grush, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grush04 ,m5grush, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grush03 ,m5grush, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grush02 ,m5grush, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grush01 ,m5grush, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush5 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush Five Liner (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush504 ,m5grush5, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush Five Liner (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grush5 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush Five Liner (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grush504 ,m5grush5, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush Five Liner (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gruss ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush Sit Down (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gruss ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush Sit Down (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grusst ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grusst04 ,m5grusst, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grusst03 ,m5grusst, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grusst ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grusst04 ,m5grusst, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5grusst03 ,m5grusst, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrik ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrik11 ,m5gstrik, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrik02 ,m5gstrik, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrik01 ,m5gstrik, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrik01a ,m5gstrik, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrika ,m5gstrik, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gstrik ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gstrik11 ,m5gstrik, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gstrik02 ,m5gstrik, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gstrik01 ,m5gstrik, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gstrik01a ,m5gstrik, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gstrika ,m5gstrik, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gsstrk ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Super Streak (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gsstrk07 ,m5gsstrk, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Gold Super Streak (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gsstrk ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Super Streak (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gsstrk07 ,m5gsstrk, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Gold Super Streak (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gdrag ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Golden Dragon (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gdrag ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Golden Dragon (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gdrgcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Golden Dragon Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gdrgcl05 ,m5gdrgcl, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Golden Dragon Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gdrgcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Golden Dragon Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gdrgcl05 ,m5gdrgcl, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Golden Dragon Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gkeys ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Golden Keys (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gkeys ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Golden Keys (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hellrz ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Hellraiser (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hellrz ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Hellraiser (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hlsumo ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Hi Lo Sumo (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hlsumo ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Hi Lo Sumo (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hifly ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hifly03 ,m5hifly, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hifly04 ,m5hifly, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hifly ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hifly03 ,m5hifly, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hifly04 ,m5hifly, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5holy ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Holy Grail (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5holy10 ,m5holy, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Holy Grail (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5holy ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Holy Grail (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5holy10 ,m5holy, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Holy Grail (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotslt ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Hot Slot (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hotslt ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Hot Slot (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotstf ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Hot Stuff (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hotstf ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Hot Stuff (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hypvip ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Hyper Viper (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hypvip ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Hyper Viper (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jackpt ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Jackpoteers (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jackpt07 ,m5jackpt, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Jackpoteers (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jackpt ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Jackpoteers (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jackpt07 ,m5jackpt, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Jackpoteers (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jackp2 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Jackpoteers 2 (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jackp2a ,m5jackp2, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Jackpoteers 2 (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jackp2 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Jackpoteers 2 (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jackp2a ,m5jackp2, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Jackpoteers 2 (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jlyjwl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jlyjwl01 ,m5jlyjwl, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jlyjwl02 ,m5jlyjwl, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jlyjwl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jlyjwl01 ,m5jlyjwl, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jlyjwl02 ,m5jlyjwl, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jlyrog ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Jolly Roger (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jlyroga ,m5jlyrog, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Jolly Roger (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jlyrog ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Jolly Roger (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jlyroga ,m5jlyrog, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Jolly Roger (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kkebab ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kkebab10 ,m5kkebab, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kkebaba ,m5kkebab, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kkebab ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kkebab10 ,m5kkebab, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kkebaba ,m5kkebab, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingko ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingko04 ,m5kingko, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingko05 ,m5kingko, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kingko ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kingko04 ,m5kingko, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kingko05 ,m5kingko, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lotta ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Lotta Luck (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5lotta ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Lotta Luck (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mega ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Mega Zone (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mega ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Mega Zone (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5martns ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Money Mad Martians (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5martns07 ,m5martns, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Money Mad Martians (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5martns ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Money Mad Martians (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5martns07 ,m5martns, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Money Mad Martians (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mmak ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Money Maker (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mmak06 ,m5mmak, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Money Maker (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mmak ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Money Maker (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mmak06 ,m5mmak, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Money Maker (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5monjok ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Monedin Joker (Spanish) (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5monjoka ,m5monjok, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Monedin Joker (Spanish) (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5monjok ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Monedin Joker (Spanish) (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5monjoka ,m5monjok, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Monedin Joker (Spanish) (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5monty ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Monty Python (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5monty ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Monty Python (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mprio ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Monty Python Rio (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mprio ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Monty Python Rio (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mpfc ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Monty Python's Flying Circus (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mpfc ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Monty Python's Flying Circus (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mpfccl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Monty Python's Flying Circus Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mpfccl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Monty Python's Flying Circus Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5neptun ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Neptunes Treasure (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5neptun ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Neptunes Treasure (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5nnww ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5nnww ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5nnwwgl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Nudge Nudge Wink Wink Gold (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5nnwwgl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Nudge Nudge Wink Wink Gold (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fiddle ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","On The Fiddle (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fiddle03 ,m5fiddle, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","On The Fiddle (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fiddle ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","On The Fiddle (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fiddle03 ,m5fiddle, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","On The Fiddle (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5oohaah ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ooh Aah Dracula (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5oohaah01 ,m5oohaah, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ooh Aah Dracula (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5oohaah ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ooh Aah Dracula (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5oohaah01 ,m5oohaah, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ooh Aah Dracula (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5oohrio ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ooh Ahh Dracula Rio (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5oohrio ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ooh Ahh Dracula Rio (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5openbx ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5openbx06 ,m5openbx, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5openbx05 ,m5openbx, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5openbx01 ,m5openbx, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5openbx ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5openbx06 ,m5openbx, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5openbx05 ,m5openbx, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5openbx01 ,m5openbx, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5overld ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5overld02 ,m5overld, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5overld10 ,m5overld, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5overld11 ,m5overld, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5overld ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5overld02 ,m5overld, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5overld10 ,m5overld, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5overld11 ,m5overld, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ptyani ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Party Animal (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ptyani01 ,m5ptyani, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Party Animal (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ptyani ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Party Animal (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ptyani01 ,m5ptyani, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Party Animal (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5peepsh ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Peep Show (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5peepsh ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Peep Show (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psy2 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Psycho Cash Beast 2 (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5psy2 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Psycho Cash Beast 2 (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qshot ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Quack Shot (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qshot04 ,m5qshot, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Quack Shot (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5qshot ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Quack Shot (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5qshot04 ,m5qshot, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Quack Shot (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5roof ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Raise The Roof (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5roofa ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Raise The Roof (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5roof ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Raise The Roof (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5roofa ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Raise The Roof (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5razdz ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5razdz10 ,m5razdz, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5razdz11 ,m5razdz, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5razdz ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5razdz10 ,m5razdz, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5razdz11 ,m5razdz, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5redrck ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5redrck10 ,m5redrck, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5redrcka ,m5redrck, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5redrck ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5redrck10 ,m5redrck, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5redrcka ,m5redrck, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rhkni ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Red Hot Knights (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rhkni ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Red Hot Knights (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rhrg ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Red Hot Roll Gold (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rhrga ,m5rhrg, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Red Hot Roll Gold (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rhrg ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Red Hot Roll Gold (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rhrga ,m5rhrg, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Red Hot Roll Gold (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rhrgt ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rhrgt12 ,m5rhrgt, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rhrgt02 ,m5rhrgt, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rhrgt ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rhrgt12 ,m5rhrgt, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rhrgt02 ,m5rhrgt, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5revo ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5revo13 ,m5revo, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5revoa ,m5revo, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5revo ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5revo13 ,m5revo, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5revoa ,m5revo, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb11 ,m5rgclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb12 ,m5rgclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb20 ,m5rgclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb21 ,m5rgclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb03 ,m5rgclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb01 ,m5rgclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb01a ,m5rgclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rgclb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rgclb11 ,m5rgclb, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rgclb12 ,m5rgclb, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rgclb20 ,m5rgclb, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rgclb21 ,m5rgclb, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rgclb03 ,m5rgclb, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rgclb01 ,m5rgclb, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rgclb01a ,m5rgclb, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rcx ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rcxa ,m5rcx, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rcx ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rcxa ,m5rcx, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rub ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Rubies & Diamonds (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rub ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Rubies & Diamonds (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ritj ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Rumble In The Jungle (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ritj ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Rumble In The Jungle (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rfymc ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Run For Your Money Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rfymc06 ,m5rfymc, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Run For Your Money Club (Barcrest) (MPU5) (Set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rfymc ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Run For Your Money Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rfymc06 ,m5rfymc, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Run For Your Money Club (Barcrest) (MPU5) (Set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5seven ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Seven Deadly Spins (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5seven ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Seven Deadly Spins (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sheik ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Sheik Yer Money (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sheik ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Sheik Yer Money (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5showtm ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Showtime (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5showtm ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Showtime (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5silver ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5silver06 ,m5silver, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5silver03 ,m5silver, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5silver ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5silver06 ,m5silver, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5silver03 ,m5silver, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sondr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sondr05 ,m5sondr, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sondra ,m5sondr, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (15GBP Jackpot)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sondr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sondr05 ,m5sondr, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sondra ,m5sondr, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (15GBP Jackpot)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5spicer ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Spice Is Right (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5spicer06 ,m5spicer, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","The Spice Is Right (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5spicer ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Spice Is Right (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5spicer06 ,m5spicer, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","The Spice Is Right (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5spiker ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5spiker02 ,m5spiker, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5spikera ,m5spiker, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5spiker ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5spiker02 ,m5spiker, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5spikera ,m5spiker, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5spins ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Spinsation (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5spins ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Spinsation (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5squids ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5squids04a ,m5squids, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5squids05 ,m5squids, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5squids06 ,m5squids, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5squids ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5squids04a ,m5squids, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5squids05 ,m5squids, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5squids06 ,m5squids, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stax ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Stax Of Cash (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5stax ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Stax Of Cash (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5scharg ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5scharg05 ,m5scharg, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5scharg06 ,m5scharg, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5scharga ,m5scharg, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5scharg ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5scharg05 ,m5scharg, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5scharg06 ,m5scharg, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5scharga ,m5scharg, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5supstr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Super Star (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5supstra ,m5supstr, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Super Star (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5supstr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Super Star (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5supstra ,m5supstr, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Super Star (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sstrk ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Super Streak (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sstrk02a ,m5sstrk, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Super Streak (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sstrk ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Super Streak (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sstrk02a ,m5sstrk, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Super Streak (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5supnov ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Supernova (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5supnova ,m5supnov, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Supernova (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5supnov ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Supernova (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5supnova ,m5supnov, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Supernova (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempt ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempt05 ,m5tempt, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempta ,m5tempt, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5temptb ,m5tempt, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tempt ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tempt05 ,m5tempt, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tempta ,m5tempt, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5temptb ,m5tempt, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempt2 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempt203 ,m5tempt2, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempt2a ,m5tempt2, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tempt2 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tempt203 ,m5tempt2, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tempt2a ,m5tempt2, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Temple Of Treasure Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tempcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Temple Of Treasure Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tbird ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Thunderbird (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tbird ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Thunderbird (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5topdog ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5topdog04 ,m5topdog, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5topdoga ,m5topdog, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5topdog ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5topdog04 ,m5topdog, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5topdoga ,m5topdog, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5trail ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Trailblazer Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5trail ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Trailblazer Club (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ultimo ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ultimo03a ,m5ultimo, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ultimo04 ,m5ultimo, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ultimo ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ultimo03a ,m5ultimo, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ultimo04 ,m5ultimo, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5upover ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Up & Over (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5upover15 ,m5upover, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Up & Over (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5upover ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Up & Over (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5upover15 ,m5upover, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Up & Over (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5vampup ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Vamp It Up (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5vampup ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Vamp It Up (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5wking ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Wild King (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5wking05 ,m5wking, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Wild King (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5wking ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Wild King (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5wking05 ,m5wking, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Wild King (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5costa ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Costa Del Cash (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5costa ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Costa Del Cash (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ttwo ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Take Two (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ttwo ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Take Two (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5horn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Whitbread","Horn Of Plenty (Barcrest / Whitbread) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5horn ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Whitbread","Horn Of Plenty (Barcrest / Whitbread) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotrk ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Hot Rocks (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hotrk ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Hot Rocks (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
/* Barcrest / Red Gaming */
-GAME( 199?, m5ashock ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Aftershock (Barcrest - Red Gaming) (MPU5, v1.2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ashocka ,m5ashock, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Aftershock (Barcrest - Red Gaming) (MPU5, v1.3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ashock ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Aftershock (Barcrest - Red Gaming) (MPU5, v1.2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ashocka ,m5ashock, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Aftershock (Barcrest - Red Gaming) (MPU5, v1.3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigsht ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigsht04 ,m5bigsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigsht11 ,m5bigsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigsht13 ,m5bigsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigshta ,m5bigsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bigsht ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bigsht04 ,m5bigsht, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bigsht11 ,m5bigsht, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bigsht13 ,m5bigsht, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bigshta ,m5bigsht, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bnkrs ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Bonkers (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bnkrs ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Bonkers (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bbank ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Break The Bank (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bbank13 ,m5bbank, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Break The Bank (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bbank ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Break The Bank (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bbank13 ,m5bbank, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Break The Bank (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5casfev ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Casino Fever (Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5casfev12 ,m5casfev, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Casino Fever (Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5casfev ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Casino Fever (Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5casfev12 ,m5casfev, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Casino Fever (Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dmnstr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Demon Streak (Barcrest - Red Gaming) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dmnstra ,m5dmnstr, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Demon Streak (Barcrest - Red Gaming) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dmnstr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Demon Streak (Barcrest - Red Gaming) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dmnstra ,m5dmnstr, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Demon Streak (Barcrest - Red Gaming) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dbubl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Double Bubble (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dbubl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Double Bubble (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dragnd ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Dragon Drop (Barcrest - Red Gaming) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dragnda ,m5dragnd, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Dragon Drop (Barcrest - Red Gaming) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dragnd ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Dragon Drop (Barcrest - Red Gaming) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dragnda ,m5dragnd, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Dragon Drop (Barcrest - Red Gaming) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fnfair ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Funfair (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fnfaird ,m5fnfair, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Funfair (Barcrest - Red Gaming) (MPU5) (Datapak)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fnfair ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Funfair (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fnfaird ,m5fnfair, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Funfair (Barcrest - Red Gaming) (MPU5) (Datapak)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fusir ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fusir11 ,m5fusir, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fusir12 ,m5fusir, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fusir ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fusir11 ,m5fusir, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fusir12 ,m5fusir, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hypalx ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Hypalinx (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hypalx ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Hypalinx (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5invad ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Invaders (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5invad ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Invaders (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jcptgn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Jackpot Genie (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jcptgn ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Jackpot Genie (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jlstrk ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Jewel Strike (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jlstrk ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Jewel Strike (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lock ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lock13 ,m5lock, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lock12 ,m5lock, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5lock ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5lock13 ,m5lock, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5lock12 ,m5lock, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lockcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lockcl15 ,m5lockcl, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lockcl14 ,m5lockcl, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5lockcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5lockcl15 ,m5lockcl, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5lockcl14 ,m5lockcl, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load Club (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5nitro ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Nitro (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5nitro ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Nitro (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5paint ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Paint The Town Red (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5paint ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Paint The Town Red (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5quake ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Quake (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5quake ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Quake (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rainrn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Rainbow Runner (Barcrest - Red Gaming) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rainrna ,m5rainrn, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Rainbow Runner (Barcrest - Red Gaming) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rainrn ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Rainbow Runner (Barcrest - Red Gaming) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rainrna ,m5rainrn, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Rainbow Runner (Barcrest - Red Gaming) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rampg ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rampg11 ,m5rampg, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rampg12 ,m5rampg, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rampg ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rampg11 ,m5rampg, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rampg12 ,m5rampg, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rdwarf ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Red Dwarf (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rdwarf ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Red Dwarf (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5redx ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Red X (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5redx12 ,m5redx, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Red X (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5redx ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Red X (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5redx12 ,m5redx, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Red X (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5thtsmg ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","That's Magic (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5thtsmg ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","That's Magic (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5topdol ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Top Dollar (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5topdola ,m5topdol, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Top Dollar (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5topdol ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Top Dollar (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5topdola ,m5topdol, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Top Dollar (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5zigzag ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Zig Zag (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5zigzag ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Zig Zag (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cmass ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Critical Mass (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cmass ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Critical Mass (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sblz ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Snail Blazer (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sblz ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Snail Blazer (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5slide ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest / Red Gaming","Slider (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5slide ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest / Red Gaming","Slider (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
/* Vivid */
-GAME( 199?, m5sixsht ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v1.1, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshta ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v1.1, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtb ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtc ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtd ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshte ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtf ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtg ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshth ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshti ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtj ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtk ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtl ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtm ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtn ,m5sixsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixsht ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v1.1, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshta ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v1.1, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshtb ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshtc ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshtd ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshte ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshtf ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshtg ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshth ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshti ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshtj ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshtk ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshtl ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshtm ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sixshtn ,m5sixsht, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41a ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41b ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41c ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41d ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41e ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41f ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41g ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41h ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41i ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41j ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41k ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41l ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41m ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41a ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41b ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41c ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41d ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41e ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41f ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41g ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41h ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41i ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41j ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41k ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41l ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41m ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5atlan ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Atlantic (Vivid) (MPU5, v1.4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5atlana ,m5atlan, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Atlantic (Vivid) (MPU5, v1.2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5atlan ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Atlantic (Vivid) (MPU5, v1.4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5atlana ,m5atlan, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Atlantic (Vivid) (MPU5, v1.2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bttf ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Back To The Features (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bttfa ,m5bttf, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Back To The Features (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bttf ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Back To The Features (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bttfa ,m5bttf, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Back To The Features (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5btlbnk ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Bottle Bank (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5btlbnk ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Bottle Bank (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5caesc ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Caesar's Cash (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5caesc ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Caesar's Cash (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5card ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Card Shark (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5card ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Card Shark (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cshkcb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cshkcb12 ,m5cshkcb, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cshkcb13 ,m5cshkcb, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cshkcb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cshkcb12 ,m5cshkcb, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cshkcb13 ,m5cshkcb, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clifhn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Cliffhanger (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clifhn ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Cliffhanger (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cnct4 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cnct415 ,m5cnct4, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cnct420 ,m5cnct4, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cnct4 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cnct415 ,m5cnct4, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cnct420 ,m5cnct4, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5devil ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Devil Of A Deal (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5devil ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Devil Of A Deal (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5elband ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","El Bandido Club (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5elband ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","El Bandido Club (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fair ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Fairground Attraction (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fair ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Fairground Attraction (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ggems ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Giant Gems (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ggems20 ,m5ggems, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Giant Gems (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ggems ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Giant Gems (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ggems20 ,m5ggems, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Giant Gems (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5groll ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Golden Roll (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5groll ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Golden Roll (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hilok ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Hi Lo Karate (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hilok ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Hi Lo Karate (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hiclau ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","High Claudius (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hiclau ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","High Claudius (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5honmon ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Honey Money (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5honmona ,m5honmon, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Honey Money (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5honmon ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Honey Money (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5honmona ,m5honmon, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Honey Money (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hopidl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Hop Idol (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hopidl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Hop Idol (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hypno ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Hypnotic (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hypno ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Hypnotic (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpjok ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpjok11 ,m5jmpjok, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpjoka ,m5jmpjok, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpjokb ,m5jmpjok, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jmpjok ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jmpjok11 ,m5jmpjok, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jmpjoka ,m5jmpjok, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jmpjokb ,m5jmpjok, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5loony ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Loony Juice (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5loony ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Loony Juice (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5loot ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Loot 'n' Khamun (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL ) // aka 3-in-1 ?
-GAME( 199?, m5loota ,m5loot, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Loot 'n' Khamun (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL ) // aka 3-in-1 ?
+GAME( 199?, m5loot ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Loot 'n' Khamun (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL ) // aka 3-in-1 ?
+GAME( 199?, m5loota ,m5loot, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Loot 'n' Khamun (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL ) // aka 3-in-1 ?
-GAME( 199?, m5mag7s ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mag7sa ,m5mag7s, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mag7sb ,m5mag7s, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mag7sc ,m5mag7s, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mag7sd ,m5mag7s, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mag7se ,m5mag7s, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mag7s ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mag7sa ,m5mag7s, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mag7sb ,m5mag7s, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mag7sc ,m5mag7s, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mag7sd ,m5mag7s, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5mag7se ,m5mag7s, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5msf ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Manic Streak Features (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5msfa ,m5msf, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Manic Streak Features (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5msf ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Manic Streak Features (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5msfa ,m5msf, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Manic Streak Features (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefac ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefac23 ,m5piefac, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefac12 ,m5piefac, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefaca ,m5piefac, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5piefac ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5piefac23 ,m5piefac, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5piefac12 ,m5piefac, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5piefaca ,m5piefac, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefc2 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefc2a ,m5piefc2, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefc2b ,m5piefc2, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5piefc2 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5piefc2a ,m5piefc2, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5piefc2b ,m5piefc2, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefcr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Pie Factory Rio (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5piefcr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Pie Factory Rio (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdraw ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdraw12 ,m5qdraw, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdraw14 ,m5qdraw, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdraw15 ,m5qdraw, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdrawa ,m5qdraw, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdrawb ,m5qdraw, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5qdraw ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5qdraw12 ,m5qdraw, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5qdraw14 ,m5qdraw, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5qdraw15 ,m5qdraw, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5qdrawa ,m5qdraw, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5qdrawb ,m5qdraw, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5redbal ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Random Red Ball (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5redbal ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Random Red Ball (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ratpk ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Rat Pack (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ratpka ,m5ratpk, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Rat Pack (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ratpk ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Rat Pack (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ratpka ,m5ratpk, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Rat Pack (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rawin ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid / Whitbread","Reel A Win (Vivid / Whitbread) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rawin ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid / Whitbread","Reel A Win (Vivid / Whitbread) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rollup ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Roll Up Roll Up (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rollup ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Roll Up Roll Up (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5shark ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Shark Raving Mad (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sharka ,m5shark, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Shark Raving Mad (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5shark ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Shark Raving Mad (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sharka ,m5shark, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Shark Raving Mad (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5speccl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Spectrum Club (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5speccl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Spectrum Club (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5spddmn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Speed Demon (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5spddmn ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Speed Demon (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars13a ,m5stars, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars26 ,m5stars, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars25a ,m5stars, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars25 ,m5stars, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars22 ,m5stars, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars20 ,m5stars, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars10 ,m5stars, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars10a ,m5stars, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5stars ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5stars13a ,m5stars, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5stars26 ,m5stars, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5stars25a ,m5stars, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5stars25 ,m5stars, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5stars22 ,m5stars, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5stars20 ,m5stars, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5stars10 ,m5stars, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5stars10a ,m5stars, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5starcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes Club (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5starcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes Club (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5startr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Stars & Stripes Triple (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5startr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Stars & Stripes Triple (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5supro ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Super Roulette (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5suproa ,m5supro, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Super Roulette (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5supro ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Super Roulette (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5suproa ,m5supro, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Super Roulette (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempp ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Temple Of Pleasure (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tempp ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Temple Of Pleasure (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5whdres ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Who Dares Spins (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5whdres ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Who Dares Spins (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5winway ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Winning Ways (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5winway ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Winning Ways (MPU5)", GAME_IS_SKELETON_MECHANICAL )
/* Empire */
-GAME( 199?, m5fewmor ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.2, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fewmora ,m5fewmor, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.2, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fewmorb ,m5fewmor, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.3, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fewmorc ,m5fewmor, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.3, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fewmor ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.2, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fewmora ,m5fewmor, mpu5, mpu5, driver_device, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.2, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fewmorb ,m5fewmor, mpu5, mpu5, driver_device, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.3, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fewmorc ,m5fewmor, mpu5, mpu5, driver_device, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.3, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5wonga ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","A Fish Called Wonga (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5wonga ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","A Fish Called Wonga (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5aceclb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5aceclba ,m5aceclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5aceclbb ,m5aceclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5aceclb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5aceclba ,m5aceclb, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5aceclbb ,m5aceclb, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5barxdx ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Bar X Deluxe (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5barxdx ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Bar X Deluxe (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bnzclb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Bonanza Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bnzclb11 ,m5bnzclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Bonanza Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bnzclb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Bonanza Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bnzclb11 ,m5bnzclb, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Bonanza Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bukroo ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Buckaroo (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bukroo ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Buckaroo (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cbrun ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Cannonball Run (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cbrun ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Cannonball Run (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5carou ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Carousel (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5carou ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Carousel (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5casroc ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Casino Royale Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5casroc ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Casino Royale Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5centcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5centcl20 ,m5centcl, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5centcl21 ,m5centcl, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5centcl21a ,m5centcl, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5centcla ,m5centcl, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5centcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5centcl20 ,m5centcl, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5centcl21 ,m5centcl, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5centcl21a ,m5centcl, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5centcla ,m5centcl, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cworan ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Clockwork Oranges (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cworan12 ,m5cworan, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Clockwork Oranges (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cworan ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Clockwork Oranges (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cworan12 ,m5cworan, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Clockwork Oranges (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clbtro ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clbtro24 ,m5clbtro, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clbtro25 ,m5clbtro, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clbtro ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clbtro24 ,m5clbtro, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clbtro25 ,m5clbtro, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cockdd ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Cock A Doodle Dough! (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cockdd05 ,m5cockdd, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Cock A Doodle Dough! (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cockdd ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Cock A Doodle Dough! (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cockdd05 ,m5cockdd, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Cock A Doodle Dough! (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5coloss ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Colossus Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5coloss ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Colossus Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5crocrk ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Crocodile Rock (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5crocrk10 ,m5crocrk, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Crocodile Rock (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5crocrk ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Crocodile Rock (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5crocrk10 ,m5crocrk, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Crocodile Rock (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5croclb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Crocodile Rock Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5croclb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Crocodile Rock Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5crsfir ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Crossfire (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5crsfir ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Crossfire (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dmnf ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Diamonds Are Forever (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dmnf10 ,m5dmnf, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Diamonds Are Forever (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dmnf ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Diamonds Are Forever (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dmnf10 ,m5dmnf, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Diamonds Are Forever (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dmnfcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Diamonds Are Forever Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dmnfcl04 ,m5dmnfcl, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Diamonds Are Forever Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dmnfcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Diamonds Are Forever Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dmnfcl04 ,m5dmnfcl, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Diamonds Are Forever Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5extrm ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Extreme (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5extrm ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Extreme (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5extrmm ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5extrmm04a ,m5extrmm, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5extrmm04b ,m5extrmm, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5extrmm10 ,m5extrmm, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5extrmm ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5extrmm04a ,m5extrmm, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5extrmm04b ,m5extrmm, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5extrmm10 ,m5extrmm, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fatcat ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Fat Cat (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fatcat ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Fat Cat (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fishdl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Fish Full Of Dollars (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fishdl10 ,m5fishdl, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Fish Full Of Dollars (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fishdl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Fish Full Of Dollars (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fishdl10 ,m5fishdl, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Fish Full Of Dollars (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fishcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Fish Full Of Dollars Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fishcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Fish Full Of Dollars Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fmonty ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fmonty04a ,m5fmonty, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fmonty04b ,m5fmonty, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fmonty04c ,m5fmonty, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fmonty ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fmonty04a ,m5fmonty, mpu5, mpu5, driver_device, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fmonty04b ,m5fmonty, mpu5, mpu5, driver_device, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fmonty04c ,m5fmonty, mpu5, mpu5, driver_device, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fmount ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Full Mountie (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5fmount ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Full Mountie (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gophr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Gopher Gold (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gophr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Gopher Gold (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gophcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Gopher Gold Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gophcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Gopher Gold Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hisprt ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","High Spirits (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hisprt ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","High Spirits (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hocus ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hocus Pocus (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hocus10 ,m5hocus, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hocus Pocus (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hocus ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hocus Pocus (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hocus10 ,m5hocus, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hocus Pocus (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hocscl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hocus Pocus Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hocscl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hocus Pocus Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht07a ,m5hotsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht08 ,m5hotsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht08a ,m5hotsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht10 ,m5hotsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht10a ,m5hotsht, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hotsht ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hotsht07a ,m5hotsht, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hotsht08 ,m5hotsht, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hotsht08a ,m5hotsht, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hotsht10 ,m5hotsht, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hotsht10a ,m5hotsht, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hula ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hula Moolah (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hula10 ,m5hula, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hula Moolah (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hula ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hula Moolah (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hula10 ,m5hula, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hula Moolah (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hulacl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Hula Moolah Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hulacl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Hula Moolah Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jackbx ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Jack In The Box (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jackbx03 ,m5jackbx, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Jack In The Box (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jackbx ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Jack In The Box (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jackbx03 ,m5jackbx, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Jack In The Box (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jcy ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Juicy Fruits (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jcy ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Juicy Fruits (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpgem ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpgem01 ,m5jmpgem, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpgem03 ,m5jmpgem, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jmpgem ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jmpgem01 ,m5jmpgem, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jmpgem03 ,m5jmpgem, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpgmc ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Jumping Gems Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jmpgmc ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Jumping Gems Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kaleid ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Kaleidoscope Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kaleid ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Kaleidoscope Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kcclb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","King Cobra Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kcclb24 ,m5kcclb, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","King Cobra Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kcclb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","King Cobra Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kcclb24 ,m5kcclb, mpu5, mpu5, driver_device, 0, ROT0, "Empire","King Cobra Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingqc ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingqc06 ,m5kingqc, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingqc07 ,m5kingqc, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingqc08 ,m5kingqc, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kingqc ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kingqc06 ,m5kingqc, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kingqc07 ,m5kingqc, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kingqc08 ,m5kingqc, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5korma ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Korma Chameleon (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5korma12 ,m5korma, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Korma Chameleon (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5korma ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Korma Chameleon (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5korma12 ,m5korma, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Korma Chameleon (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kormcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Korma Chameleon Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5kormcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Korma Chameleon Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5monmst ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Money Monster (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5monmsta ,m5monmst, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Money Monster (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5monmst ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Money Monster (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5monmsta ,m5monmst, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Money Monster (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ramrd ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Ram Raid (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ramrd ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Ram Raid (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ramrcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Ram Raid Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ramrcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Ram Raid Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ronr ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ronr05 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ronr07 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ronr ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ronr05 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ronr07 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5resfrg ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Reservoir Frogs (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5resfrg ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Reservoir Frogs (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rthh ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Return To The Haunted House (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rthh ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Return To The Haunted House (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rollx ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Roll X (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rollx12 ,m5rollx, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Roll X (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rollx ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Roll X (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rollx12 ,m5rollx, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Roll X (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5skulcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5skulcl20 ,m5skulcl, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5skulcl23 ,m5skulcl, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5skulcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5skulcl20 ,m5skulcl, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5skulcl23 ,m5skulcl, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tball ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Thunderball (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tball ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Thunderball (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tomb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Tomb Raiders (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tomb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Tomb Raiders (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5trclb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Tomb Raiders Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5trclb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Tomb Raiders Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ttop ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ttop04 ,m5ttop, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ttop10 ,m5ttop, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ttop ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ttop04 ,m5ttop, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ttop10 ,m5ttop, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ttopcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Treble Top Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ttopcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Treble Top Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tsar ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Tsar Wars (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tsar ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Tsar Wars (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5vertgo ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Vertigo (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5vertgo ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Vertigo (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5vertcl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Vertigo Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5vertcl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Vertigo Club (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5wthing ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5wthing11 ,m5wthing, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5wthing20 ,m5wthing, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5wthing ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5wthing11 ,m5wthing, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5wthing20 ,m5wthing, mpu5, mpu5, driver_device, 0, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5xfact ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5xfact02 ,m5xfact, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5xfact04 ,m5xfact, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5xfact11 ,m5xfact, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5xfact ,0, mpu5, mpu5, driver_device, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5xfact02 ,m5xfact, mpu5, mpu5, driver_device, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5xfact04 ,m5xfact, mpu5, mpu5, driver_device, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5xfact11 ,m5xfact, mpu5, mpu5, driver_device, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
/* Bwb */
-GAME( 199?, m5carwsh ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Car Wash (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5carwsh10 ,m5carwsh, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Car Wash (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5carwsh ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Car Wash (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5carwsh10 ,m5carwsh, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Car Wash (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cshstx ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Cash Stax (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5cshstx ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Cash Stax (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus0a ,m5circus, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus0b ,m5circus, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus20 ,m5circus, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus21 ,m5circus, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus11 ,m5circus, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5circus ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5circus0a ,m5circus, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5circus0b ,m5circus, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5circus20 ,m5circus, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5circus21 ,m5circus, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5circus11 ,m5circus, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circlb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circlb00 ,m5circlb, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circlb15 ,m5circlb, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circlb33 ,m5circlb, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5circlb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5circlb00 ,m5circlb, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5circlb15 ,m5circlb, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5circlb33 ,m5circlb, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clown ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clown11 ,m5clown, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clown13 ,m5clown, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clown ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clown11 ,m5clown, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clown13 ,m5clown, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clubsn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clubsn11 ,m5clubsn, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clubsn14 ,m5clubsn, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clubsn16 ,m5clubsn, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clubsn ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clubsn11 ,m5clubsn, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clubsn14 ,m5clubsn, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clubsn16 ,m5clubsn, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dick ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Dick Turnip (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dick10 ,m5dick, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Dick Turnip (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dick ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Dick Turnip (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dick10 ,m5dick, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Dick Turnip (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5donna ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5donnad ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 1, Datapak)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5donnaa ,m5donna, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5donna ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5donnad ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 1, Datapak)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5donnaa ,m5donna, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dblqts ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dblqtsa ,m5dblqts, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dblqtsb ,m5dblqts, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dblqts1b ,m5dblqts, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dblqts ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dblqtsa ,m5dblqts, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dblqtsb ,m5dblqts, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dblqts1b ,m5dblqts, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5eggold ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Egyptian Gold (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5eggold ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Egyptian Gold (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m55050 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Fifty Fifty (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m55050 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Fifty Fifty (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gpclub ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Get Plastered Club (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5gpclub ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Get Plastered Club (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5goape ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Going Ape (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5goape ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Going Ape (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hgl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hgl16 ,m5hgl, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hgl14 ,m5hgl, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hgl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hgl16 ,m5hgl, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hgl14 ,m5hgl, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jokpak ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Joker In The Pack (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jokpak ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Joker In The Pack (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lvwire ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Live Wire (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lvwirea ,m5lvwire, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Live Wire (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5lvwire ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Live Wire (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5lvwirea ,m5lvwire, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Live Wire (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5carpet ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Magic Carpet (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5carpet12 ,m5carpet, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Magic Carpet (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5carpet ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Magic Carpet (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5carpet12 ,m5carpet, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Magic Carpet (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5minesw ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Minesweeper (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5minesw ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Minesweeper (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psycho ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Psycho Cash Beast (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psycho06 ,m5psycho, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Psycho Cash Beast (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psychoa ,m5psycho, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Psycho Cash Beast (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psychoa21 ,m5psycho, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Psycho Cash Beast (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5psycho ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Psycho Cash Beast (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5psycho06 ,m5psycho, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Psycho Cash Beast (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5psychoa ,m5psycho, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Psycho Cash Beast (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5psychoa21 ,m5psycho, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Psycho Cash Beast (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psyccl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Psycho Cash Beast Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psyccl01 ,m5psyccl, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Psycho Cash Beast Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psyccla ,m5psyccl, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psyccla24 ,m5psyccl, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psyccla02 ,m5psyccl, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5psyccl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Psycho Cash Beast Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5psyccl01 ,m5psyccl, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Psycho Cash Beast Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5psyccla ,m5psyccl, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5psyccla24 ,m5psyccl, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5psyccla02 ,m5psyccl, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rwb ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Red White & Blue (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rwbbwb ,m5rwb, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rwbbwb24 ,m5rwb, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rwbbwb25 ,m5rwb, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rwbbwb15 ,m5rwb, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rwb ,0, mpu5, mpu5, driver_device, 0, ROT0, "Barcrest","Red White & Blue (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rwbbwb ,m5rwb, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rwbbwb24 ,m5rwb, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rwbbwb25 ,m5rwb, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rwbbwb15 ,m5rwb, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5reelwn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Reel A Win (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5reelwn24 ,m5reelwn, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Reel A Win (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5reelwn ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Reel A Win (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5reelwn24 ,m5reelwn, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Reel A Win (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5reelth ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Reel Thunder (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5reelth ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Reel Thunder (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rlup ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Roll Up (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5rlup ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Roll Up (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5round ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Round & Round (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5round ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Round & Round (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sec7 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Secret 7s (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sec7a ,m5sec7, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Secret 7s (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sec7 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Secret 7s (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sec7a ,m5sec7, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Secret 7s (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sil7 ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Silver 7s (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sil7a ,m5sil7, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Silver 7s (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sil7 ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Silver 7s (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5sil7a ,m5sil7, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Silver 7s (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5smobik ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Smokey Bikin (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5smobik12 ,m5smobik, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Smokey Bikin (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5smobik ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Smokey Bikin (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5smobik12 ,m5smobik, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Smokey Bikin (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tictac ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Tic Tac Tut (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tictacbwb ,m5tictac, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Tic Tac Tut (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tictacbwb16,m5tictac, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Tic Tac Tut (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tictac ,0, mpu5, mpu5, driver_device, 0, ROT0, "Vivid","Tic Tac Tut (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tictacbwb ,m5tictac, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Tic Tac Tut (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tictacbwb16,m5tictac, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Tic Tac Tut (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5xena ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Xena Warrior Princess (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5xena ,0, mpu5, mpu5, driver_device, 0, ROT0, "Bwb","Xena Warrior Princess (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
/* Lowen */
-GAME( 199?, m5all41low ,m5all41, mpu5, mpu5, mpu5_state, 0, ROT0, "Lowen","All 4 One (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dblfun ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Lowen","Double Fun (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jakjok ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Lowen","Jackpot Jokers (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5roundl ,m5round, mpu5, mpu5, mpu5_state, 0, ROT0, "Lowen","Round & Round (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5scfinl ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Lowen","Super Cup Final (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5all41low ,m5all41, mpu5, mpu5, driver_device, 0, ROT0, "Lowen","All 4 One (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5dblfun ,0, mpu5, mpu5, driver_device, 0, ROT0, "Lowen","Double Fun (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5jakjok ,0, mpu5, mpu5, driver_device, 0, ROT0, "Lowen","Jackpot Jokers (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5roundl ,m5round, mpu5, mpu5, driver_device, 0, ROT0, "Lowen","Round & Round (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5scfinl ,0, mpu5, mpu5, driver_device, 0, ROT0, "Lowen","Super Cup Final (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
/* Others / Uncertain */
-GAME( 199?, m5ppussy ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Mdm","Pink Pussy (Mdm) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ppussy ,0, mpu5, mpu5, driver_device, 0, ROT0, "Mdm","Pink Pussy (Mdm) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/mquake.c b/src/mame/drivers/mquake.c
index d2fd857e158..24d9a88eccb 100644
--- a/src/mame/drivers/mquake.c
+++ b/src/mame/drivers/mquake.c
@@ -429,9 +429,8 @@ ROM_END
*
*************************************/
-static DRIVER_INIT(mquake)
+DRIVER_INIT_MEMBER(amiga_state,mquake)
{
- amiga_state *state = machine.driver_data<amiga_state>();
static const amiga_machine_interface mquake_intf =
{
ANGUS_CHIP_RAM_MASK,
@@ -441,11 +440,11 @@ static DRIVER_INIT(mquake)
NULL,
0
};
- amiga_machine_config(machine, &mquake_intf);
+ amiga_machine_config(machine(), &mquake_intf);
/* set up memory */
- state->membank("bank1")->configure_entry(0, state->m_chip_ram);
- state->membank("bank1")->configure_entry(1, machine.root_device().memregion("user1")->base());
+ membank("bank1")->configure_entry(0, m_chip_ram);
+ membank("bank1")->configure_entry(1, machine().root_device().memregion("user1")->base());
}
diff --git a/src/mame/drivers/mrdo.c b/src/mame/drivers/mrdo.c
index 9a33ca80c63..dc4d185dc09 100644
--- a/src/mame/drivers/mrdo.c
+++ b/src/mame/drivers/mrdo.c
@@ -385,10 +385,10 @@ ROM_END
-GAME( 1982, mrdo, 0, mrdo, mrdo, mrdo_state, 0, ROT270, "Universal", "Mr. Do!", GAME_SUPPORTS_SAVE )
-GAME( 1982, mrdoy, mrdo, mrdo, mrdo, mrdo_state, 0, ROT270, "Universal", "Mr. Do! (prototype)" , GAME_SUPPORTS_SAVE ) /* aka "Yukidaruma" */
-GAME( 1982, mrdot, mrdo, mrdo, mrdo, mrdo_state, 0, ROT270, "Universal (Taito license)", "Mr. Do! (Taito)", GAME_SUPPORTS_SAVE )
-GAME( 1982, mrdofix, mrdo, mrdo, mrdo, mrdo_state, 0, ROT270, "Universal (Taito license)", "Mr. Do! (bugfixed)", GAME_SUPPORTS_SAVE )
-GAME( 1982, mrlo, mrdo, mrdo, mrdo, mrdo_state, 0, ROT270, "bootleg", "Mr. Lo!", GAME_SUPPORTS_SAVE )
-GAME( 1982, mrdu, mrdo, mrdo, mrdo, mrdo_state, 0, ROT270, "bootleg", "Mr. Du!", GAME_SUPPORTS_SAVE )
-GAME( 1982, yankeedo, mrdo, mrdo, mrdo, mrdo_state, 0, ROT270, "hack", "Yankee DO!", GAME_SUPPORTS_SAVE )
+GAME( 1982, mrdo, 0, mrdo, mrdo, driver_device, 0, ROT270, "Universal", "Mr. Do!", GAME_SUPPORTS_SAVE )
+GAME( 1982, mrdoy, mrdo, mrdo, mrdo, driver_device, 0, ROT270, "Universal", "Mr. Do! (prototype)" , GAME_SUPPORTS_SAVE ) /* aka "Yukidaruma" */
+GAME( 1982, mrdot, mrdo, mrdo, mrdo, driver_device, 0, ROT270, "Universal (Taito license)", "Mr. Do! (Taito)", GAME_SUPPORTS_SAVE )
+GAME( 1982, mrdofix, mrdo, mrdo, mrdo, driver_device, 0, ROT270, "Universal (Taito license)", "Mr. Do! (bugfixed)", GAME_SUPPORTS_SAVE )
+GAME( 1982, mrlo, mrdo, mrdo, mrdo, driver_device, 0, ROT270, "bootleg", "Mr. Lo!", GAME_SUPPORTS_SAVE )
+GAME( 1982, mrdu, mrdo, mrdo, mrdo, driver_device, 0, ROT270, "bootleg", "Mr. Du!", GAME_SUPPORTS_SAVE )
+GAME( 1982, yankeedo, mrdo, mrdo, mrdo, driver_device, 0, ROT270, "hack", "Yankee DO!", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mrflea.c b/src/mame/drivers/mrflea.c
index bfbc619786c..bc1ebdd2dd1 100644
--- a/src/mame/drivers/mrflea.c
+++ b/src/mame/drivers/mrflea.c
@@ -445,4 +445,4 @@ ROM_END
*
*************************************/
-GAME( 1982, mrflea, 0, mrflea, mrflea, mrflea_state, 0, ROT270, "Pacific Novelty", "The Amazing Adventures of Mr. F. Lea" , GAME_SUPPORTS_SAVE )
+GAME( 1982, mrflea, 0, mrflea, mrflea, driver_device, 0, ROT270, "Pacific Novelty", "The Amazing Adventures of Mr. F. Lea" , GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mrgame.c b/src/mame/drivers/mrgame.c
index e9a3252673f..c287202ee15 100644
--- a/src/mame/drivers/mrgame.c
+++ b/src/mame/drivers/mrgame.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(mrgame);
};
@@ -35,7 +37,7 @@ void mrgame_state::machine_reset()
{
}
-static DRIVER_INIT( mrgame )
+DRIVER_INIT_MEMBER(mrgame_state,mrgame)
{
}
diff --git a/src/mame/drivers/mrjong.c b/src/mame/drivers/mrjong.c
index 0fc1dc74a8e..f3f5f8b9135 100644
--- a/src/mame/drivers/mrjong.c
+++ b/src/mame/drivers/mrjong.c
@@ -271,6 +271,6 @@ ROM_END
*
*************************************/
-GAME( 1983, mrjong, 0, mrjong, mrjong, mrjong_state, 0, ROT90, "Kiwako", "Mr. Jong (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1983, crazyblk, mrjong, mrjong, mrjong, mrjong_state, 0, ROT90, "Kiwako (ECI license)", "Crazy Blocks", GAME_SUPPORTS_SAVE )
-GAME( 1983, blkbustr, mrjong, mrjong, mrjong, mrjong_state, 0, ROT90, "Kiwako (ECI license)", "BlockBuster", GAME_SUPPORTS_SAVE )
+GAME( 1983, mrjong, 0, mrjong, mrjong, driver_device, 0, ROT90, "Kiwako", "Mr. Jong (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1983, crazyblk, mrjong, mrjong, mrjong, driver_device, 0, ROT90, "Kiwako (ECI license)", "Crazy Blocks", GAME_SUPPORTS_SAVE )
+GAME( 1983, blkbustr, mrjong, mrjong, mrjong, driver_device, 0, ROT90, "Kiwako (ECI license)", "BlockBuster", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c
index 66bfbb1f431..a4c2ba5abaf 100644
--- a/src/mame/drivers/ms32.c
+++ b/src/mame/drivers/ms32.c
@@ -2206,69 +2206,68 @@ static void configure_banks(running_machine &machine)
state->membank("bank5")->configure_entries(0, 16, state->memregion("audiocpu")->base() + 0x14000, 0x4000);
}
-static DRIVER_INIT( ms32_common )
+DRIVER_INIT_MEMBER(ms32_state,ms32_common)
{
- ms32_state *state = machine.driver_data<ms32_state>();
- state->m_nvram_8 = auto_alloc_array(machine, UINT8, 0x2000);
- configure_banks(machine);
+ m_nvram_8 = auto_alloc_array(machine(), UINT8, 0x2000);
+ configure_banks(machine());
}
/* SS91022-10: desertwr, gratiaa, tp2m32, gametngk */
-static DRIVER_INIT (ss91022_10)
+DRIVER_INIT_MEMBER(ms32_state,ss91022_10)
{
DRIVER_INIT_CALL(ms32_common);
- ms32_rearrange_sprites(machine, "gfx1");
- decrypt_ms32_tx(machine, 0x00000,0x35, "gfx4");
- decrypt_ms32_bg(machine, 0x00000,0xa3, "gfx3");
+ ms32_rearrange_sprites(machine(), "gfx1");
+ decrypt_ms32_tx(machine(), 0x00000,0x35, "gfx4");
+ decrypt_ms32_bg(machine(), 0x00000,0xa3, "gfx3");
}
/* SS92046_01: bbbxing, f1superb, tetrisp, hayaosi2 */
-static DRIVER_INIT (ss92046_01)
+DRIVER_INIT_MEMBER(ms32_state,ss92046_01)
{
DRIVER_INIT_CALL(ms32_common);
- ms32_rearrange_sprites(machine, "gfx1");
- decrypt_ms32_tx(machine, 0x00020,0x7e, "gfx4");
- decrypt_ms32_bg(machine, 0x00001,0x9b, "gfx3");
+ ms32_rearrange_sprites(machine(), "gfx1");
+ decrypt_ms32_tx(machine(), 0x00020,0x7e, "gfx4");
+ decrypt_ms32_bg(machine(), 0x00001,0x9b, "gfx3");
}
/* SS92047-01: gratia, kirarast */
-static DRIVER_INIT (ss92047_01)
+DRIVER_INIT_MEMBER(ms32_state,ss92047_01)
{
DRIVER_INIT_CALL(ms32_common);
- ms32_rearrange_sprites(machine, "gfx1");
- decrypt_ms32_tx(machine, 0x24000,0x18, "gfx4");
- decrypt_ms32_bg(machine, 0x24000,0x55, "gfx3");
+ ms32_rearrange_sprites(machine(), "gfx1");
+ decrypt_ms32_tx(machine(), 0x24000,0x18, "gfx4");
+ decrypt_ms32_bg(machine(), 0x24000,0x55, "gfx3");
}
/* SS92048-01: p47aces, 47pie2, 47pie2o */
-static DRIVER_INIT (ss92048_01)
+DRIVER_INIT_MEMBER(ms32_state,ss92048_01)
{
DRIVER_INIT_CALL(ms32_common);
- ms32_rearrange_sprites(machine, "gfx1");
- decrypt_ms32_tx(machine, 0x20400,0xd6, "gfx4");
- decrypt_ms32_bg(machine, 0x20400,0xd4, "gfx3");
+ ms32_rearrange_sprites(machine(), "gfx1");
+ decrypt_ms32_tx(machine(), 0x20400,0xd6, "gfx4");
+ decrypt_ms32_bg(machine(), 0x20400,0xd4, "gfx3");
}
-static DRIVER_INIT (kirarast)
+DRIVER_INIT_MEMBER(ms32_state,kirarast)
{
DRIVER_INIT_CALL(ss92047_01);
}
-static DRIVER_INIT (47pie2)
+DRIVER_INIT_MEMBER(ms32_state,47pie2)
{
DRIVER_INIT_CALL(ss92048_01);
}
-static DRIVER_INIT (f1superb)
+DRIVER_INIT_MEMBER(ms32_state,f1superb)
{
#if 0 // we shouldn't need this hack, something else is wrong, and the x offsets are never copied either, v70 problems??
- UINT32 *pROM = (UINT32 *)machine.root_device().memregion("maincpu")->base();
+ UINT32 *pROM = (UINT32 *)machine().root_device().memregion("maincpu")->base();
pROM[0x19d04/4]=0x167a021a; // bne->br : sprite Y offset table is always copied to RAM
#endif
DRIVER_INIT_CALL(ss92046_01);
}
-static DRIVER_INIT (bnstars)
+DRIVER_INIT_MEMBER(ms32_state,bnstars)
{
DRIVER_INIT_CALL(ss92046_01);
}
diff --git a/src/mame/drivers/msisaac.c b/src/mame/drivers/msisaac.c
index e1fb85c0af2..7b81673328e 100644
--- a/src/mame/drivers/msisaac.c
+++ b/src/mame/drivers/msisaac.c
@@ -569,4 +569,4 @@ ROM_START( msisaac )
ROM_END
-GAME( 1985, msisaac, 0, msisaac, msisaac, msisaac_state, 0, ROT270, "Taito Corporation", "Metal Soldier Isaac II", GAME_UNEMULATED_PROTECTION | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1985, msisaac, 0, msisaac, msisaac, driver_device, 0, ROT270, "Taito Corporation", "Metal Soldier Isaac II", GAME_UNEMULATED_PROTECTION | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mugsmash.c b/src/mame/drivers/mugsmash.c
index 8227596b44b..5bfdcdf60c4 100644
--- a/src/mame/drivers/mugsmash.c
+++ b/src/mame/drivers/mugsmash.c
@@ -469,4 +469,4 @@ ROM_START( mugsmash )
ROM_LOAD( "mugs_15.bin", 0x180000, 0x080000, CRC(82e8187c) SHA1(c7a0e1b3d90dbbe2588886a27a07a9c336447ae3) )
ROM_END
-GAME( 1990?, mugsmash, 0, mugsmash, mugsmash, mugsmash_state, 0, ROT0, "Electronic Devices Italy / 3D Games England", "Mug Smashers", GAME_SUPPORTS_SAVE )
+GAME( 1990?, mugsmash, 0, mugsmash, mugsmash, driver_device, 0, ROT0, "Electronic Devices Italy / 3D Games England", "Mug Smashers", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/multfish.c b/src/mame/drivers/multfish.c
index ba12f08e6d2..51d2ecb21f7 100644
--- a/src/mame/drivers/multfish.c
+++ b/src/mame/drivers/multfish.c
@@ -214,6 +214,17 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(multfish_hopper_r);
DECLARE_READ8_MEMBER(multfish_timekeeper_r);
DECLARE_WRITE8_MEMBER(multfish_timekeeper_w);
+ DECLARE_DRIVER_INIT(customl);
+ DECLARE_DRIVER_INIT(island2l);
+ DECLARE_DRIVER_INIT(keksl);
+ DECLARE_DRIVER_INIT(pirate2l);
+ DECLARE_DRIVER_INIT(fcockt2l);
+ DECLARE_DRIVER_INIT(sweetl2l);
+ DECLARE_DRIVER_INIT(gnomel);
+ DECLARE_DRIVER_INIT(crzmonent);
+ DECLARE_DRIVER_INIT(resdntent);
+ DECLARE_DRIVER_INIT(gnomeent);
+ DECLARE_DRIVER_INIT(lhauntent);
};
static TILE_GET_INFO( get_multfish_tile_info )
@@ -445,7 +456,7 @@ WRITE8_MEMBER(multfish_state::rollfr_hopper_w)
coin_lockout_w(machine(), 7, data & 0x04);
}
-DRIVER_INIT( customl )
+DRIVER_INIT_MEMBER(multfish_state,customl)
{
/*
rom 1
@@ -475,8 +486,8 @@ A12 <-> A13
*/
UINT32 i,j,jscr,romoffset;
- UINT8 *multfish_gfx = machine.root_device().memregion("gfx")->base();
- UINT8 *temprom = auto_alloc_array(machine, UINT8, multfish_ROM_SIZE);
+ UINT8 *multfish_gfx = machine().root_device().memregion("gfx")->base();
+ UINT8 *temprom = auto_alloc_array(machine(), UINT8, multfish_ROM_SIZE);
/* ROM 1 decode */
@@ -519,7 +530,7 @@ A12 <-> A13
}
memcpy(&multfish_gfx[romoffset],temprom,multfish_ROM_SIZE);
}
- auto_free(machine, temprom);
+ auto_free(machine(), temprom);
}
INLINE void rom_decodel(UINT8 *romptr, UINT8 *tmprom, UINT8 xor_data, UINT32 xor_add)
@@ -604,82 +615,72 @@ static void ent_decode(running_machine &machine, UINT8 xor12, UINT8 xor34, UINT8
auto_free(machine, temprom);
}
-DRIVER_INIT( island2l )
+DRIVER_INIT_MEMBER(multfish_state,island2l)
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->m_xor_palette = 0x8bf7;
- state->m_xor_paltype = 1;
- lottery_decode(machine, 0xff, 0x11, 0x77, 0xee, 0x44c40);
+ m_xor_palette = 0x8bf7;
+ m_xor_paltype = 1;
+ lottery_decode(machine(), 0xff, 0x11, 0x77, 0xee, 0x44c40);
}
-DRIVER_INIT( keksl )
+DRIVER_INIT_MEMBER(multfish_state,keksl)
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->m_xor_palette = 0x41f3;
- state->m_xor_paltype = 1;
- lottery_decode(machine, 0xdd, 0xaa, 0x22, 0x55, 0x2cac0);
+ m_xor_palette = 0x41f3;
+ m_xor_paltype = 1;
+ lottery_decode(machine(), 0xdd, 0xaa, 0x22, 0x55, 0x2cac0);
}
-DRIVER_INIT( pirate2l )
+DRIVER_INIT_MEMBER(multfish_state,pirate2l)
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->m_xor_palette = 0x8bfb;
- state->m_xor_paltype = 1;
- lottery_decode(machine, 0xaa, 0x11, 0x22, 0xee, 0x48480);
+ m_xor_palette = 0x8bfb;
+ m_xor_paltype = 1;
+ lottery_decode(machine(), 0xaa, 0x11, 0x22, 0xee, 0x48480);
}
-DRIVER_INIT( fcockt2l )
+DRIVER_INIT_MEMBER(multfish_state,fcockt2l)
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->m_xor_palette = 0xedfb;
- state->m_xor_paltype = 1;
- lottery_decode(machine, 0x55, 0x11, 0xff, 0xee, 0x78780);
+ m_xor_palette = 0xedfb;
+ m_xor_paltype = 1;
+ lottery_decode(machine(), 0x55, 0x11, 0xff, 0xee, 0x78780);
}
-DRIVER_INIT( sweetl2l )
+DRIVER_INIT_MEMBER(multfish_state,sweetl2l)
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->m_xor_palette = 0x4bf7;
- state->m_xor_paltype = 1;
- lottery_decode(machine, 0xdd, 0x33, 0x33, 0x77, 0x00800);
+ m_xor_palette = 0x4bf7;
+ m_xor_paltype = 1;
+ lottery_decode(machine(), 0xdd, 0x33, 0x33, 0x77, 0x00800);
}
-DRIVER_INIT( gnomel )
+DRIVER_INIT_MEMBER(multfish_state,gnomel)
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->m_xor_palette = 0x49ff;
- state->m_xor_paltype = 1;
- lottery_decode(machine, 0xcc, 0x22, 0x33, 0x66, 0x14940);
+ m_xor_palette = 0x49ff;
+ m_xor_paltype = 1;
+ lottery_decode(machine(), 0xcc, 0x22, 0x33, 0x66, 0x14940);
}
-DRIVER_INIT( crzmonent )
+DRIVER_INIT_MEMBER(multfish_state,crzmonent)
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->m_xor_palette = 0x1cdb;
- state->m_xor_paltype = 2;
+ m_xor_palette = 0x1cdb;
+ m_xor_paltype = 2;
}
-DRIVER_INIT( resdntent )
+DRIVER_INIT_MEMBER(multfish_state,resdntent)
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->m_xor_palette = 0x6edb;
- state->m_xor_paltype = 2;
+ m_xor_palette = 0x6edb;
+ m_xor_paltype = 2;
}
-DRIVER_INIT( gnomeent )
+DRIVER_INIT_MEMBER(multfish_state,gnomeent)
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->m_xor_palette = 0x9edb;
- state->m_xor_paltype = 2;
+ m_xor_palette = 0x9edb;
+ m_xor_paltype = 2;
}
-DRIVER_INIT( lhauntent )
+DRIVER_INIT_MEMBER(multfish_state,lhauntent)
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->m_xor_palette = 0x1adb;
- state->m_xor_paltype = 2;
- ent_decode(machine, 0x22, 0x44, 0x44, 0xbb, 0x24240);
+ m_xor_palette = 0x1adb;
+ m_xor_paltype = 2;
+ ent_decode(machine(), 0x22, 0x44, 0x44, 0xbb, 0x24240);
}
static ADDRESS_MAP_START( multfish_map, AS_PROGRAM, 8, multfish_state )
@@ -2704,141 +2705,141 @@ Most games had a revision in early 2007 to meet the standards of the "Government
#define mfish_parent mfish_13
- GAME( 2002, goldfish, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Gold Fish (020903, prototype)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (021120)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_2, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (021121)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_3, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (021124)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_4, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (021219)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_5, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (021227)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_6, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (030124)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_7, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (030511)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_8, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (030522)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_9, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (031026)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_10, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (031117)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_11, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (031124)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_12, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (040308)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_13, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Multi Fish (040316)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2002, goldfish, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Gold Fish (020903, prototype)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2002, mfish, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (021120)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2002, mfish_2, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (021121)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2002, mfish_3, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (021124)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2002, mfish_4, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (021219)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2002, mfish_5, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (021227)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2002, mfish_6, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (030124)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2002, mfish_7, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (030511)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2002, mfish_8, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (030522)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2002, mfish_9, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (031026)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2002, mfish_10, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (031117)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2002, mfish_11, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (031124)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2002, mfish_12, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (040308)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2002, mfish_13, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Multi Fish (040316)", GAME_SUPPORTS_SAVE ) /* World */
#define crzmon_parent crzmon_8
-//GAME( 2003, crzmon, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (030217 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, crzmon_2, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (030225 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, crzmon_3, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (030227 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, crzmon_4, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (030404 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, crzmon_5, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (030421 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, crzmon_6, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (031016 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, crzmon_7, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (031110 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, crzmon_8, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (050120 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, crzmon_9, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (070315 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
-//GAME( 2003, crzmon_10, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (081027 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
-//GAME( 2003, crzmon_11, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Crazy Monkey (081113 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
+//GAME( 2003, crzmon, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (030217 World)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2003, crzmon_2, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (030225 World)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2003, crzmon_3, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (030227 World)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2003, crzmon_4, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (030404 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, crzmon_5, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (030421 World)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2003, crzmon_6, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (031016 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, crzmon_7, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (031110 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, crzmon_8, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (050120 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, crzmon_9, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (070315 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+//GAME( 2003, crzmon_10, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (081027 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
+//GAME( 2003, crzmon_11, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Crazy Monkey (081113 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
#define fcockt_parent fcockt_8
//GAME( 2003, fcockt, fcockt_parent multfish, multfish, 0, multfish_state, ROT0, "Igrosoft", "Fruit Cocktail (030505 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, fcockt_2, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (030512 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_3, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (030623 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, fcockt_4, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (031028 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_5, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (031111 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_6, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (040216 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_7, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (050118 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_8, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (060111 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_9, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (070305 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2003, fcockt_10, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (070517 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2003, fcockt_11, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (070822 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2003, fcockt_12, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (070911 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
-//GAME( 2003, fcockt_13, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail (081124 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
+//GAME( 2003, fcockt_2, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (030512 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, fcockt_3, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (030623 World)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2003, fcockt_4, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (031028 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, fcockt_5, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (031111 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, fcockt_6, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (040216 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, fcockt_7, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (050118 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, fcockt_8, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (060111 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, fcockt_9, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (070305 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2003, fcockt_10, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (070517 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2003, fcockt_11, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (070822 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2003, fcockt_12, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (070911 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+//GAME( 2003, fcockt_13, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail (081124 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
#define lhaunt_parent lhaunt_6
-//GAME( 2003, lhaunt, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Lucky Haunter (030707 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, lhaunt_2, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Lucky Haunter (030804 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, lhaunt_3, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Lucky Haunter (031027 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, lhaunt_4, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Lucky Haunter (031111 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, lhaunt_5, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Lucky Haunter (040216 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, lhaunt_6, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Lucky Haunter (040825 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, lhaunt_7, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Lucky Haunter (070402 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2003, lhaunt_8, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Lucky Haunter (070604 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
-//GAME( 2003, lhaunt_9, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Lucky Haunter (081208 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
+//GAME( 2003, lhaunt, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Lucky Haunter (030707 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, lhaunt_2, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Lucky Haunter (030804 World)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2003, lhaunt_3, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Lucky Haunter (031027 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, lhaunt_4, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Lucky Haunter (031111 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, lhaunt_5, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Lucky Haunter (040216 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, lhaunt_6, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Lucky Haunter (040825 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, lhaunt_7, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Lucky Haunter (070402 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2003, lhaunt_8, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Lucky Haunter (070604 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+//GAME( 2003, lhaunt_9, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Lucky Haunter (081208 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
#define rollfr_parent rollfr_4
-//GAME( 2003, rollfr, rollfr_parent, rollfr, rollfr, multfish_state, 0, ROT0, "Igrosoft", "Roll Fruit (030821)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, rollfr_2, rollfr_parent, rollfr, rollfr, multfish_state, 0, ROT0, "Igrosoft", "Roll Fruit (040318)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, rollfr_3, rollfr_parent, rollfr, rollfr, multfish_state, 0, ROT0, "Igrosoft", "Roll Fruit (080327)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, rollfr_4, 0, rollfr, rollfr, multfish_state, 0, ROT0, "Igrosoft", "Roll Fruit (080331)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2003, rollfr, rollfr_parent, rollfr, rollfr, driver_device, 0, ROT0, "Igrosoft", "Roll Fruit (030821)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, rollfr_2, rollfr_parent, rollfr, rollfr, driver_device, 0, ROT0, "Igrosoft", "Roll Fruit (040318)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, rollfr_3, rollfr_parent, rollfr, rollfr, driver_device, 0, ROT0, "Igrosoft", "Roll Fruit (080327)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2003, rollfr_4, 0, rollfr, rollfr, driver_device, 0, ROT0, "Igrosoft", "Roll Fruit (080331)", GAME_SUPPORTS_SAVE ) /* World */
#define garage_parent garage_5
-//GAME( 2004, garage, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Garage (040122 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2004, garage_2, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Garage (040123 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2004, garage_3, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Garage (040216 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, garage_4, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Garage (040219 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, garage_5, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Garage (050311 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, garage_6, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Garage (070213 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2004, garage_7, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Garage (070329 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
-//GAME( 2004, garage_8, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Garage (081229 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
+//GAME( 2004, garage, garage_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Garage (040122 World)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2004, garage_2, garage_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Garage (040123 World)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2004, garage_3, garage_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Garage (040216 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2004, garage_4, garage_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Garage (040219 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2004, garage_5, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Garage (050311 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2004, garage_6, garage_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Garage (070213 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2004, garage_7, garage_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Garage (070329 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+//GAME( 2004, garage_8, garage_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Garage (081229 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
#define rclimb_parent rclimb_3
- GAME( 2004, rclimb, rclimb_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Rock Climber (040815 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2004, rclimb_2, rclimb_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Rock Climber (040823 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, rclimb_3, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Rock Climber (040827 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, rclimb_4, rclimb_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Rock Climber (070322 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2004, rclimb_5, rclimb_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Rock Climber (070621 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2004, rclimb, rclimb_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Rock Climber (040815 World)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2004, rclimb_2, rclimb_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Rock Climber (040823 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2004, rclimb_3, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Rock Climber (040827 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2004, rclimb_4, rclimb_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Rock Climber (070322 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2004, rclimb_5, rclimb_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Rock Climber (070621 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
#define sweetl_parent sweetl
- GAME( 2004, sweetl, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Sweet Life (041220 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, sweetl_2, sweetl_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Sweet Life (070412 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2004, sweetl, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Sweet Life (041220 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2004, sweetl_2, sweetl_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Sweet Life (070412 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
#define resdnt_parent resdnt_2
- GAME( 2004, resdnt, resdnt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Resident (040415 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, resdnt_2, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Resident (040513 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, resdnt_3, resdnt_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Resident (070222 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2004, resdnt, resdnt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Resident (040415 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2004, resdnt_2, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Resident (040513 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2004, resdnt_3, resdnt_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Resident (070222 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
#define island_parent island
- GAME( 2005, island, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Island (050713 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2005, island_2, island_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Island (070409 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2005, island, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Island (050713 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2005, island_2, island_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Island (070409 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
#define pirate_parent pirate_3
-//GAME( 2005, pirate, pirate_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Pirate (051229 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2005, pirate_2, pirate_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Pirate (060210 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2005, pirate_3, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Pirate (060803 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2005, pirate_4, pirate_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Pirate (070412 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+//GAME( 2005, pirate, pirate_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Pirate (051229 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2005, pirate_2, pirate_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Pirate (060210 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2005, pirate_3, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Pirate (060803 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2005, pirate_4, pirate_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Pirate (070412 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
#define island2_parent island2
- GAME( 2006, island2, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Island 2 (060529 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2006, island2_2, island2_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Island 2 (061214 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2006, island2_3, island2_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Island 2 (061218 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2006, island2_4, island2_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Island 2 (070205 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2006, island2, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Island 2 (060529 World)", GAME_SUPPORTS_SAVE ) /* World */
+//GAME( 2006, island2_2, island2_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Island 2 (061214 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2006, island2_3, island2_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Island 2 (061218 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2006, island2_4, island2_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Island 2 (070205 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
#define pirate2_parent pirate2
- GAME( 2006, pirate2, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Pirate 2 (061005 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2006, pirate2_2, pirate2_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Pirate 2 (070126 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2006, pirate2, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Pirate 2 (061005 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2006, pirate2_2, pirate2_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Pirate 2 (070126 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
#define keks_parent keks_2
- GAME( 2006, keks, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Keks (060328 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2006, keks_2, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Keks (060403 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2006, keks_3, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Keks (070119 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2006, keks, keks_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Keks (060328 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2006, keks_2, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Keks (060403 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2006, keks_3, keks_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Keks (070119 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
#define gnome_parent gnome_3
- GAME( 2007, gnome, gnome_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Gnome (070906 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2007, gnome_2, gnome_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Gnome (071115 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2007, gnome_3, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Gnome (080303 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2007, gnome, gnome_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Gnome (070906 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2007, gnome_2, gnome_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Gnome (071115 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2007, gnome_3, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Gnome (080303 World)", GAME_SUPPORTS_SAVE ) /* World */
#define sweetl2_parent sweetl2
- GAME( 2007, sweetl2, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Sweet Life 2 (071217 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2007, sweetl2_2, sweetl2_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Sweet Life 2 (080320 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2007, sweetl2, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Sweet Life 2 (071217 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2007, sweetl2_2, sweetl2_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Sweet Life 2 (080320 World)", GAME_SUPPORTS_SAVE ) /* World */
#define fcockt2_parent fcockt2
- GAME( 2008, fcockt2, 0, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (080707 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
-//GAME( 2008, fcockt2_2, fcockt2_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (080904 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2008, fcockt2_3, fcockt2_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (080909 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2008, fcockt2_4, fcockt2_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (081105 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2008, fcockt2_5, fcockt2_parent, multfish, multfish, multfish_state, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (081106 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2008, fcockt2, 0, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (080707 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+//GAME( 2008, fcockt2_2, fcockt2_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (080904 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ GAME( 2008, fcockt2_3, fcockt2_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (080909 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2008, fcockt2_4, fcockt2_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (081105 World)", GAME_SUPPORTS_SAVE ) /* World */
+ GAME( 2008, fcockt2_5, fcockt2_parent, multfish, multfish, driver_device, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (081106 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
@@ -4475,125 +4476,125 @@ ROM_START( fcockt2_4f ) // 081105 custom alteras, modified graphics, bank F9, ma
ROM_END
-GAME( 2002, mfish_3a, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Multi Fish (bootleg, 021124, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2002, mfish_12a, mfish_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Multi Fish (bootleg, 040308, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2002, mfish_3a, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Multi Fish (bootleg, 021124, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2002, mfish_12a, mfish_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Multi Fish (bootleg, 040308, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2003, crzmon_7a, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 031110, backdoor set 1)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
-GAME( 2003, crzmon_7b, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 031110, backdoor set 2)", GAME_SUPPORTS_SAVE ) // backdoor 1,5 5,5 1,7 3,2 3,3 3,4
-GAME( 2003, crzmon_8a, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 050120, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
-GAME( 2003, crzmon_8b, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 050120, changed version text)", GAME_SUPPORTS_SAVE ) // changed version text to 070315
+GAME( 2003, crzmon_7a, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 031110, backdoor set 1)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
+GAME( 2003, crzmon_7b, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 031110, backdoor set 2)", GAME_SUPPORTS_SAVE ) // backdoor 1,5 5,5 1,7 3,2 3,3 3,4
+GAME( 2003, crzmon_8a, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 050120, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
+GAME( 2003, crzmon_8b, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 050120, changed version text)", GAME_SUPPORTS_SAVE ) // changed version text to 070315
GAME( 2003, crzmon_8c, crzmon_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Crazy Monkey (bootleg, 050120, VIDEO GAME-1 CM01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, changed version text to "VIDEO GAME-1 CM01"
-GAME( 2003, crzmon_8d, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 050120, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
-GAME( 2003, crzmon_8e, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 050120, LOTO PROGRAM V-CM2)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-CM2"
+GAME( 2003, crzmon_8d, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 050120, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+GAME( 2003, crzmon_8e, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 050120, LOTO PROGRAM V-CM2)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-CM2"
GAME( 2003, crzmon_8f, crzmon_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Crazy Monkey (bootleg, 050120, LOTOS CM01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS CM01"
GAME( 2003, crzmon_9a, crzmon_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Crazy Monkey (bootleg, 070315, VIDEO GAME-1 O01 set 1)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, changed version text to "VIDEO GAME-1 O01"
-GAME( 2003, crzmon_9b, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 070315, VIDEO GAME-1 O01 set 2)", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "VIDEO GAME-1 O01" (crzmon_9a, decoded gfx)
-GAME( 2003, crzmon_9c, crzmon_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 070315, payout percentage 70)", GAME_SUPPORTS_SAVE ) // payout percentage 70%
-
-GAME( 2003, fcockt_6a, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 040216, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F8
-GAME( 2003, fcockt_6b, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 040216, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
-GAME( 2003, fcockt_6c, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 040216, LotoRossy+)", GAME_SUPPORTS_SAVE ) // modified graphics, some code changes, description says "for Lat-02 terminals", older set
-GAME( 2003, fcockt_6d, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 040216, VIDEO GAME-1 FR01)", GAME_SUPPORTS_SAVE ) // modified graphics, some code changes, changed version text to "VIDEO GAME-1 FR01", description says "for Lat-02 terminals", newer set
-GAME( 2003, fcockt_7a, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
+GAME( 2003, crzmon_9b, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 070315, VIDEO GAME-1 O01 set 2)", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "VIDEO GAME-1 O01" (crzmon_9a, decoded gfx)
+GAME( 2003, crzmon_9c, crzmon_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 070315, payout percentage 70)", GAME_SUPPORTS_SAVE ) // payout percentage 70%
+
+GAME( 2003, fcockt_6a, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 040216, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F8
+GAME( 2003, fcockt_6b, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 040216, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
+GAME( 2003, fcockt_6c, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 040216, LotoRossy+)", GAME_SUPPORTS_SAVE ) // modified graphics, some code changes, description says "for Lat-02 terminals", older set
+GAME( 2003, fcockt_6d, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 040216, VIDEO GAME-1 FR01)", GAME_SUPPORTS_SAVE ) // modified graphics, some code changes, changed version text to "VIDEO GAME-1 FR01", description says "for Lat-02 terminals", newer set
+GAME( 2003, fcockt_7a, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
GAME( 2003, fcockt_7b, fcockt_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, VIDEO GAME-1 FR01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 FR01"
-GAME( 2003, fcockt_7c, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 40)", GAME_SUPPORTS_SAVE ) // payout percentage 40%
-GAME( 2003, fcockt_7d, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 60)", GAME_SUPPORTS_SAVE ) // payout percentage 60%
-GAME( 2003, fcockt_7e, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 70)", GAME_SUPPORTS_SAVE ) // payout percentage 70%
-GAME( 2003, fcockt_7f, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, changed version text)", GAME_SUPPORTS_SAVE ) // changed version text to 070305
-GAME( 2003, fcockt_7g, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, LOTO PROGRAM V-FC2)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-FC2"
-GAME( 2003, fcockt_7h, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, LOTOS FR01)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTOS FR01"
-GAME( 2003, fcockt_8a, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 060111, LOTO COCKTAIL V01-0001)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO COCKTAIL V01-0001"
-GAME( 2003, fcockt_8b, fcockt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 060111, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
-
-GAME( 2003, lhaunt_4a, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 031111, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
-GAME( 2003, lhaunt_5a, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 040216, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
-GAME( 2003, lhaunt_6a, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 040825, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,5 9,1 5,1 1,5 3,3 3,4
+GAME( 2003, fcockt_7c, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 40)", GAME_SUPPORTS_SAVE ) // payout percentage 40%
+GAME( 2003, fcockt_7d, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 60)", GAME_SUPPORTS_SAVE ) // payout percentage 60%
+GAME( 2003, fcockt_7e, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 70)", GAME_SUPPORTS_SAVE ) // payout percentage 70%
+GAME( 2003, fcockt_7f, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, changed version text)", GAME_SUPPORTS_SAVE ) // changed version text to 070305
+GAME( 2003, fcockt_7g, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, LOTO PROGRAM V-FC2)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-FC2"
+GAME( 2003, fcockt_7h, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, LOTOS FR01)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTOS FR01"
+GAME( 2003, fcockt_8a, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 060111, LOTO COCKTAIL V01-0001)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO COCKTAIL V01-0001"
+GAME( 2003, fcockt_8b, fcockt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 060111, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+
+GAME( 2003, lhaunt_4a, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 031111, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
+GAME( 2003, lhaunt_5a, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 040216, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
+GAME( 2003, lhaunt_6a, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 040825, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,5 9,1 5,1 1,5 3,3 3,4
GAME( 2003, lhaunt_6b, lhaunt_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Lucky Haunter (bootleg, 040825, VIDEO GAME-1 PB01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 PB01"
-GAME( 2003, lhaunt_6c, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 040825, changed version text)", GAME_SUPPORTS_SAVE ) // changed version text to 070604
-GAME( 2003, lhaunt_6d, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 040825, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
-GAME( 2003, lhaunt_6e, lhaunt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 040825, LOTO PROGRAM V-LH2)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-LH2"
+GAME( 2003, lhaunt_6c, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 040825, changed version text)", GAME_SUPPORTS_SAVE ) // changed version text to 070604
+GAME( 2003, lhaunt_6d, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 040825, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+GAME( 2003, lhaunt_6e, lhaunt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Lucky Haunter (bootleg, 040825, LOTO PROGRAM V-LH2)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-LH2"
GAME( 2003, lhaunt_6f, lhaunt_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Lucky Haunter (bootleg, 040825, LOTOS PB01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS PB01"
-GAME( 2004, garage_4a, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Garage (bootleg, 040219, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
-GAME( 2004, garage_4b, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Garage (bootleg, 040219, changed version text)", GAME_SUPPORTS_SAVE ) // changed version text to 070329
-GAME( 2004, garage_4c, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Garage (bootleg, 040219, LOTO PROGRAM V-GG2)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-GG2"
-GAME( 2004, garage_5a, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Garage (bootleg, 050311, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
+GAME( 2004, garage_4a, garage_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Garage (bootleg, 040219, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
+GAME( 2004, garage_4b, garage_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Garage (bootleg, 040219, changed version text)", GAME_SUPPORTS_SAVE ) // changed version text to 070329
+GAME( 2004, garage_4c, garage_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Garage (bootleg, 040219, LOTO PROGRAM V-GG2)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-GG2"
+GAME( 2004, garage_5a, garage_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Garage (bootleg, 050311, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
GAME( 2004, garage_5b, garage_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Garage (bootleg, 050311, VIDEO GAME-1 GA01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, changed version text to "VIDEO GAME-1 GA01"
-GAME( 2004, garage_5c, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Garage (bootleg, 050311, payout percentage 70)", GAME_SUPPORTS_SAVE ) // payout percentage 70%
-GAME( 2004, garage_5d, garage_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Garage (bootleg, 050311, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+GAME( 2004, garage_5c, garage_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Garage (bootleg, 050311, payout percentage 70)", GAME_SUPPORTS_SAVE ) // payout percentage 70%
+GAME( 2004, garage_5d, garage_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Garage (bootleg, 050311, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
GAME( 2004, garage_5e, garage_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Garage (bootleg, 050311, LOTOS GA01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS GA01"
-GAME( 2004, rclimb_3a, rclimb_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Rock Climber (bootleg, 040827, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,5 9,1 5,1 1,5 3,3 3,4
-GAME( 2004, rclimb_3b, rclimb_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Rock Climber (bootleg, 040827, new service menu)", GAME_SUPPORTS_SAVE ) // new service menu
+GAME( 2004, rclimb_3a, rclimb_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Rock Climber (bootleg, 040827, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,5 9,1 5,1 1,5 3,3 3,4
+GAME( 2004, rclimb_3b, rclimb_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Rock Climber (bootleg, 040827, new service menu)", GAME_SUPPORTS_SAVE ) // new service menu
GAME( 2004, rclimb_3c, rclimb_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Rock Climber (bootleg, 040827, VIDEO GAME-1 SK01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 SK01"
-GAME( 2004, rclimb_3d, rclimb_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Rock Climber (bootleg, 040827, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+GAME( 2004, rclimb_3d, rclimb_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Rock Climber (bootleg, 040827, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
GAME( 2004, rclimb_3e, rclimb_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Rock Climber (bootleg, 040827, LOTOS SK01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS SK01"
-GAME( 2004, sweetla, sweetl_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Sweet Life (bootleg, 041220, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,5 9,1 5,3 1,5 3,3 3,4
-GAME( 2004, sweetlb, sweetl_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Sweet Life (bootleg, 041220, banking address hack, changed version text)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070412
+GAME( 2004, sweetla, sweetl_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Sweet Life (bootleg, 041220, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,5 9,1 5,3 1,5 3,3 3,4
+GAME( 2004, sweetlb, sweetl_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Sweet Life (bootleg, 041220, banking address hack, changed version text)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070412
-GAME( 2004, resdnt_2a, resdnt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Resident (bootleg, 040513, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,5 9,1 5,1 1,5 3,3 3,4
+GAME( 2004, resdnt_2a, resdnt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Resident (bootleg, 040513, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,5 9,1 5,1 1,5 3,3 3,4
GAME( 2004, resdnt_2b, resdnt_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Resident (bootleg, 040513, VIDEO GAME-1 SE01 set 1)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, changed version text to "VIDEO GAME-1 SE01"
GAME( 2004, resdnt_2c, resdnt_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Resident (bootleg, 040513, VIDEO GAME-1 SE01 set 2)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, changed version text to "VIDEO GAME-1 SE01"
GAME( 2004, resdnt_2d, resdnt_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Resident (bootleg, 040513, VIDEO GAME-1 SE01 set 3)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 SE01"
-GAME( 2004, resdnt_2e, resdnt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Resident (bootleg, 040513, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
-GAME( 2004, resdnt_2f, resdnt_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Resident (bootleg, 040513, LOTO PROGRAM V-RS2)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-RS2"
+GAME( 2004, resdnt_2e, resdnt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Resident (bootleg, 040513, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+GAME( 2004, resdnt_2f, resdnt_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Resident (bootleg, 040513, LOTO PROGRAM V-RS2)", GAME_SUPPORTS_SAVE ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-RS2"
GAME( 2004, resdnt_2g, resdnt_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Resident (bootleg, 040513, LOTOS SE01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS SE01"
-GAME( 2005, islanda, island_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Island (bootleg, 050713, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
+GAME( 2005, islanda, island_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Island (bootleg, 050713, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
GAME( 2005, islandb, island_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Island (bootleg, 050713, VIDEO GAME-1 OS01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 OS01"
GAME( 2005, islandc, island_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Island (bootleg, 050713, LOTOS OS01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS OS01"
-GAME( 2006, island2a, island2_parent, island2a, multfish, multfish_state, 0, ROT0, "bootleg", "Island 2 (bootleg, 060529, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9 (not standart, game not work)
-GAME( 2006, island2b, island2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Island 2 (bootleg, 060529, banking address hack, changed version text)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070205, skip some start tests
-GAME( 2006, island2c, island2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Island 2 (bootleg, 060529, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
-GAME( 2006, island2_3a, island2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Island 2 (bootleg, 061218, VIDEO GAME-1 OS2-01)", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "VIDEO GAME-1 OS2-01"
-GAME( 2006, island2_4a, island2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Island 2 (bootleg, 070205, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-
-GAME( 2006, pirate2a, pirate2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2006, pirate2b, pirate2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack set 2)", GAME_SUPPORTS_SAVE ) // bank F9, skip raster beam position check
-GAME( 2006, pirate2c, pirate2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack, changed version text set 1)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070126
-GAME( 2006, pirate2d, pirate2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack, changed version text set 2)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070126
-GAME( 2006, pirate2e, pirate2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack, changed version text set 3)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070126, skip some start tests
+GAME( 2006, island2a, island2_parent, island2a, multfish, driver_device, 0, ROT0, "bootleg", "Island 2 (bootleg, 060529, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9 (not standart, game not work)
+GAME( 2006, island2b, island2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Island 2 (bootleg, 060529, banking address hack, changed version text)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070205, skip some start tests
+GAME( 2006, island2c, island2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Island 2 (bootleg, 060529, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+GAME( 2006, island2_3a, island2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Island 2 (bootleg, 061218, VIDEO GAME-1 OS2-01)", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "VIDEO GAME-1 OS2-01"
+GAME( 2006, island2_4a, island2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Island 2 (bootleg, 070205, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
+
+GAME( 2006, pirate2a, pirate2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2006, pirate2b, pirate2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack set 2)", GAME_SUPPORTS_SAVE ) // bank F9, skip raster beam position check
+GAME( 2006, pirate2c, pirate2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack, changed version text set 1)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070126
+GAME( 2006, pirate2d, pirate2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack, changed version text set 2)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070126
+GAME( 2006, pirate2e, pirate2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack, changed version text set 3)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070126, skip some start tests
GAME( 2006, pirate2f, pirate2_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, VIDEO GAME-1 PR01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 PR01"
-GAME( 2006, pirate2g, pirate2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+GAME( 2006, pirate2g, pirate2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
GAME( 2006, pirate2h, pirate2_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, LOTOS PR01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS PR01"
-GAME( 2006, pirate2_2a, pirate2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 070126, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2006, pirate2_2a, pirate2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 070126, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2006, keksa, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Keks (bootleg, 060328, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2006, keksb, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Keks (bootleg, 060328, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
-GAME( 2006, keksc, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Keks (bootleg, 060328, banking address hack, changed version text)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070119
-GAME( 2006, keks_2a, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Keks (bootleg, 060403, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2006, keks_2b, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Keks (bootleg, 060403, banking address hack, changed version text)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070119
+GAME( 2006, keksa, keks_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Keks (bootleg, 060328, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2006, keksb, keks_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Keks (bootleg, 060328, backdoor)", GAME_SUPPORTS_SAVE ) // backdoor 1,1 1,3 1,5 1,7 3,3 3,4
+GAME( 2006, keksc, keks_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Keks (bootleg, 060328, banking address hack, changed version text)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070119
+GAME( 2006, keks_2a, keks_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Keks (bootleg, 060403, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2006, keks_2b, keks_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Keks (bootleg, 060403, banking address hack, changed version text)", GAME_SUPPORTS_SAVE ) // bank F9, changed version text to 070119
GAME( 2006, keks_2c, keks_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Keks (bootleg, 060403, VIDEO GAME-1 KS01 set 1)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, bank F9, changed version text to "VIDEO GAME-1 KS01"
-GAME( 2006, keks_2d, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Keks (bootleg, 060403, VIDEO GAME-1 KS01 set 2)", GAME_SUPPORTS_SAVE ) // modified graphics, bank F9, changed version text to "VIDEO GAME-1 KS01" (keks_2c, decoded gfx)
-GAME( 2006, keks_2e, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Keks (bootleg, 060403, banking address hack, payout percentage 60)", GAME_SUPPORTS_SAVE ) // bank F9, payout percentage 60%
-GAME( 2006, keks_2f, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Keks (bootleg, 060403, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+GAME( 2006, keks_2d, keks_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Keks (bootleg, 060403, VIDEO GAME-1 KS01 set 2)", GAME_SUPPORTS_SAVE ) // modified graphics, bank F9, changed version text to "VIDEO GAME-1 KS01" (keks_2c, decoded gfx)
+GAME( 2006, keks_2e, keks_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Keks (bootleg, 060403, banking address hack, payout percentage 60)", GAME_SUPPORTS_SAVE ) // bank F9, payout percentage 60%
+GAME( 2006, keks_2f, keks_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Keks (bootleg, 060403, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
GAME( 2006, keks_2g, keks_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Keks (bootleg, 060403, LOTOS KS01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, bank F9, many texts changed, changed version text to "LOTOS KS01"
-GAME( 2006, keks_3a, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Keks (bootleg, 070119, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2006, keks_3b, keks_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Keks (bootleg, 070119, banking address hack set 2)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2006, keks_3a, keks_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Keks (bootleg, 070119, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2006, keks_3b, keks_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Keks (bootleg, 070119, banking address hack set 2)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, gnomea, gnome_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Gnome (bootleg, 070906, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, gnomeb, gnome_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Gnome (bootleg, 070906, banking address hack set 2)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, gnomec, gnome_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Gnome (bootleg, 070906, banking address hack set 3)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2007, gnomea, gnome_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Gnome (bootleg, 070906, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2007, gnomeb, gnome_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Gnome (bootleg, 070906, banking address hack set 2)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2007, gnomec, gnome_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Gnome (bootleg, 070906, banking address hack set 3)", GAME_SUPPORTS_SAVE ) // bank F9
GAME( 2007, gnomed, gnome_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Gnome (bootleg, 070906, VIDEO GAME-1 GN01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 GN01"
GAME( 2007, gnomee, gnome_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Gnome (bootleg, 070906, LOTOS GN01)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, bank F9, many texts changed, changed version text to "LOTOS GN01"
-GAME( 2007, gnome_2a, gnome_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Gnome (bootleg, 071115, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, gnome_3a, gnome_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Gnome (bootleg, 080303, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, gnome_3b, gnome_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Gnome (bootleg, 080303, banking address hack, payout percentage 45)", GAME_SUPPORTS_SAVE ) // bank F9 payout percentage 45%
-GAME( 2007, gnome_3c, gnome_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Gnome (bootleg, 080303, banking address hack, payout percentage 60)", GAME_SUPPORTS_SAVE ) // bank F9 payout percentage 60%
-
-GAME( 2007, sweetl2_2a, sweetl2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Sweet Life 2 (bootleg, 080320, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, sweetl2_2b, sweetl2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Sweet Life 2 (bootleg, 080320, banking address hack set 2)", GAME_SUPPORTS_SAVE ) // bank F9, some fixes
-GAME( 2007, sweetl2_2c, sweetl2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Sweet Life 2 (bootleg, 080320, VIDEO GAME-1 MD01)", GAME_SUPPORTS_SAVE ) // modified graphics, bank F9, changed version text to "VIDEO GAME-1 MD01"
-GAME( 2007, sweetl2_2d, sweetl2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Sweet Life 2 (bootleg, 080320, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
-
-GAME( 2008, fcockt2a, fcockt2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 080707, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2008, fcockt2_4a, fcockt2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2008, fcockt2_4b, fcockt2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, banking address hack, no credit limit)", GAME_SUPPORTS_SAVE ) // bank F9, no credit limit, "MaxVin" signature
+GAME( 2007, gnome_2a, gnome_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Gnome (bootleg, 071115, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2007, gnome_3a, gnome_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Gnome (bootleg, 080303, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2007, gnome_3b, gnome_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Gnome (bootleg, 080303, banking address hack, payout percentage 45)", GAME_SUPPORTS_SAVE ) // bank F9 payout percentage 45%
+GAME( 2007, gnome_3c, gnome_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Gnome (bootleg, 080303, banking address hack, payout percentage 60)", GAME_SUPPORTS_SAVE ) // bank F9 payout percentage 60%
+
+GAME( 2007, sweetl2_2a, sweetl2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Sweet Life 2 (bootleg, 080320, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2007, sweetl2_2b, sweetl2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Sweet Life 2 (bootleg, 080320, banking address hack set 2)", GAME_SUPPORTS_SAVE ) // bank F9, some fixes
+GAME( 2007, sweetl2_2c, sweetl2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Sweet Life 2 (bootleg, 080320, VIDEO GAME-1 MD01)", GAME_SUPPORTS_SAVE ) // modified graphics, bank F9, changed version text to "VIDEO GAME-1 MD01"
+GAME( 2007, sweetl2_2d, sweetl2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Sweet Life 2 (bootleg, 080320, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+
+GAME( 2008, fcockt2a, fcockt2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 080707, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2008, fcockt2_4a, fcockt2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
+GAME( 2008, fcockt2_4b, fcockt2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, banking address hack, no credit limit)", GAME_SUPPORTS_SAVE ) // bank F9, no credit limit, "MaxVin" signature
GAME( 2008, fcockt2_4c, fcockt2_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, VIDEO GAME-1 FR02)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, bank F9, many texts changed, changed version text to "VIDEO GAME-1 FR02"
-GAME( 2008, fcockt2_4d, fcockt2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, banking address hack, payout percentage 70)", GAME_SUPPORTS_SAVE ) // bank F9, no credit limit, "MaxVin" signature, payout percentage 70%
-GAME( 2008, fcockt2_4e, fcockt2_parent, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
+GAME( 2008, fcockt2_4d, fcockt2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, banking address hack, payout percentage 70)", GAME_SUPPORTS_SAVE ) // bank F9, no credit limit, "MaxVin" signature, payout percentage 70%
+GAME( 2008, fcockt2_4e, fcockt2_parent, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, LOTTOGAME (I))", GAME_SUPPORTS_SAVE ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
GAME( 2008, fcockt2_4f, fcockt2_parent, multfish, multfish, multfish_state, customl, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, LOTOS FR02)", GAME_SUPPORTS_SAVE ) // custom alteras, modified graphics, bank F9, many texts changed, changed version text to "LOTOS FR02"
@@ -4648,6 +4649,6 @@ ROM_START( igromula )
ROM_LOAD( "15games.gfx", 0x000000, 0x4000000, NO_DUMP )
ROM_END
-GAME( 2003, igromult, 0, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Igrosoft Multigame Bootleg (10 Games)", GAME_NOT_WORKING ) // no GFX roms
-GAME( 2003, igromula, igromult, multfish, multfish, multfish_state, 0, ROT0, "bootleg", "Igrosoft Multigame Bootleg (15 Games)", GAME_NOT_WORKING ) // no GFX roms
+GAME( 2003, igromult, 0, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Igrosoft Multigame Bootleg (10 Games)", GAME_NOT_WORKING ) // no GFX roms
+GAME( 2003, igromula, igromult, multfish, multfish, driver_device, 0, ROT0, "bootleg", "Igrosoft Multigame Bootleg (15 Games)", GAME_NOT_WORKING ) // no GFX roms
diff --git a/src/mame/drivers/multigam.c b/src/mame/drivers/multigam.c
index 8d30fc63ecf..e9699ec8f59 100644
--- a/src/mame/drivers/multigam.c
+++ b/src/mame/drivers/multigam.c
@@ -134,6 +134,9 @@ public:
DECLARE_READ8_MEMBER(psg_4015_r);
DECLARE_WRITE8_MEMBER(psg_4015_w);
DECLARE_WRITE8_MEMBER(psg_4017_w);
+ DECLARE_DRIVER_INIT(multigmt);
+ DECLARE_DRIVER_INIT(multigam);
+ DECLARE_DRIVER_INIT(multigm3);
};
@@ -1356,11 +1359,10 @@ ROM_START( supergm3 )
ROM_LOAD( "sg3.rom17", 0x180000, 0x80000, CRC(7be7fbb8) SHA1(03cda9c098eaf21326b001d5c227ad85502b6378) )
ROM_END
-static DRIVER_INIT( multigam )
+DRIVER_INIT_MEMBER(multigam_state,multigam)
{
- multigam_state *state = machine.driver_data<multigam_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- state->multigam_switch_prg_rom(*space, 0x0, 0x01);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ multigam_switch_prg_rom(*space, 0x0, 0x01);
}
static void multigm3_decrypt(UINT8* mem, int memsize, const UINT8* decode_nibble)
@@ -1372,32 +1374,31 @@ static void multigm3_decrypt(UINT8* mem, int memsize, const UINT8* decode_nibble
}
};
-static DRIVER_INIT(multigm3)
+DRIVER_INIT_MEMBER(multigam_state,multigm3)
{
- multigam_state *state = machine.driver_data<multigam_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
const UINT8 decode[16] = { 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a };
- multigm3_decrypt(machine.root_device().memregion("maincpu")->base(), machine.root_device().memregion("maincpu")->bytes(), decode );
- multigm3_decrypt(machine.root_device().memregion("user1")->base(), machine.root_device().memregion("user1")->bytes(), decode );
+ multigm3_decrypt(machine().root_device().memregion("maincpu")->base(), machine().root_device().memregion("maincpu")->bytes(), decode );
+ multigm3_decrypt(machine().root_device().memregion("user1")->base(), machine().root_device().memregion("user1")->bytes(), decode );
- state->m_multigmc_mmc3_6000_ram = auto_alloc_array(machine, UINT8, 0x2000);
+ m_multigmc_mmc3_6000_ram = auto_alloc_array(machine(), UINT8, 0x2000);
- state->multigam_switch_prg_rom(*space, 0x0, 0x01);
+ multigam_switch_prg_rom(*space, 0x0, 0x01);
}
-static DRIVER_INIT(multigmt)
+DRIVER_INIT_MEMBER(multigam_state,multigmt)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- UINT8* buf = auto_alloc_array(machine, UINT8, 0x80000);
+ UINT8* buf = auto_alloc_array(machine(), UINT8, 0x80000);
UINT8 *rom;
int size;
int i;
int addr;
- rom = machine.root_device().memregion("maincpu")->base();
+ rom = machine().root_device().memregion("maincpu")->base();
size = 0x8000;
memcpy(buf, rom, size);
for (i = 0; i < size; i++)
@@ -1407,7 +1408,7 @@ static DRIVER_INIT(multigmt)
rom[i] = buf[addr];
}
- rom = machine.root_device().memregion("user1")->base();
+ rom = machine().root_device().memregion("user1")->base();
size = 0x80000;
memcpy(buf, rom, size);
for (i = 0; i < size; i++)
@@ -1415,7 +1416,7 @@ static DRIVER_INIT(multigmt)
addr = BITSWAP24(i,23,22,21,20,19,18,17,16,15,14,13,8,11,12,10,9,7,6,5,4,3,2,1,0);
rom[i] = buf[addr];
}
- rom = machine.root_device().memregion("gfx1")->base();
+ rom = machine().root_device().memregion("gfx1")->base();
size = 0x80000;
memcpy(buf, rom, size);
for (i = 0; i < size; i++)
@@ -1424,9 +1425,8 @@ static DRIVER_INIT(multigmt)
rom[i] = BITSWAP8(buf[addr], 4, 7, 3, 2, 5, 1, 6, 0);
}
- auto_free(machine, buf);
- multigam_state *state = machine.driver_data<multigam_state>();
- state->multigam_switch_prg_rom(*space, 0x0, 0x01);
+ auto_free(machine(), buf);
+ multigam_switch_prg_rom(*space, 0x0, 0x01);
};
GAME( 1992, multigam, 0, multigam, multigam, multigam_state, multigam, ROT0, "<unknown>", "Multi Game (set 1)", 0 )
@@ -1434,4 +1434,4 @@ GAME( 1992, multigmb, multigam, multigam, multigam, multigam_state, multigam, RO
GAME( 1992, multigm2, 0, multigm3, multigm2, multigam_state, multigm3, ROT0, "Seo Jin", "Multi Game 2", 0 )
GAME( 1992, multigm3, 0, multigm3, multigm3, multigam_state, multigm3, ROT0, "Seo Jin", "Multi Game III", 0 )
GAME( 1992, multigmt, 0, multigmt, multigmt, multigam_state, multigmt, ROT0, "Tung Sheng Electronics", "Multi Game (Tung Sheng Electronics)", 0 )
-GAME( 1996, supergm3, 0, supergm3, supergm3, multigam_state, 0, ROT0, "<unknown>", "Super Game III", 0 )
+GAME( 1996, supergm3, 0, supergm3, supergm3, driver_device, 0, ROT0, "<unknown>", "Super Game III", 0 )
diff --git a/src/mame/drivers/munchmo.c b/src/mame/drivers/munchmo.c
index 67b51b439ed..afbdf88e45b 100644
--- a/src/mame/drivers/munchmo.c
+++ b/src/mame/drivers/munchmo.c
@@ -436,5 +436,5 @@ ROM_END
*
*************************************/
-GAME( 1983, joyfulr, 0, mnchmobl, mnchmobl, munchmo_state, 0, ROT270, "SNK", "Joyful Road (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1983, mnchmobl, joyfulr, mnchmobl, mnchmobl, munchmo_state, 0, ROT270, "SNK (Centuri license)", "Munch Mobile (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1983, joyfulr, 0, mnchmobl, mnchmobl, driver_device, 0, ROT270, "SNK", "Joyful Road (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1983, mnchmobl, joyfulr, mnchmobl, mnchmobl, driver_device, 0, ROT270, "SNK (Centuri license)", "Munch Mobile (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/murogem.c b/src/mame/drivers/murogem.c
index b4407cea188..a1725e78c0b 100644
--- a/src/mame/drivers/murogem.c
+++ b/src/mame/drivers/murogem.c
@@ -326,7 +326,7 @@ ROM_START( lasvegas )
ROM_LOAD( "a3.1b", 0x0000, 0x0020, CRC(abddfb6b) SHA1(ed78b93701b5a3bf2053d2584e9a354fb6cec203) ) /* 74s288 at 1B */
ROM_END
-GAME( 198?, murogem, 0, murogem, murogem, murogem_state, 0, ROT0, "<unknown>", "Muroge Monaco (set 1)", GAME_WRONG_COLORS )
-GAME( 198?, murogema, murogem, murogem, murogem, murogem_state, 0, ROT0, "<unknown>", "Muroge Monaco (set 2)", GAME_WRONG_COLORS )
-GAME( 198?, murogemb, murogem, murogem, murogem, murogem_state, 0, ROT0, "<unknown>", "Muroge Monaco (set 3)", GAME_WRONG_COLORS )
-GAME( 198?, lasvegas, murogem, murogem, murogem, murogem_state, 0, ROT0, "hack", "Las Vegas, Nevada", GAME_WRONG_COLORS )
+GAME( 198?, murogem, 0, murogem, murogem, driver_device, 0, ROT0, "<unknown>", "Muroge Monaco (set 1)", GAME_WRONG_COLORS )
+GAME( 198?, murogema, murogem, murogem, murogem, driver_device, 0, ROT0, "<unknown>", "Muroge Monaco (set 2)", GAME_WRONG_COLORS )
+GAME( 198?, murogemb, murogem, murogem, murogem, driver_device, 0, ROT0, "<unknown>", "Muroge Monaco (set 3)", GAME_WRONG_COLORS )
+GAME( 198?, lasvegas, murogem, murogem, murogem, driver_device, 0, ROT0, "hack", "Las Vegas, Nevada", GAME_WRONG_COLORS )
diff --git a/src/mame/drivers/murogmbl.c b/src/mame/drivers/murogmbl.c
index a67ec1ce09b..55b893f1810 100644
--- a/src/mame/drivers/murogmbl.c
+++ b/src/mame/drivers/murogmbl.c
@@ -219,4 +219,4 @@ ROM_START(murogmbl)
ROM_LOAD( "74s288.a8", 0x0000, 0x0020, CRC(fc35201c) SHA1(4549e228c48992e0d10957f029b89a547392e72b) )
ROM_END
-GAME( 1982, murogmbl, murogem, murogmbl, murogmbl, murogmbl_state, 0, ROT0, "bootleg?", "Muroge Monaco (bootleg?)", GAME_NO_SOUND )
+GAME( 1982, murogmbl, murogem, murogmbl, murogmbl, driver_device, 0, ROT0, "bootleg?", "Muroge Monaco (bootleg?)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/mustache.c b/src/mame/drivers/mustache.c
index 8faae0d24a9..a4f7fb662d1 100644
--- a/src/mame/drivers/mustache.c
+++ b/src/mame/drivers/mustache.c
@@ -248,15 +248,15 @@ ROM_START( mustache )
ROM_LOAD( "mustache.b6",0x0300, 0x1000, CRC(5f83fa35) SHA1(cb13e63577762d818e5dcbb52b8a53f66e284e8f) ) /* 63S281N near SEI0070BU */
ROM_END
-static DRIVER_INIT( mustache )
+DRIVER_INIT_MEMBER(mustache_state,mustache)
{
int i;
- int G1 = machine.root_device().memregion("gfx1")->bytes()/3;
- int G2 = machine.root_device().memregion("gfx2")->bytes()/2;
- UINT8 *gfx1 = machine.root_device().memregion("gfx1")->base();
- UINT8 *gfx2 = machine.root_device().memregion("gfx2")->base();
- UINT8 *buf=auto_alloc_array(machine, UINT8, G2*2);
+ int G1 = machine().root_device().memregion("gfx1")->bytes()/3;
+ int G2 = machine().root_device().memregion("gfx2")->bytes()/2;
+ UINT8 *gfx1 = machine().root_device().memregion("gfx1")->base();
+ UINT8 *gfx2 = machine().root_device().memregion("gfx2")->base();
+ UINT8 *buf=auto_alloc_array(machine(), UINT8, G2*2);
/* BG data lines */
for (i=0;i<G1; i++)
@@ -292,8 +292,8 @@ static DRIVER_INIT( mustache )
for (i = 0; i < 2*G2; i++)
gfx2[i] = buf[BITSWAP24(i,23,22,21,20,19,18,17,16,15,12,11,10,9,8,7,6,5,4,13,14,3,2,1,0)];
- auto_free(machine, buf);
- seibu_sound_decrypt(machine,"maincpu",0x8000);
+ auto_free(machine(), buf);
+ seibu_sound_decrypt(machine(),"maincpu",0x8000);
}
diff --git a/src/mame/drivers/mw18w.c b/src/mame/drivers/mw18w.c
index 834dc60363d..69a36bd301e 100644
--- a/src/mame/drivers/mw18w.c
+++ b/src/mame/drivers/mw18w.c
@@ -205,5 +205,5 @@ ROM_START(18w2)
ROM_END
-GAMEL( 1979, 18w, 0, mw18w, mw18w, mw18w_state, 0, ROT0, "Midway", "18 Wheeler (set 1)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_MECHANICAL, layout_18w )
-GAMEL( 1979, 18w2, 18w, mw18w, mw18w, mw18w_state, 0, ROT0, "Midway", "18 Wheeler (set 2)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_MECHANICAL, layout_18w )
+GAMEL( 1979, 18w, 0, mw18w, mw18w, driver_device, 0, ROT0, "Midway", "18 Wheeler (set 1)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_MECHANICAL, layout_18w )
+GAMEL( 1979, 18w2, 18w, mw18w, mw18w, driver_device, 0, ROT0, "Midway", "18 Wheeler (set 2)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_MECHANICAL, layout_18w )
diff --git a/src/mame/drivers/mw8080bw.c b/src/mame/drivers/mw8080bw.c
index 05e0018a160..5fb2d8a7cf5 100644
--- a/src/mame/drivers/mw8080bw.c
+++ b/src/mame/drivers/mw8080bw.c
@@ -3182,34 +3182,34 @@ ROM_END
/* PCB # rom parent machine inp */
-/* 596 */ GAME( 1976, seawolf, 0, seawolf, seawolf, mw8080bw_state, 0, ROT0, "Midway", "Sea Wolf (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 596 */ GAME( 1976, seawolfo, seawolf, seawolf, seawolf, mw8080bw_state, 0, ROT0, "Midway", "Sea Wolf (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 597 */ GAMEL(1975, gunfight, 0, gunfight, gunfight, mw8080bw_state, 0, ROT0, "Midway", "Gun Fight (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_hoffff20 )
-/* 597 */ GAMEL(1975, gunfighto,gunfight, gunfight, gunfight, mw8080bw_state, 0, ROT0, "Midway", "Gun Fight (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_hoffff20 )
+/* 596 */ GAME( 1976, seawolf, 0, seawolf, seawolf, driver_device, 0, ROT0, "Midway", "Sea Wolf (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 596 */ GAME( 1976, seawolfo, seawolf, seawolf, seawolf, driver_device, 0, ROT0, "Midway", "Sea Wolf (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 597 */ GAMEL(1975, gunfight, 0, gunfight, gunfight, driver_device, 0, ROT0, "Midway", "Gun Fight (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_hoffff20 )
+/* 597 */ GAMEL(1975, gunfighto,gunfight, gunfight, gunfight, driver_device, 0, ROT0, "Midway", "Gun Fight (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_hoffff20 )
/* 604 Gun Fight (cocktail, dump does not exist) */
-/* 605 */ GAME( 1976, tornbase, 0, tornbase, tornbase, mw8080bw_state, 0, ROT0, "Midway / Taito", "Tornado Baseball / Ball Park", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 610 */ GAMEL(1976, 280zzzap, 0, zzzap, zzzap, mw8080bw_state, 0, ROT0, "Midway", "Datsun 280 Zzzap", GAME_NO_SOUND | GAME_SUPPORTS_SAVE , layout_280zzzap )
-/* 611 */ GAMEL(1976, maze, 0, maze, maze, mw8080bw_state, 0, ROT0, "Midway", "Amazing Maze", GAME_SUPPORTS_SAVE , layout_ho4f893d )
-/* 612 */ GAME( 1977, boothill, 0, boothill, boothill, mw8080bw_state, 0, ROT0, "Midway", "Boot Hill" , GAME_SUPPORTS_SAVE )
-/* 615 */ GAME( 1977, checkmat, 0, checkmat, checkmat, mw8080bw_state, 0, ROT0, "Midway", "Checkmate", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 618 */ GAME( 1977, desertgu, 0, desertgu, desertgu, mw8080bw_state, 0, ROT0, "Midway", "Desert Gun", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 618 */ GAME( 1977, roadrunm, desertgu, desertgu, desertgu, mw8080bw_state, 0, ROT0, "Midway", "Road Runner (Midway)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 619 */ GAME( 1977, dplay, 0, dplay, dplay, mw8080bw_state, 0, ROT0, "Midway", "Double Play", GAME_SUPPORTS_SAVE )
-/* 622 */ GAMEL(1977, lagunar, 0, zzzap, lagunar, mw8080bw_state, 0, ROT90, "Midway", "Laguna Racer", GAME_NO_SOUND | GAME_SUPPORTS_SAVE , layout_lagunar )
-/* 623 */ GAME( 1977, gmissile, 0, gmissile, gmissile, mw8080bw_state, 0, ROT0, "Taito / Midway", "Missile X / Guided Missile", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 626 */ GAME( 1977, m4, 0, m4, m4, mw8080bw_state, 0, ROT0, "Midway", "M-4", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 630 */ GAMEL(1978, clowns, 0, clowns, clowns, mw8080bw_state, 0, ROT0, "Midway", "Clowns (rev. 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_clowns )
-/* 630 */ GAMEL(1978, clowns1, clowns, clowns, clowns1, mw8080bw_state, 0, ROT0, "Midway", "Clowns (rev. 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_clowns )
-/* 640 */ GAMEL(1978, spacwalk, 0, spacwalk, spacwalk, mw8080bw_state, 0, ROT0, "Midway", "Space Walk", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_spacwalk )
-/* 642 */ GAME( 1978, einning, 0, dplay, einning, mw8080bw_state, 0, ROT0, "Midway", "Extra Inning", GAME_SUPPORTS_SAVE )
-/* 643 */ GAME( 1978, shuffle, 0, shuffle, shuffle, mw8080bw_state, 0, ROT90, "Midway", "Shuffleboard", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 644 */ GAME( 1977, dogpatch, 0, dogpatch, dogpatch, mw8080bw_state, 0, ROT0, "Midway", "Dog Patch", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 645 */ GAME( 1980, spcenctr, 0, spcenctr, spcenctr, mw8080bw_state, 0, ROT0, "Midway", "Space Encounters", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 652 */ GAMEL(1979, phantom2, 0, phantom2, phantom2, mw8080bw_state, 0, ROT0, "Midway", "Phantom II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_hoa0a0ff )
-/* 730 */ GAME( 1978, bowler, 0, bowler, bowler, mw8080bw_state, 0, ROT90, "Midway", "Bowling Alley", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 739 */ GAMEL(1978, invaders, 0, invaders, invaders, mw8080bw_state, 0, ROT270, "Taito / Midway", "Space Invaders / Space Invaders M", GAME_SUPPORTS_SAVE , layout_invaders )
-/* 742 */ GAME( 1978, blueshrk, 0, blueshrk, blueshrk, mw8080bw_state, 0, ROT0, "Midway", "Blue Shark", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 605 */ GAME( 1976, tornbase, 0, tornbase, tornbase, driver_device, 0, ROT0, "Midway / Taito", "Tornado Baseball / Ball Park", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 610 */ GAMEL(1976, 280zzzap, 0, zzzap, zzzap, driver_device, 0, ROT0, "Midway", "Datsun 280 Zzzap", GAME_NO_SOUND | GAME_SUPPORTS_SAVE , layout_280zzzap )
+/* 611 */ GAMEL(1976, maze, 0, maze, maze, driver_device, 0, ROT0, "Midway", "Amazing Maze", GAME_SUPPORTS_SAVE , layout_ho4f893d )
+/* 612 */ GAME( 1977, boothill, 0, boothill, boothill, driver_device, 0, ROT0, "Midway", "Boot Hill" , GAME_SUPPORTS_SAVE )
+/* 615 */ GAME( 1977, checkmat, 0, checkmat, checkmat, driver_device, 0, ROT0, "Midway", "Checkmate", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 618 */ GAME( 1977, desertgu, 0, desertgu, desertgu, driver_device, 0, ROT0, "Midway", "Desert Gun", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 618 */ GAME( 1977, roadrunm, desertgu, desertgu, desertgu, driver_device, 0, ROT0, "Midway", "Road Runner (Midway)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 619 */ GAME( 1977, dplay, 0, dplay, dplay, driver_device, 0, ROT0, "Midway", "Double Play", GAME_SUPPORTS_SAVE )
+/* 622 */ GAMEL(1977, lagunar, 0, zzzap, lagunar, driver_device, 0, ROT90, "Midway", "Laguna Racer", GAME_NO_SOUND | GAME_SUPPORTS_SAVE , layout_lagunar )
+/* 623 */ GAME( 1977, gmissile, 0, gmissile, gmissile, driver_device, 0, ROT0, "Taito / Midway", "Missile X / Guided Missile", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 626 */ GAME( 1977, m4, 0, m4, m4, driver_device, 0, ROT0, "Midway", "M-4", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 630 */ GAMEL(1978, clowns, 0, clowns, clowns, driver_device, 0, ROT0, "Midway", "Clowns (rev. 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_clowns )
+/* 630 */ GAMEL(1978, clowns1, clowns, clowns, clowns1, driver_device, 0, ROT0, "Midway", "Clowns (rev. 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_clowns )
+/* 640 */ GAMEL(1978, spacwalk, 0, spacwalk, spacwalk, driver_device, 0, ROT0, "Midway", "Space Walk", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_spacwalk )
+/* 642 */ GAME( 1978, einning, 0, dplay, einning, driver_device, 0, ROT0, "Midway", "Extra Inning", GAME_SUPPORTS_SAVE )
+/* 643 */ GAME( 1978, shuffle, 0, shuffle, shuffle, driver_device, 0, ROT90, "Midway", "Shuffleboard", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 644 */ GAME( 1977, dogpatch, 0, dogpatch, dogpatch, driver_device, 0, ROT0, "Midway", "Dog Patch", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 645 */ GAME( 1980, spcenctr, 0, spcenctr, spcenctr, driver_device, 0, ROT0, "Midway", "Space Encounters", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 652 */ GAMEL(1979, phantom2, 0, phantom2, phantom2, driver_device, 0, ROT0, "Midway", "Phantom II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_hoa0a0ff )
+/* 730 */ GAME( 1978, bowler, 0, bowler, bowler, driver_device, 0, ROT90, "Midway", "Bowling Alley", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 739 */ GAMEL(1978, invaders, 0, invaders, invaders, driver_device, 0, ROT270, "Taito / Midway", "Space Invaders / Space Invaders M", GAME_SUPPORTS_SAVE , layout_invaders )
+/* 742 */ GAME( 1978, blueshrk, 0, blueshrk, blueshrk, driver_device, 0, ROT0, "Midway", "Blue Shark", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
/* 749 4 Player Bowling Alley (cocktail, dump does not exist) */
-/* 851 */ GAMEL(1980, invad2ct, 0, invad2ct, invad2ct, mw8080bw_state, 0, ROT90, "Midway", "Space Invaders II (Midway, cocktail)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invad2ct )
+/* 851 */ GAMEL(1980, invad2ct, 0, invad2ct, invad2ct, driver_device, 0, ROT90, "Midway", "Space Invaders II (Midway, cocktail)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invad2ct )
/* 852 Space Invaders Deluxe (color hardware, not in this driver) */
/* 870 Space Invaders Deluxe (cocktail, dump does not exist) */
diff --git a/src/mame/drivers/mwarr.c b/src/mame/drivers/mwarr.c
index 4bcf396bab9..1153a493148 100644
--- a/src/mame/drivers/mwarr.c
+++ b/src/mame/drivers/mwarr.c
@@ -659,4 +659,4 @@ ROM_END
*
*************************************/
-GAME( 199?, mwarr, 0, mwarr, mwarr, mwarr_state, 0, ROT0, "Elettronica Video-Games S.R.L.", "Mighty Warriors", GAME_SUPPORTS_SAVE )
+GAME( 199?, mwarr, 0, mwarr, mwarr, driver_device, 0, ROT0, "Elettronica Video-Games S.R.L.", "Mighty Warriors", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mystston.c b/src/mame/drivers/mystston.c
index 3eeec810fb6..7c1a7602c2f 100644
--- a/src/mame/drivers/mystston.c
+++ b/src/mame/drivers/mystston.c
@@ -282,5 +282,5 @@ ROM_END
*
*************************************/
-GAME( 1984, mystston, 0, mystston, mystston, mystston_state, 0, ROT270, "Technos Japan", "Mysterious Stones - Dr. John's Adventure", GAME_SUPPORTS_SAVE )
-GAME( 1984, myststono,mystston, mystston, mystston, mystston_state, 0, ROT270, "Technos Japan", "Mysterious Stones - Dr. Kick in Adventure", GAME_SUPPORTS_SAVE )
+GAME( 1984, mystston, 0, mystston, mystston, driver_device, 0, ROT270, "Technos Japan", "Mysterious Stones - Dr. John's Adventure", GAME_SUPPORTS_SAVE )
+GAME( 1984, myststono,mystston, mystston, mystston, driver_device, 0, ROT270, "Technos Japan", "Mysterious Stones - Dr. Kick in Adventure", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c
index 0305e085bae..f84a91b7e4e 100644
--- a/src/mame/drivers/mystwarr.c
+++ b/src/mame/drivers/mystwarr.c
@@ -2073,31 +2073,31 @@ ROM_START( dadandrn )
ROM_END
/* ROM parent machine inp init */
-GAME( 1993, mystwarr, 0, mystwarr, mystwarr, mystwarr_state, 0, ROT0, "Konami", "Mystic Warriors (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mystwarru, mystwarr, mystwarr, mystwarr, mystwarr_state, 0, ROT0, "Konami", "Mystic Warriors (ver UAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mystwarrj, mystwarr, mystwarr, mystwarr, mystwarr_state, 0, ROT0, "Konami", "Mystic Warriors (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mystwarra, mystwarr, mystwarr, mystwarr, mystwarr_state, 0, ROT0, "Konami", "Mystic Warriors (ver AAA)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1993, mmaulers, 0, dadandrn, dadandrn, mystwarr_state, 0, ROT0, "Konami", "Monster Maulers (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, dadandrn, mmaulers, dadandrn, dadandrn, mystwarr_state, 0, ROT0, "Konami", "Kyukyoku Sentai Dadandarn (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1993, viostorm, 0, viostorm, viostorm, mystwarr_state, 0, ROT0, "Konami", "Violent Storm (ver EAB)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, viostormu, viostorm, viostorm, viostorm, mystwarr_state, 0, ROT0, "Konami", "Violent Storm (ver UAC)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, viostormub,viostorm, viostorm, viostorm, mystwarr_state, 0, ROT0, "Konami", "Violent Storm (ver UAB)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, viostormj, viostorm, viostorm, viostorm, mystwarr_state, 0, ROT0, "Konami", "Violent Storm (ver JAC)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, viostorma, viostorm, viostorm, viostorm, mystwarr_state, 0, ROT0, "Konami", "Violent Storm (ver AAC)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, viostormab, viostorm, viostorm, viostorm, mystwarr_state, 0,ROT0, "Konami", "Violent Storm (ver AAB)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1993, metamrph, 0, metamrph, metamrph, mystwarr_state, 0, ROT0, "Konami", "Metamorphic Force (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, metamrphu, metamrph, metamrph, metamrph, mystwarr_state, 0, ROT0, "Konami", "Metamorphic Force (ver UAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, metamrphj, metamrph, metamrph, metamrph, mystwarr_state, 0, ROT0, "Konami", "Metamorphic Force (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1993, mtlchamp, 0, martchmp, martchmp, mystwarr_state, 0, ROT0, "Konami", "Martial Champion (ver EAB)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mtlchamp1, mtlchamp, martchmp, martchmp, mystwarr_state, 0, ROT0, "Konami", "Martial Champion (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mtlchampu, mtlchamp, martchmp, martchmp, mystwarr_state, 0, ROT0, "Konami", "Martial Champion (ver UAD)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mtlchampj, mtlchamp, martchmp, martchmp, mystwarr_state, 0, ROT0, "Konami", "Martial Champion (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mtlchampa, mtlchamp, martchmp, martchmp, mystwarr_state, 0, ROT0, "Konami", "Martial Champion (ver AAA)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1993, gaiapols, 0, gaiapols, dadandrn, mystwarr_state, 0, ROT90, "Konami", "Gaiapolis (ver EAF)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, gaiapolsu, gaiapols, gaiapols, dadandrn, mystwarr_state, 0, ROT90, "Konami", "Gaiapolis (ver UAF)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, gaiapolsj, gaiapols, gaiapols, dadandrn, mystwarr_state, 0, ROT90, "Konami", "Gaiapolis (ver JAF)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, mystwarr, 0, mystwarr, mystwarr, driver_device, 0, ROT0, "Konami", "Mystic Warriors (ver EAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, mystwarru, mystwarr, mystwarr, mystwarr, driver_device, 0, ROT0, "Konami", "Mystic Warriors (ver UAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, mystwarrj, mystwarr, mystwarr, mystwarr, driver_device, 0, ROT0, "Konami", "Mystic Warriors (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, mystwarra, mystwarr, mystwarr, mystwarr, driver_device, 0, ROT0, "Konami", "Mystic Warriors (ver AAA)", GAME_IMPERFECT_GRAPHICS )
+
+GAME( 1993, mmaulers, 0, dadandrn, dadandrn, driver_device, 0, ROT0, "Konami", "Monster Maulers (ver EAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, dadandrn, mmaulers, dadandrn, dadandrn, driver_device, 0, ROT0, "Konami", "Kyukyoku Sentai Dadandarn (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+
+GAME( 1993, viostorm, 0, viostorm, viostorm, driver_device, 0, ROT0, "Konami", "Violent Storm (ver EAB)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, viostormu, viostorm, viostorm, viostorm, driver_device, 0, ROT0, "Konami", "Violent Storm (ver UAC)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, viostormub,viostorm, viostorm, viostorm, driver_device, 0, ROT0, "Konami", "Violent Storm (ver UAB)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, viostormj, viostorm, viostorm, viostorm, driver_device, 0, ROT0, "Konami", "Violent Storm (ver JAC)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, viostorma, viostorm, viostorm, viostorm, driver_device, 0, ROT0, "Konami", "Violent Storm (ver AAC)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, viostormab, viostorm, viostorm, viostorm, driver_device, 0,ROT0, "Konami", "Violent Storm (ver AAB)", GAME_IMPERFECT_GRAPHICS )
+
+GAME( 1993, metamrph, 0, metamrph, metamrph, driver_device, 0, ROT0, "Konami", "Metamorphic Force (ver EAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, metamrphu, metamrph, metamrph, metamrph, driver_device, 0, ROT0, "Konami", "Metamorphic Force (ver UAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, metamrphj, metamrph, metamrph, metamrph, driver_device, 0, ROT0, "Konami", "Metamorphic Force (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+
+GAME( 1993, mtlchamp, 0, martchmp, martchmp, driver_device, 0, ROT0, "Konami", "Martial Champion (ver EAB)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, mtlchamp1, mtlchamp, martchmp, martchmp, driver_device, 0, ROT0, "Konami", "Martial Champion (ver EAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, mtlchampu, mtlchamp, martchmp, martchmp, driver_device, 0, ROT0, "Konami", "Martial Champion (ver UAD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, mtlchampj, mtlchamp, martchmp, martchmp, driver_device, 0, ROT0, "Konami", "Martial Champion (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, mtlchampa, mtlchamp, martchmp, martchmp, driver_device, 0, ROT0, "Konami", "Martial Champion (ver AAA)", GAME_IMPERFECT_GRAPHICS )
+
+GAME( 1993, gaiapols, 0, gaiapols, dadandrn, driver_device, 0, ROT90, "Konami", "Gaiapolis (ver EAF)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, gaiapolsu, gaiapols, gaiapols, dadandrn, driver_device, 0, ROT90, "Konami", "Gaiapolis (ver UAF)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, gaiapolsj, gaiapols, gaiapols, dadandrn, driver_device, 0, ROT90, "Konami", "Gaiapolis (ver JAF)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/n8080.c b/src/mame/drivers/n8080.c
index bc49c08c2fe..304d7f4a53e 100644
--- a/src/mame/drivers/n8080.c
+++ b/src/mame/drivers/n8080.c
@@ -971,15 +971,15 @@ ROM_START( helifirea )
ROM_END
-GAME( 1979, spacefev, 0, spacefev, spacefev, n8080_state, 0, ROT270, "Nintendo", "Space Fever (New Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1979, spacefevo, spacefev, spacefev, spacefev, n8080_state, 0, ROT270, "Nintendo", "Space Fever (Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1979, spacefevo2, spacefev, spacefev, spacefev, n8080_state, 0, ROT270, "Nintendo", "Space Fever (Older Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1979, highsplt, 0, spacefev, highsplt, n8080_state, 0, ROT270, "Nintendo", "Space Fever High Splitter (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1979, highsplta, highsplt, spacefev, highsplt, n8080_state, 0, ROT270, "Nintendo", "Space Fever High Splitter (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1979, highspltb, highsplt, spacefev, highsplt, n8080_state, 0, ROT270, "Nintendo", "Space Fever High Splitter (alt Sound)", GAME_SUPPORTS_SAVE )
-GAME( 1979, spacelnc, 0, spacefev, spacelnc, n8080_state, 0, ROT270, "Nintendo", "Space Launcher", GAME_SUPPORTS_SAVE )
-GAME( 1979, sheriff, 0, sheriff, sheriff, n8080_state, 0, ROT270, "Nintendo", "Sheriff", GAME_SUPPORTS_SAVE )
-GAME( 1980, bandido, sheriff, sheriff, bandido, n8080_state, 0, ROT270, "Nintendo (Exidy license)", "Bandido", GAME_SUPPORTS_SAVE )
-GAME( 1980, westgun2, sheriff, westgun2, westgun2, n8080_state, 0, ROT270, "Nintendo (Taito Corporation license)", "Western Gun Part II", GAME_SUPPORTS_SAVE ) // official Taito PCBs, but title/copyright not shown
-GAME( 1980, helifire, 0, helifire, helifire, n8080_state, 0, ROT270, "Nintendo", "HeliFire (set 1)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1980, helifirea, helifire, helifire, helifire, n8080_state, 0, ROT270, "Nintendo", "HeliFire (set 2)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1979, spacefev, 0, spacefev, spacefev, driver_device, 0, ROT270, "Nintendo", "Space Fever (New Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1979, spacefevo, spacefev, spacefev, spacefev, driver_device, 0, ROT270, "Nintendo", "Space Fever (Old Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1979, spacefevo2, spacefev, spacefev, spacefev, driver_device, 0, ROT270, "Nintendo", "Space Fever (Older Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1979, highsplt, 0, spacefev, highsplt, driver_device, 0, ROT270, "Nintendo", "Space Fever High Splitter (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1979, highsplta, highsplt, spacefev, highsplt, driver_device, 0, ROT270, "Nintendo", "Space Fever High Splitter (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1979, highspltb, highsplt, spacefev, highsplt, driver_device, 0, ROT270, "Nintendo", "Space Fever High Splitter (alt Sound)", GAME_SUPPORTS_SAVE )
+GAME( 1979, spacelnc, 0, spacefev, spacelnc, driver_device, 0, ROT270, "Nintendo", "Space Launcher", GAME_SUPPORTS_SAVE )
+GAME( 1979, sheriff, 0, sheriff, sheriff, driver_device, 0, ROT270, "Nintendo", "Sheriff", GAME_SUPPORTS_SAVE )
+GAME( 1980, bandido, sheriff, sheriff, bandido, driver_device, 0, ROT270, "Nintendo (Exidy license)", "Bandido", GAME_SUPPORTS_SAVE )
+GAME( 1980, westgun2, sheriff, westgun2, westgun2, driver_device, 0, ROT270, "Nintendo (Taito Corporation license)", "Western Gun Part II", GAME_SUPPORTS_SAVE ) // official Taito PCBs, but title/copyright not shown
+GAME( 1980, helifire, 0, helifire, helifire, driver_device, 0, ROT270, "Nintendo", "HeliFire (set 1)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1980, helifirea, helifire, helifire, helifire, driver_device, 0, ROT270, "Nintendo", "HeliFire (set 2)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/namcofl.c b/src/mame/drivers/namcofl.c
index 76315675f43..3c88a6c4341 100644
--- a/src/mame/drivers/namcofl.c
+++ b/src/mame/drivers/namcofl.c
@@ -815,15 +815,15 @@ static void namcofl_common_init(running_machine &machine)
state->membank("bank2")->set_base(state->m_workram );
}
-static DRIVER_INIT(speedrcr)
+DRIVER_INIT_MEMBER(namcofl_state,speedrcr)
{
- namcofl_common_init(machine);
+ namcofl_common_init(machine());
namcos2_gametype = NAMCOFL_SPEED_RACER;
}
-static DRIVER_INIT(finalapr)
+DRIVER_INIT_MEMBER(namcofl_state,finalapr)
{
- namcofl_common_init(machine);
+ namcofl_common_init(machine());
namcos2_gametype = NAMCOFL_FINAL_LAP_R;
}
diff --git a/src/mame/drivers/namcona1.c b/src/mame/drivers/namcona1.c
index df4d95c2031..8d4cbcb921b 100644
--- a/src/mame/drivers/namcona1.c
+++ b/src/mame/drivers/namcona1.c
@@ -1078,18 +1078,18 @@ static void init_namcona1( running_machine &machine, int gametype )
state->m_mEnableInterrupts = 0;
}
-static DRIVER_INIT( bkrtmaq ){ init_namcona1(machine, NAMCO_BKRTMAQ); }
-static DRIVER_INIT( cgangpzl ){ init_namcona1(machine, NAMCO_CGANGPZL); }
-static DRIVER_INIT( emeralda ){ init_namcona1(machine, NAMCO_EMERALDA); } /* NA-2 Hardware */
-static DRIVER_INIT( emeraldj ){ init_namcona1(machine, NAMCO_EMERALDA); } /* NA-1 Hardware */
-static DRIVER_INIT( exbania ){ init_namcona1(machine, NAMCO_EXBANIA); }
-static DRIVER_INIT( fa ){ init_namcona1(machine, NAMCO_FA); }
-static DRIVER_INIT( knckhead ){ init_namcona1(machine, NAMCO_KNCKHEAD); }
-static DRIVER_INIT( numanath ){ init_namcona1(machine, NAMCO_NUMANATH); }
-static DRIVER_INIT( quiztou ){ init_namcona1(machine, NAMCO_QUIZTOU); }
-static DRIVER_INIT( swcourt ){ init_namcona1(machine, NAMCO_SWCOURT); }
-static DRIVER_INIT( tinklpit ){ init_namcona1(machine, NAMCO_TINKLPIT); }
-static DRIVER_INIT( xday2 ){ init_namcona1(machine, NAMCO_XDAY2); }
+DRIVER_INIT_MEMBER(namcona1_state,bkrtmaq) { init_namcona1(machine(), NAMCO_BKRTMAQ); }
+DRIVER_INIT_MEMBER(namcona1_state,cgangpzl) { init_namcona1(machine(), NAMCO_CGANGPZL); }
+DRIVER_INIT_MEMBER(namcona1_state,emeralda) { init_namcona1(machine(), NAMCO_EMERALDA); } /* NA-2 Hardware */
+DRIVER_INIT_MEMBER(namcona1_state,emeraldj) { init_namcona1(machine(), NAMCO_EMERALDA); } /* NA-1 Hardware */
+DRIVER_INIT_MEMBER(namcona1_state,exbania) { init_namcona1(machine(), NAMCO_EXBANIA); }
+DRIVER_INIT_MEMBER(namcona1_state,fa) { init_namcona1(machine(), NAMCO_FA); }
+DRIVER_INIT_MEMBER(namcona1_state,knckhead) { init_namcona1(machine(), NAMCO_KNCKHEAD); }
+DRIVER_INIT_MEMBER(namcona1_state,numanath) { init_namcona1(machine(), NAMCO_NUMANATH); }
+DRIVER_INIT_MEMBER(namcona1_state,quiztou) { init_namcona1(machine(), NAMCO_QUIZTOU); }
+DRIVER_INIT_MEMBER(namcona1_state,swcourt) { init_namcona1(machine(), NAMCO_SWCOURT); }
+DRIVER_INIT_MEMBER(namcona1_state,tinklpit) { init_namcona1(machine(), NAMCO_TINKLPIT); }
+DRIVER_INIT_MEMBER(namcona1_state,xday2) { init_namcona1(machine(), NAMCO_XDAY2); }
ROM_START( bkrtmaq )
ROM_REGION( 0xa80000, "maincpu", 0 )
diff --git a/src/mame/drivers/namconb1.c b/src/mame/drivers/namconb1.c
index 9930f3ef5ca..7d89b153ab6 100644
--- a/src/mame/drivers/namconb1.c
+++ b/src/mame/drivers/namconb1.c
@@ -606,56 +606,56 @@ static MACHINE_START(namconb)
memset(state->m_namconb_cpureg, 0, sizeof(state->m_namconb_cpureg));
}
-static DRIVER_INIT( nebulray )
+DRIVER_INIT_MEMBER(namconb1_state,nebulray)
{
- UINT8 *pMem = (UINT8 *)machine.root_device().memregion(NAMCONB1_TILEMASKREGION)->base();
+ UINT8 *pMem = (UINT8 *)machine().root_device().memregion(NAMCONB1_TILEMASKREGION)->base();
size_t numBytes = (0xfe7-0xe6f)*8;
memset( &pMem[0xe6f*8], 0, numBytes );
namcos2_gametype = NAMCONB1_NEBULRAY;
} /* nebulray */
-static DRIVER_INIT( gslgr94u )
+DRIVER_INIT_MEMBER(namconb1_state,gslgr94u)
{
namcos2_gametype = NAMCONB1_GSLGR94U;
} /* gslgr94u */
-static DRIVER_INIT( gslgr94j )
+DRIVER_INIT_MEMBER(namconb1_state,gslgr94j)
{
namcos2_gametype = NAMCONB1_GSLGR94J;
} /* gslgr94j */
-static DRIVER_INIT( sws95 )
+DRIVER_INIT_MEMBER(namconb1_state,sws95)
{
namcos2_gametype = NAMCONB1_SWS95;
} /* sws95 */
-static DRIVER_INIT( sws96 )
+DRIVER_INIT_MEMBER(namconb1_state,sws96)
{
namcos2_gametype = NAMCONB1_SWS96;
} /* sws96 */
-static DRIVER_INIT( sws97 )
+DRIVER_INIT_MEMBER(namconb1_state,sws97)
{
namcos2_gametype = NAMCONB1_SWS97;
} /* sws97 */
-static DRIVER_INIT( gunbulet )
+DRIVER_INIT_MEMBER(namconb1_state,gunbulet)
{
namcos2_gametype = NAMCONB1_GUNBULET;
} /* gunbulet */
-static DRIVER_INIT( vshoot )
+DRIVER_INIT_MEMBER(namconb1_state,vshoot)
{
namcos2_gametype = NAMCONB1_VSHOOT;
} /* vshoot */
-static DRIVER_INIT( machbrkr )
+DRIVER_INIT_MEMBER(namconb1_state,machbrkr)
{
namcos2_gametype = NAMCONB2_MACH_BREAKERS;
}
-static DRIVER_INIT( outfxies )
+DRIVER_INIT_MEMBER(namconb1_state,outfxies)
{
namcos2_gametype = NAMCONB2_OUTFOXIES;
}
diff --git a/src/mame/drivers/namcond1.c b/src/mame/drivers/namcond1.c
index 2d9613b558c..359e0d9dfd9 100644
--- a/src/mame/drivers/namcond1.c
+++ b/src/mame/drivers/namcond1.c
@@ -407,8 +407,8 @@ ROM_START( ncv2j )
ROM_LOAD( "ncs1voic.7c", 0x000000, 0x200000, CRC(ed05fd88) SHA1(ad88632c89a9946708fc6b4c9247e1bae9b2944b) )
ROM_END
-GAME( 1995, ncv1, 0, namcond1, namcond1, namcond1_state, 0, ROT90, "Namco", "Namco Classic Collection Vol.1", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, ncv1j, ncv1, namcond1, namcond1, namcond1_state, 0, ROT90, "Namco", "Namco Classic Collection Vol.1 (Japan, v1.00)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, ncv1j2, ncv1, namcond1, namcond1, namcond1_state, 0, ROT90, "Namco", "Namco Classic Collection Vol.1 (Japan, v1.03)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, ncv2, 0, namcond1, namcond1, namcond1_state, 0, ROT90, "Namco", "Namco Classic Collection Vol.2", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
-GAME( 1996, ncv2j, ncv2, namcond1, namcond1, namcond1_state, 0, ROT90, "Namco", "Namco Classic Collection Vol.2 (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
+GAME( 1995, ncv1, 0, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.1", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, ncv1j, ncv1, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.1 (Japan, v1.00)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, ncv1j2, ncv1, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.1 (Japan, v1.03)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, ncv2, 0, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.2", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
+GAME( 1996, ncv2j, ncv2, namcond1, namcond1, driver_device, 0, ROT90, "Namco", "Namco Classic Collection Vol.2 (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/namcops2.c b/src/mame/drivers/namcops2.c
index 0c922d12f03..9477ea84429 100644
--- a/src/mame/drivers/namcops2.c
+++ b/src/mame/drivers/namcops2.c
@@ -540,37 +540,37 @@ ROM_START( yuyuhaku )
DISK_IMAGE_READONLY( "yuyuhaku", 0, SHA1(ffdf1333d2c235e5fcec3780480f110afd20a7df) )
ROM_END
-GAME(2001, sys246, 0, system246, system246, namcops2_state, 0, ROT0, "Namco", "System 246 BIOS", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT)
-GAME(2001, bldyr3b, sys246, system246, system246, namcops2_state, 0, ROT0, "bootleg", "Bloody Roar 3 (bootleg)", GAME_IS_SKELETON)
-GAME(2001, rrvac, sys246, system246, system246, namcops2_state, 0, ROT0, "Namco", "Ridge Racer V Arcade Battle (RRV3 Ver. A)", GAME_IS_SKELETON)
-GAME(2001, wanganmd, sys246, system246, system246, namcops2_state, 0, ROT0, "Namco", "Wangan Midnight (WMN1 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, dragchrn, sys246, system246, system246, namcops2_state, 0, ROT0, "Namco", "Dragon Chronicles (DC001 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, netchu02, sys246, system246, system246, namcops2_state, 0, ROT0, "Namco", "Netchuu Pro Yakyuu 2002 (NPY1 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, scptour, sys246, system246, system246, namcops2_state, 0, ROT0, "Namco", "Smash Court Pro Tournament (SCP1)", GAME_IS_SKELETON)
-GAME(2002, soulclb2, sys246, system246, system246, namcops2_state, 0, ROT0, "Namco", "Soul Calibur II (SC23 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, soulcl2a, soulclb2, system246, system246, namcops2_state, 0, ROT0, "Namco", "Soul Calibur II (SC22 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, soulcl2b, soulclb2, system246, system246, namcops2_state, 0, ROT0, "Namco", "Soul Calibur II (SC21 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, soulcl2w, soulclb2, system246, system246, namcops2_state, 0, ROT0, "Namco", "Soul Calibur II (SC2? world version)", GAME_IS_SKELETON)
-GAME(2002, tekken4, sys246, system246, system246, namcops2_state, 0, ROT0, "Namco", "Tekken 4 (TEF3 Ver. C)", GAME_IS_SKELETON)
-GAME(2002, tekken4a, tekken4, system246, system246, namcops2_state, 0, ROT0, "Namco", "Tekken 4 (TEF2 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, tekken4b, tekken4, system246, system246, namcops2_state, 0, ROT0, "Namco", "Tekken 4 (TEF1 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, tekken4c, tekken4, system246, system246, namcops2_state, 0, ROT0, "Namco", "Tekken 4 (TEF1 Ver. C)", GAME_IS_SKELETON)
-GAME(2003, timecrs3, sys246, system246, system246, namcops2_state, 0, ROT0, "Namco", "Time Crisis 3 (TST1)", GAME_IS_SKELETON)
-GAME(2003, timecrs3e,timecrs3, system246, system246, namcops2_state, 0, ROT0, "Namco", "Time Crisis 3 (TST2 Ver. A)", GAME_IS_SKELETON)
-GAME(2003, zgundm, sys246, system246, system246, namcops2_state, 0, ROT0, "Capcom / Banpresto", "Mobile Suit Z-Gundam: A.E.U.G. vs Titans (ZGA1 Ver. A)", GAME_IS_SKELETON)
-GAME(2004, fghtjam, sys246, system246, system246, namcops2_state, 0, ROT0, "Capcom / Namco", "Capcom Fighting Jam (JAM1 Ver. A)", GAME_IS_SKELETON)
-GAME(2004, sukuinuf, sys246, system246, system246, namcops2_state, 0, ROT0, "Namco", "Quiz and Variety Suku Suku Inufuku 2 (IN2 Ver. A)", GAME_IS_SKELETON)
-GAME(2004, zgundmdx, sys246, system246, system246, namcops2_state, 0, ROT0, "Capcom / Banpresto", "Mobile Suit Z-Gundam: A.E.U.G. vs Titans DX (ZDX1 Ver. A)", GAME_IS_SKELETON)
-GAME(2005, gundzaft, sys246, system246, system246, namcops2_state, 0, ROT0, "Capcom / Banpresto", "Gundam Seed: Federation vs. Z.A.F.T. (SED1 Ver. A)", GAME_IS_SKELETON)
-GAME(2005, soulclb3, sys246, system246, system246, namcops2_state, 0, ROT0, "Namco", "Soul Calibur III (SC31001-NA-A)", GAME_IS_SKELETON)
-GAME(2005, soulclb3a,soulclb3, system246, system246, namcops2_state, 0, ROT0, "Namco", "Soul Calibur III (SC31002-NA-A)", GAME_IS_SKELETON)
-GAME(2008, fateulc, sys246, system246, system246, namcops2_state, 0, ROT0, "bootleg", "Fate: Unlimited Codes (bootleg)", GAME_IS_SKELETON)
-
-GAME(2004, sys256, 0, system256, system246, namcops2_state, 0, ROT0, "Namco", "System 256 BIOS", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT)
-GAME(2005, tekken51, sys256, system256, system246, namcops2_state, 0, ROT0, "Namco", "Tekken 5.1 (TE51 Ver. B)", GAME_IS_SKELETON)
-GAME(2005, superdbz, sys256, system256, system246, namcops2_state, 0, ROT0, "Banpresto / Spike", "Super Dragon Ball Z (DB1 Ver. B)", GAME_IS_SKELETON)
-GAME(2006, kinniku, sys256, system256, system246, namcops2_state, 0, ROT0, "Namco", "Kinnikuman Muscle Grand Prix (KN1 Ver. A)", GAME_IS_SKELETON)
-GAME(2006, taiko9, sys256, system256, system246, namcops2_state, 0, ROT0, "Namco", "Taiko No Tatsujin 9 (TK91001-NA-A)", GAME_IS_SKELETON)
-GAME(2006, yuyuhaku, sys256, system256, system246, namcops2_state, 0, ROT0, "Banpresto", "The Battle of Yu Yu Hakusho: Shitou! Ankoku Bujutsukai!", GAME_IS_SKELETON)
-GAME(2007, taiko10, sys256, system256, system246, namcops2_state, 0, ROT0, "Namco", "Taiko No Tatsujin 10 (T101001-NA-A)", GAME_IS_SKELETON)
-GAME(2008, gdvsgd, sys256, system256, system246, namcops2_state, 0, ROT0, "Capcom / Bandai", "Gundam vs. Gundam", GAME_IS_SKELETON)
+GAME(2001, sys246, 0, system246, system246, driver_device, 0, ROT0, "Namco", "System 246 BIOS", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT)
+GAME(2001, bldyr3b, sys246, system246, system246, driver_device, 0, ROT0, "bootleg", "Bloody Roar 3 (bootleg)", GAME_IS_SKELETON)
+GAME(2001, rrvac, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Ridge Racer V Arcade Battle (RRV3 Ver. A)", GAME_IS_SKELETON)
+GAME(2001, wanganmd, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Wangan Midnight (WMN1 Ver. A)", GAME_IS_SKELETON)
+GAME(2002, dragchrn, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Dragon Chronicles (DC001 Ver. A)", GAME_IS_SKELETON)
+GAME(2002, netchu02, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Netchuu Pro Yakyuu 2002 (NPY1 Ver. A)", GAME_IS_SKELETON)
+GAME(2002, scptour, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Smash Court Pro Tournament (SCP1)", GAME_IS_SKELETON)
+GAME(2002, soulclb2, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Soul Calibur II (SC23 Ver. A)", GAME_IS_SKELETON)
+GAME(2002, soulcl2a, soulclb2, system246, system246, driver_device, 0, ROT0, "Namco", "Soul Calibur II (SC22 Ver. A)", GAME_IS_SKELETON)
+GAME(2002, soulcl2b, soulclb2, system246, system246, driver_device, 0, ROT0, "Namco", "Soul Calibur II (SC21 Ver. A)", GAME_IS_SKELETON)
+GAME(2002, soulcl2w, soulclb2, system246, system246, driver_device, 0, ROT0, "Namco", "Soul Calibur II (SC2? world version)", GAME_IS_SKELETON)
+GAME(2002, tekken4, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Tekken 4 (TEF3 Ver. C)", GAME_IS_SKELETON)
+GAME(2002, tekken4a, tekken4, system246, system246, driver_device, 0, ROT0, "Namco", "Tekken 4 (TEF2 Ver. A)", GAME_IS_SKELETON)
+GAME(2002, tekken4b, tekken4, system246, system246, driver_device, 0, ROT0, "Namco", "Tekken 4 (TEF1 Ver. A)", GAME_IS_SKELETON)
+GAME(2002, tekken4c, tekken4, system246, system246, driver_device, 0, ROT0, "Namco", "Tekken 4 (TEF1 Ver. C)", GAME_IS_SKELETON)
+GAME(2003, timecrs3, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Time Crisis 3 (TST1)", GAME_IS_SKELETON)
+GAME(2003, timecrs3e,timecrs3, system246, system246, driver_device, 0, ROT0, "Namco", "Time Crisis 3 (TST2 Ver. A)", GAME_IS_SKELETON)
+GAME(2003, zgundm, sys246, system246, system246, driver_device, 0, ROT0, "Capcom / Banpresto", "Mobile Suit Z-Gundam: A.E.U.G. vs Titans (ZGA1 Ver. A)", GAME_IS_SKELETON)
+GAME(2004, fghtjam, sys246, system246, system246, driver_device, 0, ROT0, "Capcom / Namco", "Capcom Fighting Jam (JAM1 Ver. A)", GAME_IS_SKELETON)
+GAME(2004, sukuinuf, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Quiz and Variety Suku Suku Inufuku 2 (IN2 Ver. A)", GAME_IS_SKELETON)
+GAME(2004, zgundmdx, sys246, system246, system246, driver_device, 0, ROT0, "Capcom / Banpresto", "Mobile Suit Z-Gundam: A.E.U.G. vs Titans DX (ZDX1 Ver. A)", GAME_IS_SKELETON)
+GAME(2005, gundzaft, sys246, system246, system246, driver_device, 0, ROT0, "Capcom / Banpresto", "Gundam Seed: Federation vs. Z.A.F.T. (SED1 Ver. A)", GAME_IS_SKELETON)
+GAME(2005, soulclb3, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Soul Calibur III (SC31001-NA-A)", GAME_IS_SKELETON)
+GAME(2005, soulclb3a,soulclb3, system246, system246, driver_device, 0, ROT0, "Namco", "Soul Calibur III (SC31002-NA-A)", GAME_IS_SKELETON)
+GAME(2008, fateulc, sys246, system246, system246, driver_device, 0, ROT0, "bootleg", "Fate: Unlimited Codes (bootleg)", GAME_IS_SKELETON)
+
+GAME(2004, sys256, 0, system256, system246, driver_device, 0, ROT0, "Namco", "System 256 BIOS", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT)
+GAME(2005, tekken51, sys256, system256, system246, driver_device, 0, ROT0, "Namco", "Tekken 5.1 (TE51 Ver. B)", GAME_IS_SKELETON)
+GAME(2005, superdbz, sys256, system256, system246, driver_device, 0, ROT0, "Banpresto / Spike", "Super Dragon Ball Z (DB1 Ver. B)", GAME_IS_SKELETON)
+GAME(2006, kinniku, sys256, system256, system246, driver_device, 0, ROT0, "Namco", "Kinnikuman Muscle Grand Prix (KN1 Ver. A)", GAME_IS_SKELETON)
+GAME(2006, taiko9, sys256, system256, system246, driver_device, 0, ROT0, "Namco", "Taiko No Tatsujin 9 (TK91001-NA-A)", GAME_IS_SKELETON)
+GAME(2006, yuyuhaku, sys256, system256, system246, driver_device, 0, ROT0, "Banpresto", "The Battle of Yu Yu Hakusho: Shitou! Ankoku Bujutsukai!", GAME_IS_SKELETON)
+GAME(2007, taiko10, sys256, system256, system246, driver_device, 0, ROT0, "Namco", "Taiko No Tatsujin 10 (T101001-NA-A)", GAME_IS_SKELETON)
+GAME(2008, gdvsgd, sys256, system256, system246, driver_device, 0, ROT0, "Capcom / Bandai", "Gundam vs. Gundam", GAME_IS_SKELETON)
diff --git a/src/mame/drivers/namcos10.c b/src/mame/drivers/namcos10.c
index afab4a64ca3..abeb70ec15b 100644
--- a/src/mame/drivers/namcos10.c
+++ b/src/mame/drivers/namcos10.c
@@ -303,6 +303,17 @@ private:
UINT16 nand_read( UINT32 address );
UINT16 nand_read2( UINT32 address );
+public:
+ DECLARE_DRIVER_INIT(knpuzzle);
+ DECLARE_DRIVER_INIT(panikuru);
+ DECLARE_DRIVER_INIT(mrdrilr2);
+ DECLARE_DRIVER_INIT(startrgn);
+ DECLARE_DRIVER_INIT(gunbalna);
+ DECLARE_DRIVER_INIT(nflclsfb);
+ DECLARE_DRIVER_INIT(gjspace);
+ DECLARE_DRIVER_INIT(gamshara);
+ DECLARE_DRIVER_INIT(mrdrilrg);
+ DECLARE_DRIVER_INIT(chocovdr);
};
@@ -518,67 +529,67 @@ static void decrypt_bios( running_machine &machine, const char *regionName, int
}
}
-static DRIVER_INIT( mrdrilr2 )
+DRIVER_INIT_MEMBER(namcos10_state,mrdrilr2)
{
- decrypt_bios( machine, "user1", 0, 0xc, 0xd, 0xf, 0xe, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x4, 0x1, 0x2, 0x5, 0x0, 0x3 );
- memm_driver_init(machine);
+ decrypt_bios( machine(), "user1", 0, 0xc, 0xd, 0xf, 0xe, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x4, 0x1, 0x2, 0x5, 0x0, 0x3 );
+ memm_driver_init(machine());
}
-static DRIVER_INIT( gjspace )
+DRIVER_INIT_MEMBER(namcos10_state,gjspace)
{
- decrypt_bios( machine, "user2", 0x8400, 0x0, 0x2, 0xe, 0xd, 0xf, 0x6, 0xc, 0x7, 0x5, 0x1, 0x9, 0x8, 0xa, 0x3, 0x4, 0xb );
- memn_driver_init(machine);
+ decrypt_bios( machine(), "user2", 0x8400, 0x0, 0x2, 0xe, 0xd, 0xf, 0x6, 0xc, 0x7, 0x5, 0x1, 0x9, 0x8, 0xa, 0x3, 0x4, 0xb );
+ memn_driver_init(machine());
}
-static DRIVER_INIT( mrdrilrg )
+DRIVER_INIT_MEMBER(namcos10_state,mrdrilrg)
{
- decrypt_bios( machine, "user2", 0x8400, 0x6, 0x4, 0x7, 0x5, 0x2, 0x1, 0x0, 0x3, 0xc, 0xd, 0xe, 0xf, 0x8, 0x9, 0xb, 0xa );
- memn_driver_init(machine);
+ decrypt_bios( machine(), "user2", 0x8400, 0x6, 0x4, 0x7, 0x5, 0x2, 0x1, 0x0, 0x3, 0xc, 0xd, 0xe, 0xf, 0x8, 0x9, 0xb, 0xa );
+ memn_driver_init(machine());
}
-static DRIVER_INIT( knpuzzle )
+DRIVER_INIT_MEMBER(namcos10_state,knpuzzle)
{
- decrypt_bios( machine, "user2", 0x8400, 0x6, 0x7, 0x4, 0x5, 0x2, 0x0, 0x3, 0x1, 0xc, 0xd, 0xe, 0xf, 0x9, 0xb, 0x8, 0xa );
- memn_driver_init(machine);
+ decrypt_bios( machine(), "user2", 0x8400, 0x6, 0x7, 0x4, 0x5, 0x2, 0x0, 0x3, 0x1, 0xc, 0xd, 0xe, 0xf, 0x9, 0xb, 0x8, 0xa );
+ memn_driver_init(machine());
}
-static DRIVER_INIT( startrgn )
+DRIVER_INIT_MEMBER(namcos10_state,startrgn)
{
- decrypt_bios( machine, "user2", 0x8400, 0x6, 0x5, 0x4, 0x7, 0x1, 0x3, 0x0, 0x2, 0xc, 0xd, 0xe, 0xf, 0x8, 0xb, 0xa, 0x9 );
- memn_driver_init(machine);
+ decrypt_bios( machine(), "user2", 0x8400, 0x6, 0x5, 0x4, 0x7, 0x1, 0x3, 0x0, 0x2, 0xc, 0xd, 0xe, 0xf, 0x8, 0xb, 0xa, 0x9 );
+ memn_driver_init(machine());
}
-static DRIVER_INIT( gamshara )
+DRIVER_INIT_MEMBER(namcos10_state,gamshara)
{
- decrypt_bios( machine, "user2", 0x8400, 0x5, 0x4, 0x7, 0x6, 0x0, 0x1, 0x3, 0x2, 0xd, 0xf, 0xc, 0xe, 0x8, 0x9, 0xa, 0xb );
- memn_driver_init(machine);
+ decrypt_bios( machine(), "user2", 0x8400, 0x5, 0x4, 0x7, 0x6, 0x0, 0x1, 0x3, 0x2, 0xd, 0xf, 0xc, 0xe, 0x8, 0x9, 0xa, 0xb );
+ memn_driver_init(machine());
}
-static DRIVER_INIT( gunbalna )
+DRIVER_INIT_MEMBER(namcos10_state,gunbalna)
{
- decrypt_bios( machine, "user2", 0x8400, 0x5, 0x4, 0x7, 0x6, 0x0, 0x1, 0x3, 0x2, 0xd, 0xf, 0xc, 0xe, 0x9, 0x8, 0xa, 0xb );
- memn_driver_init(machine);
+ decrypt_bios( machine(), "user2", 0x8400, 0x5, 0x4, 0x7, 0x6, 0x0, 0x1, 0x3, 0x2, 0xd, 0xf, 0xc, 0xe, 0x9, 0x8, 0xa, 0xb );
+ memn_driver_init(machine());
}
-static DRIVER_INIT( chocovdr )
+DRIVER_INIT_MEMBER(namcos10_state,chocovdr)
{
// NOTE: none of the possible permutations show the Sony Computer Entertainment string at BIOS[0x84], very likely a bad dump
// BAD? 0 or 9 1 or 8 0 or 9
// ok! ok! ok! ok! ok! ok! ok! ok! ok! ok! ok! ok!
- decrypt_bios( machine, "user2", 0x8400, 0x5, 0x4, 0x6, 0x7, 0x1, 0x0, 0x2, 0x3, 0xc, 0xf, 0xe, 0xd, 0x8, 0xb, 0xa, 0x9 );
- memn_driver_init(machine);
+ decrypt_bios( machine(), "user2", 0x8400, 0x5, 0x4, 0x6, 0x7, 0x1, 0x0, 0x2, 0x3, 0xc, 0xf, 0xe, 0xd, 0x8, 0xb, 0xa, 0x9 );
+ memn_driver_init(machine());
}
-static DRIVER_INIT( panikuru )
+DRIVER_INIT_MEMBER(namcos10_state,panikuru)
{
- decrypt_bios( machine, "user2", 0x8400, 0x6, 0x4, 0x7, 0x5, 0x0, 0x1, 0x2, 0x3, 0xc, 0xf, 0xe, 0xd, 0x9, 0x8, 0xb, 0xa );
- memn_driver_init(machine);
+ decrypt_bios( machine(), "user2", 0x8400, 0x6, 0x4, 0x7, 0x5, 0x0, 0x1, 0x2, 0x3, 0xc, 0xf, 0xe, 0xd, 0x9, 0x8, 0xb, 0xa );
+ memn_driver_init(machine());
}
-static DRIVER_INIT( nflclsfb )
+DRIVER_INIT_MEMBER(namcos10_state,nflclsfb)
{
- decrypt_bios( machine, "user2", 0x8400, 0x6, 0x5, 0x4, 0x7, 0x1, 0x3, 0x0, 0x2, 0xc, 0xd, 0xe, 0xf, 0x8, 0xb, 0xa, 0x9 );
- memn_driver_init(machine);
+ decrypt_bios( machine(), "user2", 0x8400, 0x6, 0x5, 0x4, 0x7, 0x1, 0x3, 0x0, 0x2, 0xc, 0xd, 0xe, 0xf, 0x8, 0xb, 0xa, 0x9 );
+ memn_driver_init(machine());
}
diff --git a/src/mame/drivers/namcos11.c b/src/mame/drivers/namcos11.c
index dac1f677cf6..689e12ce73f 100644
--- a/src/mame/drivers/namcos11.c
+++ b/src/mame/drivers/namcos11.c
@@ -330,6 +330,17 @@ public:
DECLARE_READ8_MEMBER(pocketrc_steer_r);
DECLARE_READ16_MEMBER(c76_speedup_r);
DECLARE_WRITE16_MEMBER(c76_speedup_w);
+ DECLARE_DRIVER_INIT(primglex);
+ DECLARE_DRIVER_INIT(danceyes);
+ DECLARE_DRIVER_INIT(myangel3);
+ DECLARE_DRIVER_INIT(ptblank2ua);
+ DECLARE_DRIVER_INIT(pocketrc);
+ DECLARE_DRIVER_INIT(starswep);
+ DECLARE_DRIVER_INIT(souledge);
+ DECLARE_DRIVER_INIT(dunkmnia);
+ DECLARE_DRIVER_INIT(tekken);
+ DECLARE_DRIVER_INIT(xevi3dg);
+ DECLARE_DRIVER_INIT(tekken2);
};
INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... )
@@ -910,85 +921,75 @@ static void namcos11_init_common(running_machine &machine, int n_daughterboard)
}
}
-static DRIVER_INIT( tekken )
+DRIVER_INIT_MEMBER(namcos11_state,tekken)
{
- namcos11_init_common(machine, 32);
+ namcos11_init_common(machine(), 32);
}
-static DRIVER_INIT( tekken2 )
+DRIVER_INIT_MEMBER(namcos11_state,tekken2)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c406_r),state));
- namcos11_init_common(machine, 32);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c406_r),this));
+ namcos11_init_common(machine(), 32);
}
-static DRIVER_INIT( souledge )
+DRIVER_INIT_MEMBER(namcos11_state,souledge)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c409_r),state));
- namcos11_init_common(machine, 32);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c409_r),this));
+ namcos11_init_common(machine(), 32);
}
-static DRIVER_INIT( dunkmnia )
+DRIVER_INIT_MEMBER(namcos11_state,dunkmnia)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c410_r),state));
- namcos11_init_common(machine, 32);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c410_r),this));
+ namcos11_init_common(machine(), 32);
}
-static DRIVER_INIT( primglex )
+DRIVER_INIT_MEMBER(namcos11_state,primglex)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c411_r),state));
- namcos11_init_common(machine, 32);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c411_r),this));
+ namcos11_init_common(machine(), 32);
}
-static DRIVER_INIT( xevi3dg )
+DRIVER_INIT_MEMBER(namcos11_state,xevi3dg)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c430_r),state));
- namcos11_init_common(machine, 32);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c430_r),this));
+ namcos11_init_common(machine(), 32);
}
-static DRIVER_INIT( danceyes )
+DRIVER_INIT_MEMBER(namcos11_state,danceyes)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c431_r),state));
- namcos11_init_common(machine, 32);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c431_r),this));
+ namcos11_init_common(machine(), 32);
}
-static DRIVER_INIT( pocketrc )
+DRIVER_INIT_MEMBER(namcos11_state,pocketrc)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- machine.device("c76")->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC0_L, read8_delegate(FUNC(namcos11_state::pocketrc_steer_r),state));
- machine.device("c76")->memory().space(AS_IO)->install_read_handler(M37710_ADC1_L, M37710_ADC1_L, read8_delegate(FUNC(namcos11_state::pocketrc_gas_r),state));
+ machine().device("c76")->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC0_L, read8_delegate(FUNC(namcos11_state::pocketrc_steer_r),this));
+ machine().device("c76")->memory().space(AS_IO)->install_read_handler(M37710_ADC1_L, M37710_ADC1_L, read8_delegate(FUNC(namcos11_state::pocketrc_gas_r),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c432_r),state));
- namcos11_init_common(machine, 32);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c432_r),this));
+ namcos11_init_common(machine(), 32);
}
-static DRIVER_INIT( starswep )
+DRIVER_INIT_MEMBER(namcos11_state,starswep)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c442_r),state));
- namcos11_init_common(machine, 0);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c442_r),this));
+ namcos11_init_common(machine(), 0);
}
-static DRIVER_INIT( myangel3 )
+DRIVER_INIT_MEMBER(namcos11_state,myangel3)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c443_r),state));
- namcos11_init_common(machine, 64);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c443_r),this));
+ namcos11_init_common(machine(), 64);
}
-static DRIVER_INIT( ptblank2ua )
+DRIVER_INIT_MEMBER(namcos11_state,ptblank2ua)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c443_r),state));
- namcos11_init_common(machine, 64);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c443_r),this));
+ namcos11_init_common(machine(), 64);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1f788000, 0x1f788003, write32_delegate(FUNC(namcos11_state::lightgun_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler (0x1f780000, 0x1f78000f, read32_delegate(FUNC(namcos11_state::lightgun_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1f788000, 0x1f788003, write32_delegate(FUNC(namcos11_state::lightgun_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler (0x1f780000, 0x1f78000f, read32_delegate(FUNC(namcos11_state::lightgun_r),this));
}
static MACHINE_RESET( namcos11 )
diff --git a/src/mame/drivers/namcos12.c b/src/mame/drivers/namcos12.c
index a70355c2206..72cf4eaa83d 100644
--- a/src/mame/drivers/namcos12.c
+++ b/src/mame/drivers/namcos12.c
@@ -1093,6 +1093,9 @@ public:
DECLARE_WRITE8_MEMBER(s12_mcu_settings_w);
DECLARE_READ8_MEMBER(s12_mcu_gun_h_r);
DECLARE_READ8_MEMBER(s12_mcu_gun_v_r);
+ DECLARE_DRIVER_INIT(namcos12);
+ DECLARE_DRIVER_INIT(ghlpanic);
+ DECLARE_DRIVER_INIT(ptblank2);
};
INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... )
@@ -1621,47 +1624,46 @@ static ADDRESS_MAP_START( s12h8iomap, AS_IO, 8, namcos12_state )
AM_RANGE(H8_ADC_3_H, H8_ADC_3_L) AM_NOP
ADDRESS_MAP_END
-static DRIVER_INIT( namcos12 )
+DRIVER_INIT_MEMBER(namcos12_state,namcos12)
{
- namcos12_state *state = machine.driver_data<namcos12_state>();
- psx_driver_init(machine);
+ psx_driver_init(machine());
- state->membank("bank1")->configure_entries(0, state->memregion( "user2" )->bytes() / 0x200000, state->memregion( "user2" )->base(), 0x200000 );
+ membank("bank1")->configure_entries(0, memregion( "user2" )->bytes() / 0x200000, memregion( "user2" )->base(), 0x200000 );
- state->m_s12_porta = 0;
- state->m_s12_rtcstate = 0;
- state->m_s12_lastpB = 0x50;
- state->m_s12_setstate = 0;
- state->m_s12_setnum = 0;
- memset(state->m_s12_settings, 0, sizeof(state->m_s12_settings));
+ m_s12_porta = 0;
+ m_s12_rtcstate = 0;
+ m_s12_lastpB = 0x50;
+ m_s12_setstate = 0;
+ m_s12_setnum = 0;
+ memset(m_s12_settings, 0, sizeof(m_s12_settings));
- state->m_n_tektagdmaoffset = 0;
- state->m_n_dmaoffset = 0;
- state->m_n_dmabias = 0;
- state->m_n_bankoffset = 0;
- state->membank( "bank1" )->set_entry( 0 );
+ m_n_tektagdmaoffset = 0;
+ m_n_dmaoffset = 0;
+ m_n_dmabias = 0;
+ m_n_bankoffset = 0;
+ membank( "bank1" )->set_entry( 0 );
- state->save_item( NAME(state->m_n_dmaoffset) );
- state->save_item( NAME(state->m_n_dmabias) );
- state->save_item( NAME(state->m_n_bankoffset) );
+ save_item( NAME(m_n_dmaoffset) );
+ save_item( NAME(m_n_dmabias) );
+ save_item( NAME(m_n_bankoffset) );
}
-static DRIVER_INIT( ptblank2 )
+DRIVER_INIT_MEMBER(namcos12_state,ptblank2)
{
DRIVER_INIT_CALL(namcos12);
/* patch out wait for dma 5 to complete */
- *( (UINT32 *)( machine.root_device().memregion( "user1" )->base() + 0x331c4 ) ) = 0;
+ *( (UINT32 *)( machine().root_device().memregion( "user1" )->base() + 0x331c4 ) ) = 0;
- system11gun_install(machine);
+ system11gun_install(machine());
}
-static DRIVER_INIT( ghlpanic )
+DRIVER_INIT_MEMBER(namcos12_state,ghlpanic)
{
DRIVER_INIT_CALL(namcos12);
- system11gun_install(machine);
+ system11gun_install(machine());
}
static MACHINE_CONFIG_START( coh700, namcos12_state )
diff --git a/src/mame/drivers/namcos2.c b/src/mame/drivers/namcos2.c
index 3ffa54d035d..ea3ae16108b 100644
--- a/src/mame/drivers/namcos2.c
+++ b/src/mame/drivers/namcos2.c
@@ -477,6 +477,40 @@ public:
DECLARE_WRITE16_MEMBER(namcos2_68k_dpram_word_w);
DECLARE_READ8_MEMBER(namcos2_dpram_byte_r);
DECLARE_WRITE8_MEMBER(namcos2_dpram_byte_w);
+ DECLARE_DRIVER_INIT(cosmogng);
+ DECLARE_DRIVER_INIT(sgunner2);
+ DECLARE_DRIVER_INIT(kyukaidk);
+ DECLARE_DRIVER_INIT(bubbletr);
+ DECLARE_DRIVER_INIT(suzuk8h2);
+ DECLARE_DRIVER_INIT(burnforc);
+ DECLARE_DRIVER_INIT(gollygho);
+ DECLARE_DRIVER_INIT(rthun2j);
+ DECLARE_DRIVER_INIT(sws);
+ DECLARE_DRIVER_INIT(finehour);
+ DECLARE_DRIVER_INIT(finallap);
+ DECLARE_DRIVER_INIT(dirtfoxj);
+ DECLARE_DRIVER_INIT(marvlanj);
+ DECLARE_DRIVER_INIT(sws92);
+ DECLARE_DRIVER_INIT(dsaber);
+ DECLARE_DRIVER_INIT(assault);
+ DECLARE_DRIVER_INIT(mirninja);
+ DECLARE_DRIVER_INIT(finalap2);
+ DECLARE_DRIVER_INIT(valkyrie);
+ DECLARE_DRIVER_INIT(fourtrax);
+ DECLARE_DRIVER_INIT(finalap3);
+ DECLARE_DRIVER_INIT(luckywld);
+ DECLARE_DRIVER_INIT(assaultj);
+ DECLARE_DRIVER_INIT(dsaberj);
+ DECLARE_DRIVER_INIT(suzuka8h);
+ DECLARE_DRIVER_INIT(phelios);
+ DECLARE_DRIVER_INIT(sws93);
+ DECLARE_DRIVER_INIT(metlhawk);
+ DECLARE_DRIVER_INIT(sws92g);
+ DECLARE_DRIVER_INIT(assaultp_hack);
+ DECLARE_DRIVER_INIT(assaultp);
+ DECLARE_DRIVER_INIT(ordyne);
+ DECLARE_DRIVER_INIT(marvland);
+ DECLARE_DRIVER_INIT(rthun2);
};
static UINT8 *namcos2_dpram; /* 2Kx8 */
@@ -5019,19 +5053,23 @@ ROM_START( luckywldj )
ROM_END
-static DRIVER_INIT( assault ){
+DRIVER_INIT_MEMBER(namcos2_state,assault)
+{
namcos2_gametype=NAMCOS2_ASSAULT;
}
-static DRIVER_INIT( assaultj ){
+DRIVER_INIT_MEMBER(namcos2_state,assaultj)
+{
namcos2_gametype=NAMCOS2_ASSAULT_JP;
}
-static DRIVER_INIT( assaultp ){
+DRIVER_INIT_MEMBER(namcos2_state,assaultp)
+{
namcos2_gametype=NAMCOS2_ASSAULT_PLUS;
}
-static DRIVER_INIT( assaultp_hack ){
+DRIVER_INIT_MEMBER(namcos2_state,assaultp_hack)
+{
// HACK!
// boost the MCU speed to avoid a race condition which causes
// the mode select menu to vanish before you have a chance to use
@@ -5039,68 +5077,81 @@ static DRIVER_INIT( assaultp_hack ){
//
// This is used in conjunction with the interleave increase in the
// MACHINE_DRIVER
- machine.device("mcu")->set_clock_scale(4.0f);
+ machine().device("mcu")->set_clock_scale(4.0f);
- DRIVER_INIT_CALL( assaultp );
+ DRIVER_INIT_CALL(assaultp);
}
-static DRIVER_INIT( burnforc ){
- namcos2_gametype=NAMCOS2_BURNING_FORCE;
+DRIVER_INIT_MEMBER(namcos2_state,burnforc)
+{
+ namcos2_gametype=NAMCOS2_BURNING_FORCE;
}
-static DRIVER_INIT( cosmogng ){
+DRIVER_INIT_MEMBER(namcos2_state,cosmogng)
+{
namcos2_gametype=NAMCOS2_COSMO_GANG;
}
-static DRIVER_INIT( dsaber ){
+DRIVER_INIT_MEMBER(namcos2_state,dsaber)
+{
namcos2_gametype=NAMCOS2_DRAGON_SABER;
}
-static DRIVER_INIT( dsaberj ){
+DRIVER_INIT_MEMBER(namcos2_state,dsaberj)
+{
namcos2_gametype=NAMCOS2_DRAGON_SABER;
}
-static DRIVER_INIT( dirtfoxj ){
+DRIVER_INIT_MEMBER(namcos2_state,dirtfoxj)
+{
namcos2_gametype=NAMCOS2_DIRT_FOX_JP;
}
-static DRIVER_INIT( finallap ){
+DRIVER_INIT_MEMBER(namcos2_state,finallap)
+{
namcos2_gametype=NAMCOS2_FINAL_LAP;
}
-static DRIVER_INIT( finalap2 ){
+DRIVER_INIT_MEMBER(namcos2_state,finalap2)
+{
namcos2_gametype=NAMCOS2_FINAL_LAP_2;
}
-static DRIVER_INIT( finalap3 ){
+DRIVER_INIT_MEMBER(namcos2_state,finalap3)
+{
namcos2_gametype=NAMCOS2_FINAL_LAP_3;
}
-static DRIVER_INIT( finehour ){
+DRIVER_INIT_MEMBER(namcos2_state,finehour)
+{
namcos2_gametype=NAMCOS2_FINEST_HOUR;
}
-static DRIVER_INIT( fourtrax ){
+DRIVER_INIT_MEMBER(namcos2_state,fourtrax)
+{
namcos2_gametype=NAMCOS2_FOUR_TRAX;
}
-static DRIVER_INIT( kyukaidk ){
+DRIVER_INIT_MEMBER(namcos2_state,kyukaidk)
+{
namcos2_gametype=NAMCOS2_KYUUKAI_DOUCHUUKI;
}
-static DRIVER_INIT( marvlanj ){
+DRIVER_INIT_MEMBER(namcos2_state,marvlanj)
+{
namcos2_gametype=NAMCOS2_MARVEL_LAND;
}
-static DRIVER_INIT( marvland ){
+DRIVER_INIT_MEMBER(namcos2_state,marvland)
+{
namcos2_gametype=NAMCOS2_MARVEL_LAND;
}
-static DRIVER_INIT( metlhawk )
+DRIVER_INIT_MEMBER(namcos2_state,metlhawk)
{
/* unscramble sprites */
int i, j, k, l;
- UINT8 *data = machine.root_device().memregion("gfx1")->base();
+ UINT8 *data = machine().root_device().memregion("gfx1")->base();
for(i=0; i<0x200000; i+=32*32)
{
for(j=0; j<32*32; j+=32*4)
@@ -5154,70 +5205,86 @@ static DRIVER_INIT( metlhawk )
namcos2_gametype=NAMCOS2_METAL_HAWK;
} /* metlhawk */
-static DRIVER_INIT( mirninja ){
+DRIVER_INIT_MEMBER(namcos2_state,mirninja)
+{
namcos2_gametype=NAMCOS2_MIRAI_NINJA;
}
-static DRIVER_INIT( ordyne ){
+DRIVER_INIT_MEMBER(namcos2_state,ordyne)
+{
namcos2_gametype=NAMCOS2_ORDYNE;
}
-static DRIVER_INIT( phelios ){
+DRIVER_INIT_MEMBER(namcos2_state,phelios)
+{
namcos2_gametype=NAMCOS2_PHELIOS;
}
-static DRIVER_INIT( rthun2 ){
+DRIVER_INIT_MEMBER(namcos2_state,rthun2)
+{
namcos2_gametype=NAMCOS2_ROLLING_THUNDER_2;
}
-static DRIVER_INIT( rthun2j ){
+DRIVER_INIT_MEMBER(namcos2_state,rthun2j)
+{
namcos2_gametype=NAMCOS2_ROLLING_THUNDER_2;
}
-static DRIVER_INIT( sgunner2 ){
+DRIVER_INIT_MEMBER(namcos2_state,sgunner2)
+{
namcos2_gametype=NAMCOS2_STEEL_GUNNER_2;
}
-static DRIVER_INIT( sws ){
+DRIVER_INIT_MEMBER(namcos2_state,sws)
+{
namcos2_gametype=NAMCOS2_SUPER_WSTADIUM;
}
-static DRIVER_INIT( sws92 ){
+DRIVER_INIT_MEMBER(namcos2_state,sws92)
+{
namcos2_gametype=NAMCOS2_SUPER_WSTADIUM_92;
}
-static DRIVER_INIT( sws92g ){
+DRIVER_INIT_MEMBER(namcos2_state,sws92g)
+{
namcos2_gametype=NAMCOS2_SUPER_WSTADIUM_92T;
}
-static DRIVER_INIT( sws93 ){
+DRIVER_INIT_MEMBER(namcos2_state,sws93)
+{
namcos2_gametype=NAMCOS2_SUPER_WSTADIUM_93;
}
-static DRIVER_INIT( suzuka8h ){
- namcos2_gametype=NAMCOS2_SUZUKA_8_HOURS;
+DRIVER_INIT_MEMBER(namcos2_state,suzuka8h)
+{
+ namcos2_gametype=NAMCOS2_SUZUKA_8_HOURS;
}
-static DRIVER_INIT( suzuk8h2 ){
+DRIVER_INIT_MEMBER(namcos2_state,suzuk8h2)
+{
namcos2_gametype=NAMCOS2_SUZUKA_8_HOURS_2;
}
-static DRIVER_INIT( valkyrie ){
+DRIVER_INIT_MEMBER(namcos2_state,valkyrie)
+{
namcos2_gametype=NAMCOS2_VALKYRIE;
}
-static DRIVER_INIT( gollygho ){
+DRIVER_INIT_MEMBER(namcos2_state,gollygho)
+{
namcos2_gametype=NAMCOS2_GOLLY_GHOST;
}
-static DRIVER_INIT( bubbletr ){
+DRIVER_INIT_MEMBER(namcos2_state,bubbletr)
+{
namcos2_gametype=NAMCOS2_BUBBLE_TROUBLE;
}
-static DRIVER_INIT( luckywld ){
- UINT8 *pData = (UINT8 *)machine.root_device().memregion( "gfx5" )->base();
+DRIVER_INIT_MEMBER(namcos2_state,luckywld)
+{
+ UINT8 *pData = (UINT8 *)machine().root_device().memregion( "gfx5" )->base();
int i;
for( i=0; i<32*0x4000; i++ )
{ /* unscramble gfx mask */
diff --git a/src/mame/drivers/namcos21.c b/src/mame/drivers/namcos21.c
index d5337c90fe2..243e06c5437 100644
--- a/src/mame/drivers/namcos21.c
+++ b/src/mame/drivers/namcos21.c
@@ -2228,63 +2228,61 @@ static void namcos21_init( running_machine &machine, int game_type )
}
} /* namcos21_init */
-static DRIVER_INIT( winrun )
+DRIVER_INIT_MEMBER(namcos21_state,winrun)
{
- namcos21_state *state = machine.driver_data<namcos21_state>();
- UINT16 *pMem = (UINT16 *)state->memregion("dsp")->base();
+ UINT16 *pMem = (UINT16 *)memregion("dsp")->base();
int pc = 0;
pMem[pc++] = 0xff80; /* b */
pMem[pc++] = 0;
- state->m_winrun_dspcomram = auto_alloc_array(machine, UINT16, 0x1000*2);
+ m_winrun_dspcomram = auto_alloc_array(machine(), UINT16, 0x1000*2);
namcos2_gametype = NAMCOS21_WINRUN91;
- state->m_mpDataROM = (UINT16 *)state->memregion( "user1" )->base();
- state->m_pointram = auto_alloc_array(machine, UINT8, PTRAM_SIZE);
- state->m_pointram_idx = 0;
- state->m_mbNeedsKickstart = 0;
+ m_mpDataROM = (UINT16 *)memregion( "user1" )->base();
+ m_pointram = auto_alloc_array(machine(), UINT8, PTRAM_SIZE);
+ m_pointram_idx = 0;
+ m_mbNeedsKickstart = 0;
}
-static DRIVER_INIT( aircomb )
+DRIVER_INIT_MEMBER(namcos21_state,aircomb)
{
- namcos21_init( machine, NAMCOS21_AIRCOMBAT );
+ namcos21_init( machine(), NAMCOS21_AIRCOMBAT );
}
-static DRIVER_INIT( starblad )
+DRIVER_INIT_MEMBER(namcos21_state,starblad)
{
- namcos21_init( machine, NAMCOS21_STARBLADE );
+ namcos21_init( machine(), NAMCOS21_STARBLADE );
}
-static DRIVER_INIT( cybsled )
+DRIVER_INIT_MEMBER(namcos21_state,cybsled)
{
- namcos21_init( machine, NAMCOS21_CYBERSLED );
+ namcos21_init( machine(), NAMCOS21_CYBERSLED );
}
-static DRIVER_INIT( solvalou )
+DRIVER_INIT_MEMBER(namcos21_state,solvalou)
{
- UINT16 *mem = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *mem = (UINT16 *)machine().root_device().memregion("maincpu")->base();
mem[0x20ce4/2+1] = 0x0000; // $200128
mem[0x20cf4/2+0] = 0x4e71; // 2nd ptr_booting
mem[0x20cf4/2+1] = 0x4e71;
mem[0x20cf4/2+2] = 0x4e71;
- namcos21_init( machine, NAMCOS21_SOLVALOU );
+ namcos21_init( machine(), NAMCOS21_SOLVALOU );
}
-static DRIVER_INIT( driveyes )
+DRIVER_INIT_MEMBER(namcos21_state,driveyes)
{
- namcos21_state *state = machine.driver_data<namcos21_state>();
- UINT16 *pMem = (UINT16 *)state->memregion("dsp")->base();
+ UINT16 *pMem = (UINT16 *)memregion("dsp")->base();
int pc = 0;
pMem[pc++] = 0xff80; /* b */
pMem[pc++] = 0;
- state->m_winrun_dspcomram = auto_alloc_array(machine, UINT16, 0x1000*2);
+ m_winrun_dspcomram = auto_alloc_array(machine(), UINT16, 0x1000*2);
namcos2_gametype = NAMCOS21_DRIVERS_EYES;
- state->m_mpDataROM = (UINT16 *)state->memregion( "user1" )->base();
- state->m_pointram = auto_alloc_array(machine, UINT8, PTRAM_SIZE);
- state->m_pointram_idx = 0;
- state->m_mbNeedsKickstart = 0;
+ m_mpDataROM = (UINT16 *)memregion( "user1" )->base();
+ m_pointram = auto_alloc_array(machine(), UINT8, PTRAM_SIZE);
+ m_pointram_idx = 0;
+ m_mbNeedsKickstart = 0;
}
/*************************************************************/
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index 6ce67edf3f3..5d631971291 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -5495,50 +5495,46 @@ static void alpine_init_common( running_machine &machine, int game_type )
state->m_motor_status = 2;
}
-static DRIVER_INIT( alpiner )
+DRIVER_INIT_MEMBER(namcos22_state,alpiner)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- alpine_init_common(machine, NAMCOS22_ALPINE_RACER);
+ alpine_init_common(machine(), NAMCOS22_ALPINE_RACER);
- install_130_speedup(machine);
+ install_130_speedup(machine());
- state->m_keycus_id = 0x0187;
+ m_keycus_id = 0x0187;
}
-static DRIVER_INIT( alpiner2 )
+DRIVER_INIT_MEMBER(namcos22_state,alpiner2)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- alpine_init_common(machine, NAMCOS22_ALPINE_RACER_2);
+ alpine_init_common(machine(), NAMCOS22_ALPINE_RACER_2);
- install_130_speedup(machine);
+ install_130_speedup(machine());
- state->m_keycus_id = 0x0187;
+ m_keycus_id = 0x0187;
}
-static DRIVER_INIT( alpinesa )
+DRIVER_INIT_MEMBER(namcos22_state,alpinesa)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- alpine_init_common(machine, NAMCOS22_ALPINE_SURFER);
+ alpine_init_common(machine(), NAMCOS22_ALPINE_SURFER);
- state->m_maincpu->memory().space(AS_PROGRAM)->install_read_handler (0x200000, 0x200003, read32_delegate(FUNC(namcos22_state::alpinesa_prot_r),state));
- state->m_maincpu->memory().space(AS_PROGRAM)->install_write_handler(0x300000, 0x300003, write32_delegate(FUNC(namcos22_state::alpinesa_prot_w),state));
- install_141_speedup(machine);
+ m_maincpu->memory().space(AS_PROGRAM)->install_read_handler (0x200000, 0x200003, read32_delegate(FUNC(namcos22_state::alpinesa_prot_r),this));
+ m_maincpu->memory().space(AS_PROGRAM)->install_write_handler(0x300000, 0x300003, write32_delegate(FUNC(namcos22_state::alpinesa_prot_w),this));
+ install_141_speedup(machine());
- state->m_keycus_id = 0x01a9;
+ m_keycus_id = 0x01a9;
}
-static DRIVER_INIT( airco22 )
+DRIVER_INIT_MEMBER(namcos22_state,airco22)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- namcos22_init(machine, NAMCOS22_AIR_COMBAT22);
+ namcos22_init(machine(), NAMCOS22_AIR_COMBAT22);
// S22-BIOS ver1.20 namco all rights reserved 94/12/21
- state->m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::airco22_mcu_adc_r),state));
+ m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::airco22_mcu_adc_r),this));
}
-static DRIVER_INIT( propcycl )
+DRIVER_INIT_MEMBER(namcos22_state,propcycl)
{
- UINT32 *pROM = (UINT32 *)machine.root_device().memregion("maincpu")->base();
+ UINT32 *pROM = (UINT32 *)machine().root_device().memregion("maincpu")->base();
/* patch out strange routine (uninitialized-eprom related?) */
pROM[0x1992C/4] = 0x4E754E75;
@@ -5555,116 +5551,106 @@ static DRIVER_INIT( propcycl )
// pROM[0x22296/4] &= 0xffff0000;
// pROM[0x22296/4] |= 0x00004e75;
- namcos22_init(machine, NAMCOS22_PROP_CYCLE);
- namcos22_state *state = machine.driver_data<namcos22_state>();
- state->m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::propcycle_mcu_adc_r),state));
- state->m_mcu->memory().space(AS_IO)->install_write_handler(M37710_PORT5, M37710_PORT5, write8_delegate(FUNC(namcos22_state::propcycle_mcu_port5_w),state));
- install_141_speedup(machine);
+ namcos22_init(machine(), NAMCOS22_PROP_CYCLE);
+ m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::propcycle_mcu_adc_r),this));
+ m_mcu->memory().space(AS_IO)->install_write_handler(M37710_PORT5, M37710_PORT5, write8_delegate(FUNC(namcos22_state::propcycle_mcu_port5_w),this));
+ install_141_speedup(machine());
}
-static DRIVER_INIT( ridgeraj )
+DRIVER_INIT_MEMBER(namcos22_state,ridgeraj)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- namcos22_init(machine, NAMCOS22_RIDGE_RACER);
+ namcos22_init(machine(), NAMCOS22_RIDGE_RACER);
- install_c74_speedup(machine);
+ install_c74_speedup(machine());
- state->m_keycus_id = 0x0172;
+ m_keycus_id = 0x0172;
}
-static DRIVER_INIT( ridger2j )
+DRIVER_INIT_MEMBER(namcos22_state,ridger2j)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- namcos22_init(machine, NAMCOS22_RIDGE_RACER2);
+ namcos22_init(machine(), NAMCOS22_RIDGE_RACER2);
- install_c74_speedup(machine);
+ install_c74_speedup(machine());
- state->m_keycus_id = 0x0172;
+ m_keycus_id = 0x0172;
}
-static DRIVER_INIT( acedrvr )
+DRIVER_INIT_MEMBER(namcos22_state,acedrvr)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- namcos22_init(machine, NAMCOS22_ACE_DRIVER);
+ namcos22_init(machine(), NAMCOS22_ACE_DRIVER);
- install_c74_speedup(machine);
+ install_c74_speedup(machine());
- state->m_keycus_id = 0x0173;
+ m_keycus_id = 0x0173;
}
-static DRIVER_INIT( victlap )
+DRIVER_INIT_MEMBER(namcos22_state,victlap)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- namcos22_init(machine, NAMCOS22_VICTORY_LAP);
+ namcos22_init(machine(), NAMCOS22_VICTORY_LAP);
- install_c74_speedup(machine);
+ install_c74_speedup(machine());
- state->m_keycus_id = 0x0188;
+ m_keycus_id = 0x0188;
}
-static DRIVER_INIT( raveracw )
+DRIVER_INIT_MEMBER(namcos22_state,raveracw)
{
- namcos22_init(machine, NAMCOS22_RAVE_RACER);
+ namcos22_init(machine(), NAMCOS22_RAVE_RACER);
- install_c74_speedup(machine);
+ install_c74_speedup(machine());
}
-static DRIVER_INIT( cybrcomm )
+DRIVER_INIT_MEMBER(namcos22_state,cybrcomm)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- namcos22_init(machine, NAMCOS22_CYBER_COMMANDO);
+ namcos22_init(machine(), NAMCOS22_CYBER_COMMANDO);
- install_c74_speedup(machine);
+ install_c74_speedup(machine());
- state->m_keycus_id = 0x0185;
+ m_keycus_id = 0x0185;
}
-static DRIVER_INIT( cybrcyc )
+DRIVER_INIT_MEMBER(namcos22_state,cybrcyc)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- namcos22_init(machine, NAMCOS22_CYBER_CYCLES);
+ namcos22_init(machine(), NAMCOS22_CYBER_CYCLES);
- state->m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::cybrcycc_mcu_adc_r),state));
- install_130_speedup(machine);
+ m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::cybrcycc_mcu_adc_r),this));
+ install_130_speedup(machine());
- state->m_keycus_id = 0x0387;
+ m_keycus_id = 0x0387;
}
-static DRIVER_INIT( timecris )
+DRIVER_INIT_MEMBER(namcos22_state,timecris)
{
- namcos22_init(machine, NAMCOS22_TIME_CRISIS);
+ namcos22_init(machine(), NAMCOS22_TIME_CRISIS);
- install_130_speedup(machine);
+ install_130_speedup(machine());
}
-static DRIVER_INIT( tokyowar )
+DRIVER_INIT_MEMBER(namcos22_state,tokyowar)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- namcos22_init(machine, NAMCOS22_TOKYO_WARS);
+ namcos22_init(machine(), NAMCOS22_TOKYO_WARS);
- state->m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::tokyowar_mcu_adc_r),state));
- install_141_speedup(machine);
+ m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::tokyowar_mcu_adc_r),this));
+ install_141_speedup(machine());
- state->m_keycus_id = 0x01a8;
+ m_keycus_id = 0x01a8;
}
-static DRIVER_INIT( aquajet )
+DRIVER_INIT_MEMBER(namcos22_state,aquajet)
{
- namcos22_init(machine, NAMCOS22_AQUA_JET);
- namcos22_state *state = machine.driver_data<namcos22_state>();
- state->m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::aquajet_mcu_adc_r),state));
- install_141_speedup(machine);
+ namcos22_init(machine(), NAMCOS22_AQUA_JET);
+ m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::aquajet_mcu_adc_r),this));
+ install_141_speedup(machine());
}
-static DRIVER_INIT( dirtdash )
+DRIVER_INIT_MEMBER(namcos22_state,dirtdash)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- namcos22_init(machine, NAMCOS22_DIRT_DASH);
+ namcos22_init(machine(), NAMCOS22_DIRT_DASH);
- state->m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::cybrcycc_mcu_adc_r),state));
- install_141_speedup(machine);
+ m_mcu->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC7_H, read8_delegate(FUNC(namcos22_state::cybrcycc_mcu_adc_r),this));
+ install_141_speedup(machine());
- state->m_keycus_id = 0x01a2;
+ m_keycus_id = 0x01a2;
}
/************************************************************************************/
diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c
index 59701cf96f8..4e0a4cf1bac 100644
--- a/src/mame/drivers/namcos23.c
+++ b/src/mame/drivers/namcos23.c
@@ -1429,6 +1429,7 @@ public:
DECLARE_WRITE8_MEMBER(s23_iob_p4_w);
DECLARE_READ8_MEMBER(s23_gun_r);
DECLARE_READ8_MEMBER(iob_r);
+ DECLARE_DRIVER_INIT(ss23);
};
@@ -3066,54 +3067,53 @@ static ADDRESS_MAP_START( s23iobrdiomap, AS_IO, 8, namcos23_state )
AM_RANGE(H8_ADC_0_H, H8_ADC_3_L) AM_NOP
ADDRESS_MAP_END
-static DRIVER_INIT(ss23)
+DRIVER_INIT_MEMBER(namcos23_state,ss23)
{
- namcos23_state *state = machine.driver_data<namcos23_state>();
- render_t &render = state->m_render;
- state->m_ptrom = (const UINT32 *)state->memregion("pointrom")->base();
- state->m_tmlrom = (const UINT16 *)state->memregion("textilemapl")->base();
- state->m_tmhrom = state->memregion("textilemaph")->base();
- state->m_texrom = state->memregion("textile")->base();
-
- state->m_tileid_mask = (state->memregion("textilemapl")->bytes()/2 - 1) & ~0xff; // Used for y masking
- state->m_tile_mask = state->memregion("textile")->bytes()/256 - 1;
- state->m_ptrom_limit = state->memregion("pointrom")->bytes()/4;
-
- state->m_mi_rd = state->m_mi_wr = state->m_im_rd = state->m_im_wr = 0;
- state->m_jvssense = 1;
- state->m_ctl_vbl_active = false;
- state->m_s23_lastpB = 0x50;
- state->m_s23_setstate = 0;
- state->m_s23_setnum = 0;
- memset(state->m_s23_settings, 0, sizeof(state->m_s23_settings));
- state->m_s23_tssio_port_4 = 0;
- state->m_s23_porta = 0, state->m_s23_rtcstate = 0;
- state->m_s23_subcpu_running = 1;
+ render_t &render = m_render;
+ m_ptrom = (const UINT32 *)memregion("pointrom")->base();
+ m_tmlrom = (const UINT16 *)memregion("textilemapl")->base();
+ m_tmhrom = memregion("textilemaph")->base();
+ m_texrom = memregion("textile")->base();
+
+ m_tileid_mask = (memregion("textilemapl")->bytes()/2 - 1) & ~0xff; // Used for y masking
+ m_tile_mask = memregion("textile")->bytes()/256 - 1;
+ m_ptrom_limit = memregion("pointrom")->bytes()/4;
+
+ m_mi_rd = m_mi_wr = m_im_rd = m_im_wr = 0;
+ m_jvssense = 1;
+ m_ctl_vbl_active = false;
+ m_s23_lastpB = 0x50;
+ m_s23_setstate = 0;
+ m_s23_setnum = 0;
+ memset(m_s23_settings, 0, sizeof(m_s23_settings));
+ m_s23_tssio_port_4 = 0;
+ m_s23_porta = 0, m_s23_rtcstate = 0;
+ m_s23_subcpu_running = 1;
render.count[0] = render.count[1] = 0;
render.cur = 0;
- if ((!strcmp(machine.system().name, "motoxgo")) ||
- (!strcmp(machine.system().name, "panicprk")) ||
- (!strcmp(machine.system().name, "rapidrvr")) ||
- (!strcmp(machine.system().name, "rapidrvr2")) ||
- (!strcmp(machine.system().name, "finlflng")) ||
- (!strcmp(machine.system().name, "gunwars")) ||
- (!strcmp(machine.system().name, "downhill")) ||
- (!strcmp(machine.system().name, "finfurl2")) ||
- (!strcmp(machine.system().name, "finfurl2j")) ||
- (!strcmp(machine.system().name, "raceon")) ||
- (!strcmp(machine.system().name, "crszone")) ||
- (!strcmp(machine.system().name, "crszonea")) ||
- (!strcmp(machine.system().name, "crszoneb")) ||
- (!strcmp(machine.system().name, "crszonec")) ||
- (!strcmp(machine.system().name, "timecrs2b")) ||
- (!strcmp(machine.system().name, "timecrs2")))
+ if ((!strcmp(machine().system().name, "motoxgo")) ||
+ (!strcmp(machine().system().name, "panicprk")) ||
+ (!strcmp(machine().system().name, "rapidrvr")) ||
+ (!strcmp(machine().system().name, "rapidrvr2")) ||
+ (!strcmp(machine().system().name, "finlflng")) ||
+ (!strcmp(machine().system().name, "gunwars")) ||
+ (!strcmp(machine().system().name, "downhill")) ||
+ (!strcmp(machine().system().name, "finfurl2")) ||
+ (!strcmp(machine().system().name, "finfurl2j")) ||
+ (!strcmp(machine().system().name, "raceon")) ||
+ (!strcmp(machine().system().name, "crszone")) ||
+ (!strcmp(machine().system().name, "crszonea")) ||
+ (!strcmp(machine().system().name, "crszoneb")) ||
+ (!strcmp(machine().system().name, "crszonec")) ||
+ (!strcmp(machine().system().name, "timecrs2b")) ||
+ (!strcmp(machine().system().name, "timecrs2")))
{
- state->m_has_jvsio = 1;
+ m_has_jvsio = 1;
}
else
{
- state->m_has_jvsio = 0;
+ m_has_jvsio = 0;
}
}
diff --git a/src/mame/drivers/namcos86.c b/src/mame/drivers/namcos86.c
index 1bf1ea9a4c4..19a593a2e3f 100644
--- a/src/mame/drivers/namcos86.c
+++ b/src/mame/drivers/namcos86.c
@@ -1464,16 +1464,16 @@ ROM_END
-static DRIVER_INIT( namco86 )
+DRIVER_INIT_MEMBER(namcos86_state,namco86)
{
int size;
UINT8 *gfx;
UINT8 *buffer;
/* shuffle tile ROMs so regular gfx unpack routines can be used */
- gfx = machine.root_device().memregion("gfx1")->base();
- size = machine.root_device().memregion("gfx1")->bytes() * 2 / 3;
- buffer = auto_alloc_array(machine, UINT8, size );
+ gfx = machine().root_device().memregion("gfx1")->base();
+ size = machine().root_device().memregion("gfx1")->bytes() * 2 / 3;
+ buffer = auto_alloc_array(machine(), UINT8, size );
{
UINT8 *dest1 = gfx;
@@ -1493,12 +1493,12 @@ static DRIVER_INIT( namco86 )
*mono ^= 0xff; mono++;
}
- auto_free( machine, buffer );
+ auto_free( machine(), buffer );
}
- gfx = machine.root_device().memregion("gfx2")->base();
- size = machine.root_device().memregion("gfx2")->bytes() * 2 / 3;
- buffer = auto_alloc_array(machine, UINT8, size );
+ gfx = machine().root_device().memregion("gfx2")->base();
+ size = machine().root_device().memregion("gfx2")->bytes() * 2 / 3;
+ buffer = auto_alloc_array(machine(), UINT8, size );
{
UINT8 *dest1 = gfx;
@@ -1518,7 +1518,7 @@ static DRIVER_INIT( namco86 )
*mono ^= 0xff; mono++;
}
- auto_free( machine, buffer );
+ auto_free( machine(), buffer );
}
}
diff --git a/src/mame/drivers/naomi.c b/src/mame/drivers/naomi.c
index d1cecd4ed0d..faf6c5e03d9 100644
--- a/src/mame/drivers/naomi.c
+++ b/src/mame/drivers/naomi.c
@@ -7429,14 +7429,14 @@ ROM_END
*
*********************************************/
-static DRIVER_INIT( atomiswave )
+DRIVER_INIT_MEMBER(dc_state,atomiswave)
{
- UINT64 *ROM = (UINT64 *)machine.root_device().memregion("awflash")->base();
+ UINT64 *ROM = (UINT64 *)machine().root_device().memregion("awflash")->base();
// patch out long startup delay
ROM[0x98e/8] = (ROM[0x98e/8] & U64(0xffffffffffff)) | (UINT64)0x0009<<48;
- awflash = machine.device<macronix_29l001mc_device>("awflash");
+ awflash = machine().device<macronix_29l001mc_device>("awflash");
}
ROM_START( fotns )
@@ -7858,20 +7858,20 @@ ROM_END
/* Main board and game specific BIOS */
/* Naomi */ GAME( 1998, naomi, 0, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Naomi Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
-/* game */ GAME( 1998, hod2bios, 0, naomi, naomi, dc_state, 0, ROT0, "Sega", "Naomi House of the Dead 2 Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
-/* game */ GAME( 1999, f355bios, 0, naomi, naomi, dc_state, 0, ROT0, "Sega", "Naomi Ferrari F355 Challenge Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
-/* game */ GAME( 1999, airlbios, 0, naomi, naomi, dc_state, 0, ROT0, "Sega", "Naomi Airline Pilots Deluxe Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
-/* Naomi2*/ GAME( 2001, naomi2, 0, naomi, naomi, dc_state, 0, ROT0, "Sega", "Naomi 2 Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
+/* game */ GAME( 1998, hod2bios, 0, naomi, naomi, driver_device, 0, ROT0, "Sega", "Naomi House of the Dead 2 Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
+/* game */ GAME( 1999, f355bios, 0, naomi, naomi, driver_device, 0, ROT0, "Sega", "Naomi Ferrari F355 Challenge Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
+/* game */ GAME( 1999, airlbios, 0, naomi, naomi, driver_device, 0, ROT0, "Sega", "Naomi Airline Pilots Deluxe Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
+/* Naomi2*/ GAME( 2001, naomi2, 0, naomi, naomi, driver_device, 0, ROT0, "Sega", "Naomi 2 Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
/* GDROM */ GAME( 2001, naomigd, 0, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Naomi GD-ROM Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
/* 834-xxxxx (Sega Naomi cart with game specific BIOS sets) */
/* 13636 */ GAME( 1998, hotd2, hod2bios, naomi, hotd2, dc_state, hotd2, ROT0, "Sega", "House of the Dead 2", GAME_FLAGS ) /* specific BIOS "hod2bios" needed */
/* 13636 */ GAME( 1998, hotd2o, hotd2, naomi, hotd2, dc_state, hotd2, ROT0, "Sega", "House of the Dead 2 (original)", GAME_FLAGS ) /* specific BIOS "hod2bios" needed */
/* 13636 */ GAME( 1998, hotd2p, hotd2, naomi, hotd2, dc_state, hotd2, ROT0, "Sega", "House of the Dead 2 (prototype)", GAME_FLAGS ) /* specific BIOS "hod2bios" needed */
-/* 13842 */ GAME( 1999, f355, f355bios, naomi, naomi, dc_state, 0, ROT0, "Sega", "Ferrari F355 Challenge", GAME_FLAGS ) /* specific BIOS "f355bios" needed */
-/* 13950 */ GAME( 1999, f355twin, f355bios, naomim2, naomi, dc_state, 0, ROT0, "Sega", "Ferrari F355 Challenge (Twin)", GAME_FLAGS ) /* specific BIOS "f355bios" needed */
-/* ????? */ GAME( 2001, f355twn2, f355bios, naomim2, naomi, dc_state, 0, ROT0, "Sega", "Ferrari F355 Challenge 2 (Twin)", GAME_FLAGS ) /* specific BIOS "f355bios" needed */
-/* ????? */ GAME( 1999, alpiltdx, airlbios, naomim2, naomi, dc_state, 0, ROT0, "Sega", "Airline Pilots Deluxe (Rev B)", GAME_FLAGS ) /* specific BIOS "airlbios" needed */
+/* 13842 */ GAME( 1999, f355, f355bios, naomi, naomi, driver_device, 0, ROT0, "Sega", "Ferrari F355 Challenge", GAME_FLAGS ) /* specific BIOS "f355bios" needed */
+/* 13950 */ GAME( 1999, f355twin, f355bios, naomim2, naomi, driver_device, 0, ROT0, "Sega", "Ferrari F355 Challenge (Twin)", GAME_FLAGS ) /* specific BIOS "f355bios" needed */
+/* ????? */ GAME( 2001, f355twn2, f355bios, naomim2, naomi, driver_device, 0, ROT0, "Sega", "Ferrari F355 Challenge 2 (Twin)", GAME_FLAGS ) /* specific BIOS "f355bios" needed */
+/* ????? */ GAME( 1999, alpiltdx, airlbios, naomim2, naomi, driver_device, 0, ROT0, "Sega", "Airline Pilots Deluxe (Rev B)", GAME_FLAGS ) /* specific BIOS "airlbios" needed */
/* 840-xxxxx (Sega Naomi cart games)*/
/* 0001 */ GAME( 1998, dybbnao, naomi, naomi, dybbnao, dc_state, naomi, ROT0, "Sega", "Dynamite Baseball NAOMI (JPN)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
diff --git a/src/mame/drivers/naughtyb.c b/src/mame/drivers/naughtyb.c
index 451d3238c5b..6112000d61e 100644
--- a/src/mame/drivers/naughtyb.c
+++ b/src/mame/drivers/naughtyb.c
@@ -833,14 +833,13 @@ ROM_START( trvgns )
ROM_END
-static DRIVER_INIT( popflame )
+DRIVER_INIT_MEMBER(naughtyb_state,popflame)
{
/* install a handler to catch protection checks */
- naughtyb_state *state = machine.driver_data<naughtyb_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x9000, 0x9000, read8_delegate(FUNC(naughtyb_state::popflame_protection_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x9090, 0x9090, read8_delegate(FUNC(naughtyb_state::popflame_protection_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x9000, 0x9000, read8_delegate(FUNC(naughtyb_state::popflame_protection_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x9090, 0x9090, read8_delegate(FUNC(naughtyb_state::popflame_protection_r),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb000, 0xb0ff, write8_delegate(FUNC(naughtyb_state::popflame_protection_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb000, 0xb0ff, write8_delegate(FUNC(naughtyb_state::popflame_protection_w),this));
}
@@ -865,21 +864,20 @@ WRITE8_MEMBER(naughtyb_state::trvmstr_questions_w)
}
}
-static DRIVER_INIT( trvmstr )
+DRIVER_INIT_MEMBER(naughtyb_state,trvmstr)
{
/* install questions' handlers */
- naughtyb_state *state = machine.driver_data<naughtyb_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc000, 0xc002, read8_delegate(FUNC(naughtyb_state::trvmstr_questions_r),state), write8_delegate(FUNC(naughtyb_state::trvmstr_questions_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc000, 0xc002, read8_delegate(FUNC(naughtyb_state::trvmstr_questions_r),this), write8_delegate(FUNC(naughtyb_state::trvmstr_questions_w),this));
}
-GAME( 1982, naughtyb, 0, naughtyb, naughtyb, naughtyb_state, 0, ROT90, "Jaleco", "Naughty Boy", 0 )
-GAME( 1982, naughtyba,naughtyb, naughtyb, naughtyb, naughtyb_state, 0, ROT90, "bootleg", "Naughty Boy (bootleg)", 0 )
-GAME( 1982, naughtybc,naughtyb, naughtyb, naughtyb, naughtyb_state, 0, ROT90, "Jaleco (Cinematronics license)", "Naughty Boy (Cinematronics)", 0 )
+GAME( 1982, naughtyb, 0, naughtyb, naughtyb, driver_device, 0, ROT90, "Jaleco", "Naughty Boy", 0 )
+GAME( 1982, naughtyba,naughtyb, naughtyb, naughtyb, driver_device, 0, ROT90, "bootleg", "Naughty Boy (bootleg)", 0 )
+GAME( 1982, naughtybc,naughtyb, naughtyb, naughtyb, driver_device, 0, ROT90, "Jaleco (Cinematronics license)", "Naughty Boy (Cinematronics)", 0 )
GAME( 1982, popflame, 0, popflame, naughtyb, naughtyb_state, popflame, ROT90, "Jaleco", "Pop Flamer (protected)", 0 )
-GAME( 1982, popflamea,popflame, popflame, naughtyb, naughtyb_state, 0, ROT90, "Jaleco", "Pop Flamer (not protected)", 0 )
-GAME( 1982, popflameb,popflame, popflame, naughtyb, naughtyb_state, 0, ROT90, "Jaleco", "Pop Flamer (hack?)", 0 )
-GAME( 1982, popflamen,popflame, naughtyb, naughtyb, naughtyb_state, 0, ROT90, "Jaleco", "Pop Flamer (bootleg on Naughty Boy PCB)", 0 )
+GAME( 1982, popflamea,popflame, popflame, naughtyb, driver_device, 0, ROT90, "Jaleco", "Pop Flamer (not protected)", 0 )
+GAME( 1982, popflameb,popflame, popflame, naughtyb, driver_device, 0, ROT90, "Jaleco", "Pop Flamer (hack?)", 0 )
+GAME( 1982, popflamen,popflame, naughtyb, naughtyb, driver_device, 0, ROT90, "Jaleco", "Pop Flamer (bootleg on Naughty Boy PCB)", 0 )
GAME( 1985, trvmstr, 0, naughtyb, trvmstr, naughtyb_state, trvmstr, ROT90, "Enerdyne Technologies Inc.", "Trivia Master (set 1)", 0 )
GAME( 1985, trvmstra, trvmstr, naughtyb, trvmstr, naughtyb_state, trvmstr, ROT90, "Enerdyne Technologies Inc.", "Trivia Master (set 2)", 0 )
GAME( 1985, trvmstrb, trvmstr, naughtyb, trvmstr, naughtyb_state, trvmstr, ROT90, "Enerdyne Technologies Inc.", "Trivia Master (set 3)", 0 )
diff --git a/src/mame/drivers/nbmj8688.c b/src/mame/drivers/nbmj8688.c
index a7f0ba47c51..8489c20ae0e 100644
--- a/src/mame/drivers/nbmj8688.c
+++ b/src/mame/drivers/nbmj8688.c
@@ -42,25 +42,25 @@ TODO:
#include "machine/nvram.h"
-static DRIVER_INIT( mjsikaku )
+DRIVER_INIT_MEMBER(nbmj8688_state,mjsikaku)
{
nb1413m3_type = NB1413M3_MJSIKAKU;
}
-static DRIVER_INIT( mmsikaku )
+DRIVER_INIT_MEMBER(nbmj8688_state,mmsikaku)
{
nb1413m3_type = NB1413M3_MMSIKAKU;
}
-static DRIVER_INIT( otonano )
+DRIVER_INIT_MEMBER(nbmj8688_state,otonano)
{
nb1413m3_type = NB1413M3_OTONANO;
}
-static DRIVER_INIT( mjcamera )
+DRIVER_INIT_MEMBER(nbmj8688_state,mjcamera)
{
- UINT8 *rom = machine.root_device().memregion("voice")->base() + 0x20000;
- UINT8 *prot = machine.root_device().memregion("user1")->base();
+ UINT8 *rom = machine().root_device().memregion("voice")->base() + 0x20000;
+ UINT8 *prot = machine().root_device().memregion("user1")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -76,10 +76,10 @@ static DRIVER_INIT( mjcamera )
nb1413m3_type = NB1413M3_MJCAMERA;
}
-static DRIVER_INIT( kanatuen )
+DRIVER_INIT_MEMBER(nbmj8688_state,kanatuen)
{
/* uses the same protection data as mjcamer, but a different check */
- UINT8 *rom = machine.root_device().memregion("voice")->base() + 0x30000;
+ UINT8 *rom = machine().root_device().memregion("voice")->base() + 0x30000;
rom[0x0004] = 0x09;
rom[0x0103] = 0x0e;
@@ -89,11 +89,11 @@ static DRIVER_INIT( kanatuen )
nb1413m3_type = NB1413M3_KANATUEN;
}
-static DRIVER_INIT( kyuhito )
+DRIVER_INIT_MEMBER(nbmj8688_state,kyuhito)
{
#if 1
/* uses the same protection data as ????, but a different check */
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
rom[0x0149] = 0x00;
rom[0x014a] = 0x00;
@@ -103,10 +103,10 @@ static DRIVER_INIT( kyuhito )
nb1413m3_type = NB1413M3_KYUHITO;
}
-static DRIVER_INIT( idhimitu )
+DRIVER_INIT_MEMBER(nbmj8688_state,idhimitu)
{
- UINT8 *rom = machine.root_device().memregion("voice")->base() + 0x20000;
- UINT8 *prot = machine.root_device().memregion("user1")->base();
+ UINT8 *rom = machine().root_device().memregion("voice")->base() + 0x20000;
+ UINT8 *prot = machine().root_device().memregion("user1")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -122,16 +122,16 @@ static DRIVER_INIT( idhimitu )
nb1413m3_type = NB1413M3_IDHIMITU;
}
-static DRIVER_INIT( kaguya )
+DRIVER_INIT_MEMBER(nbmj8688_state,kaguya)
{
nb1413m3_type = NB1413M3_KAGUYA;
}
-static DRIVER_INIT( kaguya2 )
+DRIVER_INIT_MEMBER(nbmj8688_state,kaguya2)
{
- UINT8 *rom = machine.root_device().memregion("voice")->base() + 0x20000;
- UINT8 *prot = machine.root_device().memregion("user1")->base();
+ UINT8 *rom = machine().root_device().memregion("voice")->base() + 0x20000;
+ UINT8 *prot = machine().root_device().memregion("user1")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -147,127 +147,127 @@ static DRIVER_INIT( kaguya2 )
nb1413m3_type = NB1413M3_KAGUYA2;
}
-static DRIVER_INIT( secolove )
+DRIVER_INIT_MEMBER(nbmj8688_state,secolove)
{
nb1413m3_type = NB1413M3_SECOLOVE;
}
-static DRIVER_INIT( citylove )
+DRIVER_INIT_MEMBER(nbmj8688_state,citylove)
{
nb1413m3_type = NB1413M3_CITYLOVE;
}
-static DRIVER_INIT( mcitylov )
+DRIVER_INIT_MEMBER(nbmj8688_state,mcitylov)
{
nb1413m3_type = NB1413M3_MCITYLOV;
}
-static DRIVER_INIT( seiha )
+DRIVER_INIT_MEMBER(nbmj8688_state,seiha)
{
nb1413m3_type = NB1413M3_SEIHA;
}
-static DRIVER_INIT( seiham )
+DRIVER_INIT_MEMBER(nbmj8688_state,seiham)
{
nb1413m3_type = NB1413M3_SEIHAM;
}
-static DRIVER_INIT( korinai )
+DRIVER_INIT_MEMBER(nbmj8688_state,korinai)
{
nb1413m3_type = NB1413M3_KORINAI;
}
-static DRIVER_INIT( korinaim )
+DRIVER_INIT_MEMBER(nbmj8688_state,korinaim)
{
nb1413m3_type = NB1413M3_KORINAIM;
}
-static DRIVER_INIT( iemoto )
+DRIVER_INIT_MEMBER(nbmj8688_state,iemoto)
{
nb1413m3_type = NB1413M3_IEMOTO;
}
-static DRIVER_INIT( iemotom )
+DRIVER_INIT_MEMBER(nbmj8688_state,iemotom)
{
nb1413m3_type = NB1413M3_IEMOTOM;
}
-static DRIVER_INIT( ryuuha )
+DRIVER_INIT_MEMBER(nbmj8688_state,ryuuha)
{
nb1413m3_type = NB1413M3_RYUUHA;
}
-static DRIVER_INIT( ojousan )
+DRIVER_INIT_MEMBER(nbmj8688_state,ojousan)
{
nb1413m3_type = NB1413M3_OJOUSAN;
}
-static DRIVER_INIT( ojousanm )
+DRIVER_INIT_MEMBER(nbmj8688_state,ojousanm)
{
nb1413m3_type = NB1413M3_OJOUSANM;
}
-static DRIVER_INIT( bijokkoy )
+DRIVER_INIT_MEMBER(nbmj8688_state,bijokkoy)
{
nb1413m3_type = NB1413M3_BIJOKKOY;
}
-static DRIVER_INIT( bijokkog )
+DRIVER_INIT_MEMBER(nbmj8688_state,bijokkog)
{
nb1413m3_type = NB1413M3_BIJOKKOG;
}
-static DRIVER_INIT( housemnq )
+DRIVER_INIT_MEMBER(nbmj8688_state,housemnq)
{
nb1413m3_type = NB1413M3_HOUSEMNQ;
}
-static DRIVER_INIT( housemn2 )
+DRIVER_INIT_MEMBER(nbmj8688_state,housemn2)
{
nb1413m3_type = NB1413M3_HOUSEMN2;
}
-static DRIVER_INIT( orangec )
+DRIVER_INIT_MEMBER(nbmj8688_state,orangec)
{
nb1413m3_type = NB1413M3_ORANGEC;
}
-static DRIVER_INIT( orangeci )
+DRIVER_INIT_MEMBER(nbmj8688_state,orangeci)
{
nb1413m3_type = NB1413M3_ORANGECI;
}
-static DRIVER_INIT( vipclub )
+DRIVER_INIT_MEMBER(nbmj8688_state,vipclub)
{
nb1413m3_type = NB1413M3_VIPCLUB;
}
-static DRIVER_INIT( livegal )
+DRIVER_INIT_MEMBER(nbmj8688_state,livegal)
{
nb1413m3_type = NB1413M3_LIVEGAL;
}
-static DRIVER_INIT( crystalg )
+DRIVER_INIT_MEMBER(nbmj8688_state,crystalg)
{
nb1413m3_type = NB1413M3_CRYSTALG;
}
-static DRIVER_INIT( crystal2 )
+DRIVER_INIT_MEMBER(nbmj8688_state,crystal2)
{
nb1413m3_type = NB1413M3_CRYSTAL2;
}
-static DRIVER_INIT( apparel )
+DRIVER_INIT_MEMBER(nbmj8688_state,apparel)
{
nb1413m3_type = NB1413M3_APPAREL;
}
-static DRIVER_INIT( nightlov )
+DRIVER_INIT_MEMBER(nbmj8688_state,nightlov)
{
nb1413m3_type = NB1413M3_NIGHTLOV;
}
-static DRIVER_INIT( barline )
+DRIVER_INIT_MEMBER(nbmj8688_state,barline)
{
nb1413m3_type = NB1413M3_BARLINE;
}
diff --git a/src/mame/drivers/nbmj8891.c b/src/mame/drivers/nbmj8891.c
index ff7ee94360f..ef8fa0f7c72 100644
--- a/src/mame/drivers/nbmj8891.c
+++ b/src/mame/drivers/nbmj8891.c
@@ -51,9 +51,9 @@ TODO:
#include "machine/nvram.h"
-static DRIVER_INIT( gionbana )
+DRIVER_INIT_MEMBER(nbmj8891_state,gionbana)
{
- UINT8 *prot = machine.root_device().memregion("protection")->base();
+ UINT8 *prot = machine().root_device().memregion("protection")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -69,15 +69,15 @@ static DRIVER_INIT( gionbana )
nb1413m3_type = NB1413M3_GIONBANA;
}
-static DRIVER_INIT( mgion )
+DRIVER_INIT_MEMBER(nbmj8891_state,mgion)
{
nb1413m3_type = NB1413M3_MGION;
}
-static DRIVER_INIT( omotesnd )
+DRIVER_INIT_MEMBER(nbmj8891_state,omotesnd)
{
#if 0
- UINT8 *prot = machine.root_device().memregion("protection")->base();
+ UINT8 *prot = machine().root_device().memregion("protection")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -92,7 +92,7 @@ static DRIVER_INIT( omotesnd )
#endif
#if 1
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
// Protection ROM check skip
ROM[0x0106] = 0x00;
@@ -110,24 +110,24 @@ static DRIVER_INIT( omotesnd )
nb1413m3_type = NB1413M3_OMOTESND;
}
-static DRIVER_INIT( abunai )
+DRIVER_INIT_MEMBER(nbmj8891_state,abunai)
{
nb1413m3_type = NB1413M3_ABUNAI;
}
-static DRIVER_INIT( hanamomo )
+DRIVER_INIT_MEMBER(nbmj8891_state,hanamomo)
{
nb1413m3_type = NB1413M3_HANAMOMO;
}
-static DRIVER_INIT( msjiken )
+DRIVER_INIT_MEMBER(nbmj8891_state,msjiken)
{
nb1413m3_type = NB1413M3_MSJIKEN;
}
-static DRIVER_INIT( telmahjn )
+DRIVER_INIT_MEMBER(nbmj8891_state,telmahjn)
{
- UINT8 *prot = machine.root_device().memregion("protection")->base();
+ UINT8 *prot = machine().root_device().memregion("protection")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -143,9 +143,9 @@ static DRIVER_INIT( telmahjn )
nb1413m3_type = NB1413M3_TELMAHJN;
}
-static DRIVER_INIT( mgmen89 )
+DRIVER_INIT_MEMBER(nbmj8891_state,mgmen89)
{
- UINT8 *prot = machine.root_device().memregion("protection")->base();
+ UINT8 *prot = machine().root_device().memregion("protection")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -161,10 +161,10 @@ static DRIVER_INIT( mgmen89 )
nb1413m3_type = NB1413M3_MGMEN89;
}
-static DRIVER_INIT( mjfocus )
+DRIVER_INIT_MEMBER(nbmj8891_state,mjfocus)
{
- UINT8 *prot = machine.root_device().memregion("protection")->base();
- UINT8 *ram = machine.root_device().memregion("maincpu")->base() + 0xf800;
+ UINT8 *prot = machine().root_device().memregion("protection")->base();
+ UINT8 *ram = machine().root_device().memregion("maincpu")->base() + 0xf800;
int i;
/* need to clear RAM otherwise it doesn't boot... */
@@ -183,10 +183,10 @@ static DRIVER_INIT( mjfocus )
nb1413m3_type = NB1413M3_MJFOCUS; // mjfocus & peepshow
}
-static DRIVER_INIT( mjfocusm )
+DRIVER_INIT_MEMBER(nbmj8891_state,mjfocusm)
{
#if 1
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
// Protection ROM check skip
ROM[0x014e] = 0x00;
@@ -196,9 +196,9 @@ static DRIVER_INIT( mjfocusm )
nb1413m3_type = NB1413M3_MJFOCUSM;
}
-static DRIVER_INIT( scandal )
+DRIVER_INIT_MEMBER(nbmj8891_state,scandal)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
int i;
for (i = 0xf800; i < 0x10000; i++) ROM[i] = 0x00;
@@ -206,19 +206,19 @@ static DRIVER_INIT( scandal )
nb1413m3_type = NB1413M3_SCANDAL;
}
-static DRIVER_INIT( scandalm )
+DRIVER_INIT_MEMBER(nbmj8891_state,scandalm)
{
nb1413m3_type = NB1413M3_SCANDALM;
}
-static DRIVER_INIT( mjnanpas )
+DRIVER_INIT_MEMBER(nbmj8891_state,mjnanpas)
{
/* they forgot to enable the protection check in this game... */
#if 0
- UINT8 *prot = machine.root_device().memregion("protection")->base();
+ UINT8 *prot = machine().root_device().memregion("protection")->base();
int i;
- machine.root_device().memregion("maincpu")->base()[0x003d] = 0x01; // force the protection check to be executed
+ machine().root_device().memregion("maincpu")->base()[0x003d] = 0x01; // force the protection check to be executed
/* this is one possible way to rearrange the protection ROM data to get the
expected 0xfe1a checksum. It's probably completely wrong! But since the
@@ -234,49 +234,49 @@ static DRIVER_INIT( mjnanpas )
nb1413m3_type = NB1413M3_MJNANPAS;
}
-static DRIVER_INIT( bananadr )
+DRIVER_INIT_MEMBER(nbmj8891_state,bananadr)
{
nb1413m3_type = NB1413M3_BANANADR;
}
-static DRIVER_INIT( club90s )
+DRIVER_INIT_MEMBER(nbmj8891_state,club90s)
{
nb1413m3_type = NB1413M3_CLUB90S;
}
-static DRIVER_INIT( lovehous )
+DRIVER_INIT_MEMBER(nbmj8891_state,lovehous)
{
nb1413m3_type = NB1413M3_LOVEHOUS;
}
-static DRIVER_INIT( mladyhtr )
+DRIVER_INIT_MEMBER(nbmj8891_state,mladyhtr)
{
nb1413m3_type = NB1413M3_MLADYHTR;
}
-static DRIVER_INIT( chinmoku )
+DRIVER_INIT_MEMBER(nbmj8891_state,chinmoku)
{
nb1413m3_type = NB1413M3_CHINMOKU;
}
-static DRIVER_INIT( maiko )
+DRIVER_INIT_MEMBER(nbmj8891_state,maiko)
{
nb1413m3_type = NB1413M3_MAIKO;
}
-static DRIVER_INIT( mmaiko )
+DRIVER_INIT_MEMBER(nbmj8891_state,mmaiko)
{
nb1413m3_type = NB1413M3_MMAIKO;
}
-static DRIVER_INIT( hanaoji )
+DRIVER_INIT_MEMBER(nbmj8891_state,hanaoji)
{
nb1413m3_type = NB1413M3_HANAOJI;
}
-static DRIVER_INIT( pairsnb )
+DRIVER_INIT_MEMBER(nbmj8891_state,pairsnb)
{
- UINT8 *prot = machine.root_device().memregion("protection")->base();
+ UINT8 *prot = machine().root_device().memregion("protection")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -292,9 +292,9 @@ static DRIVER_INIT( pairsnb )
nb1413m3_type = NB1413M3_PAIRSNB;
}
-static DRIVER_INIT( pairsten )
+DRIVER_INIT_MEMBER(nbmj8891_state,pairsten)
{
- UINT8 *prot = machine.root_device().memregion("protection")->base();
+ UINT8 *prot = machine().root_device().memregion("protection")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -310,12 +310,12 @@ static DRIVER_INIT( pairsten )
nb1413m3_type = NB1413M3_PAIRSTEN;
}
-static DRIVER_INIT( mmcamera )
+DRIVER_INIT_MEMBER(nbmj8891_state,mmcamera)
{
nb1413m3_type = NB1413M3_MMCAMERA;
}
-static DRIVER_INIT( taiwanmb )
+DRIVER_INIT_MEMBER(nbmj8891_state,taiwanmb)
{
nb1413m3_type = NB1413M3_TAIWANMB;
}
diff --git a/src/mame/drivers/nbmj8900.c b/src/mame/drivers/nbmj8900.c
index ca0d534ccef..9c743641f2e 100644
--- a/src/mame/drivers/nbmj8900.c
+++ b/src/mame/drivers/nbmj8900.c
@@ -32,10 +32,10 @@ TODO:
#include "includes/nbmj8900.h"
-static DRIVER_INIT( ohpaipee )
+DRIVER_INIT_MEMBER(nbmj8900_state,ohpaipee)
{
#if 0
- UINT8 *prot = machine.root_device().memregion("protdata")->base();
+ UINT8 *prot = machine().root_device().memregion("protdata")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -49,7 +49,7 @@ static DRIVER_INIT( ohpaipee )
prot[i] = BITSWAP8(prot[i],2,7,3,5,0,6,4,1);
}
#else
- unsigned char *ROM = machine.root_device().memregion("maincpu")->base();
+ unsigned char *ROM = machine().root_device().memregion("maincpu")->base();
// Protection ROM check skip
ROM[0x00e4] = 0x00;
@@ -63,10 +63,10 @@ static DRIVER_INIT( ohpaipee )
nb1413m3_type = NB1413M3_OHPAIPEE;
}
-static DRIVER_INIT( togenkyo )
+DRIVER_INIT_MEMBER(nbmj8900_state,togenkyo)
{
#if 0
- UINT8 *prot = machine.root_device().memregion("protdata")->base();
+ UINT8 *prot = machine().root_device().memregion("protdata")->base();
int i;
/* this is one possible way to rearrange the protection ROM data to get the
@@ -79,7 +79,7 @@ static DRIVER_INIT( togenkyo )
prot[i] = BITSWAP8(prot[i],2,7,3,5,0,6,4,1);
}
#else
- unsigned char *ROM = machine.root_device().memregion("maincpu")->base();
+ unsigned char *ROM = machine().root_device().memregion("maincpu")->base();
// Protection ROM check skip
ROM[0x010b] = 0x00;
diff --git a/src/mame/drivers/nbmj8991.c b/src/mame/drivers/nbmj8991.c
index 361e55ae0fc..c546aa58eba 100644
--- a/src/mame/drivers/nbmj8991.c
+++ b/src/mame/drivers/nbmj8991.c
@@ -68,39 +68,39 @@ static MACHINE_RESET( nbmj8991 )
MACHINE_RESET_CALL(nb1413m3);
}
-static DRIVER_INIT( pstadium )
+DRIVER_INIT_MEMBER(nbmj8991_state,pstadium)
{
nb1413m3_type = NB1413M3_PSTADIUM;
}
-static DRIVER_INIT( triplew1 )
+DRIVER_INIT_MEMBER(nbmj8991_state,triplew1)
{
nb1413m3_type = NB1413M3_TRIPLEW1;
}
-static DRIVER_INIT( triplew2 )
+DRIVER_INIT_MEMBER(nbmj8991_state,triplew2)
{
nb1413m3_type = NB1413M3_TRIPLEW2;
}
-static DRIVER_INIT( ntopstar )
+DRIVER_INIT_MEMBER(nbmj8991_state,ntopstar)
{
nb1413m3_type = NB1413M3_NTOPSTAR;
}
-static DRIVER_INIT( mjlstory )
+DRIVER_INIT_MEMBER(nbmj8991_state,mjlstory)
{
nb1413m3_type = NB1413M3_MJLSTORY;
}
-static DRIVER_INIT( vanilla )
+DRIVER_INIT_MEMBER(nbmj8991_state,vanilla)
{
nb1413m3_type = NB1413M3_VANILLA;
}
-static DRIVER_INIT( finalbny )
+DRIVER_INIT_MEMBER(nbmj8991_state,finalbny)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
int i;
for (i = 0xf800; i < 0x10000; i++) ROM[i] = 0x00;
@@ -108,25 +108,25 @@ static DRIVER_INIT( finalbny )
nb1413m3_type = NB1413M3_FINALBNY;
}
-static DRIVER_INIT( qmhayaku )
+DRIVER_INIT_MEMBER(nbmj8991_state,qmhayaku)
{
nb1413m3_type = NB1413M3_QMHAYAKU;
}
-static DRIVER_INIT( galkoku )
+DRIVER_INIT_MEMBER(nbmj8991_state,galkoku)
{
nb1413m3_type = NB1413M3_GALKOKU;
}
-static DRIVER_INIT( hyouban )
+DRIVER_INIT_MEMBER(nbmj8991_state,hyouban)
{
nb1413m3_type = NB1413M3_HYOUBAN;
}
-static DRIVER_INIT( galkaika )
+DRIVER_INIT_MEMBER(nbmj8991_state,galkaika)
{
#if 1
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
// Patch to IM2 -> IM1
ROM[0x0002] = 0x56;
@@ -134,10 +134,10 @@ static DRIVER_INIT( galkaika )
nb1413m3_type = NB1413M3_GALKAIKA;
}
-static DRIVER_INIT( tokyogal )
+DRIVER_INIT_MEMBER(nbmj8991_state,tokyogal)
{
#if 1
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
// Patch to IM2 -> IM1
ROM[0x0002] = 0x56;
@@ -145,10 +145,10 @@ static DRIVER_INIT( tokyogal )
nb1413m3_type = NB1413M3_TOKYOGAL;
}
-static DRIVER_INIT( tokimbsj )
+DRIVER_INIT_MEMBER(nbmj8991_state,tokimbsj)
{
#if 1
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
// Patch to IM2 -> IM1
ROM[0x0002] = 0x56;
@@ -156,27 +156,27 @@ static DRIVER_INIT( tokimbsj )
nb1413m3_type = NB1413M3_TOKIMBSJ;
}
-static DRIVER_INIT( mcontest )
+DRIVER_INIT_MEMBER(nbmj8991_state,mcontest)
{
nb1413m3_type = NB1413M3_MCONTEST;
}
-static DRIVER_INIT( uchuuai )
+DRIVER_INIT_MEMBER(nbmj8991_state,uchuuai)
{
nb1413m3_type = NB1413M3_UCHUUAI;
}
-static DRIVER_INIT( mjgottub )
+DRIVER_INIT_MEMBER(nbmj8991_state,mjgottub)
{
nb1413m3_type = NB1413M3_MJGOTTUB;
}
-static DRIVER_INIT( av2mj1bb )
+DRIVER_INIT_MEMBER(nbmj8991_state,av2mj1bb)
{
nb1413m3_type = NB1413M3_AV2MJ1BB;
}
-static DRIVER_INIT( av2mj2rg )
+DRIVER_INIT_MEMBER(nbmj8991_state,av2mj2rg)
{
nb1413m3_type = NB1413M3_AV2MJ2RG;
}
diff --git a/src/mame/drivers/nbmj9195.c b/src/mame/drivers/nbmj9195.c
index d2e27ddfaaf..49cc8398c62 100644
--- a/src/mame/drivers/nbmj9195.c
+++ b/src/mame/drivers/nbmj9195.c
@@ -648,17 +648,16 @@ static MACHINE_RESET( sailorws )
}
}
-static DRIVER_INIT( nbmj9195 )
+DRIVER_INIT_MEMBER(nbmj9195_state,nbmj9195)
{
- nbmj9195_state *state = machine.driver_data<nbmj9195_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *ROM = memregion("audiocpu")->base();
// sound program patch
ROM[0x0213] = 0x00; // DI -> NOP
// initialize sound rom bank
- state->nbmj9195_soundbank_w(*space, 0, 0);
+ nbmj9195_soundbank_w(*space, 0, 0);
logerror("DRIVER_INIT( nbmj9195 )\n");
}
diff --git a/src/mame/drivers/nemesis.c b/src/mame/drivers/nemesis.c
index f0f8dc06d92..4789706eacf 100644
--- a/src/mame/drivers/nemesis.c
+++ b/src/mame/drivers/nemesis.c
@@ -2385,24 +2385,24 @@ ROM_END
-GAME( 1985, nemesis, 0, nemesis, nemesis, nemesis_state, 0, ROT0, "Konami", "Nemesis (ROM version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, nemesisuk, nemesis, nemesis, nemesuk, nemesis_state, 0, ROT0, "Konami", "Nemesis (World?, ROM version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, konamigt, 0, konamigt, konamigt, nemesis_state, 0, ROT0, "Konami", "Konami GT", GAME_SUPPORTS_SAVE )
-GAME( 1985, rf2, konamigt, rf2_gx400, rf2, nemesis_state, 0, ROT0, "Konami", "Konami RF2 - Red Fighter", GAME_SUPPORTS_SAVE )
-GAME( 1985, twinbee, 0, gx400, twinbee, nemesis_state, 0, ROT90, "Konami", "TwinBee (ROM version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gradius, nemesis, gx400, gradius, nemesis_state, 0, ROT0, "Konami", "Gradius (Japan, ROM version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gwarrior, 0, gx400, gwarrior, nemesis_state, 0, ROT0, "Konami", "Galactic Warriors", GAME_SUPPORTS_SAVE )
-GAME( 1986, salamand, 0, salamand, salamand, nemesis_state, 0, ROT0, "Konami", "Salamander (version D)", GAME_SUPPORTS_SAVE )
-GAME( 1986, salamandj, salamand, salamand, salamand, nemesis_state, 0, ROT0, "Konami", "Salamander (version J)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lifefrce, salamand, salamand, salamand, nemesis_state, 0, ROT0, "Konami", "Lifeforce (US)", GAME_SUPPORTS_SAVE )
-GAME( 1987, lifefrcej, salamand, salamand, lifefrcj, nemesis_state, 0, ROT0, "Konami", "Lifeforce (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blkpnthr, 0, blkpnthr, blkpnthr, nemesis_state, 0, ROT0, "Konami", "Black Panther", GAME_SUPPORTS_SAVE )
-GAME( 1987, citybomb, 0, citybomb, citybomb, nemesis_state, 0, ROT270, "Konami", "City Bomber (World)", GAME_SUPPORTS_SAVE )
-GAME( 1987, citybombj, citybomb, citybomb, citybomb, nemesis_state, 0, ROT270, "Konami", "City Bomber (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, hcrash, 0, hcrash, hcrash, nemesis_state, 0, ROT0, "Konami", "Hyper Crash (version D)", GAME_SUPPORTS_SAVE )
-GAME( 1987, hcrashc, hcrash, hcrash, hcrash, nemesis_state, 0, ROT0, "Konami", "Hyper Crash (version C)", GAME_SUPPORTS_SAVE )
-GAME( 1988, kittenk, 0, nyanpani, nyanpani, nemesis_state, 0, ROT0, "Konami", "Kitten Kaboodle", GAME_SUPPORTS_SAVE )
-GAME( 1988, nyanpani, kittenk, nyanpani, nyanpani, nemesis_state, 0, ROT0, "Konami", "Nyan Nyan Panic (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, nemesis, 0, nemesis, nemesis, driver_device, 0, ROT0, "Konami", "Nemesis (ROM version)", GAME_SUPPORTS_SAVE )
+GAME( 1985, nemesisuk, nemesis, nemesis, nemesuk, driver_device, 0, ROT0, "Konami", "Nemesis (World?, ROM version)", GAME_SUPPORTS_SAVE )
+GAME( 1985, konamigt, 0, konamigt, konamigt, driver_device, 0, ROT0, "Konami", "Konami GT", GAME_SUPPORTS_SAVE )
+GAME( 1985, rf2, konamigt, rf2_gx400, rf2, driver_device, 0, ROT0, "Konami", "Konami RF2 - Red Fighter", GAME_SUPPORTS_SAVE )
+GAME( 1985, twinbee, 0, gx400, twinbee, driver_device, 0, ROT90, "Konami", "TwinBee (ROM version)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gradius, nemesis, gx400, gradius, driver_device, 0, ROT0, "Konami", "Gradius (Japan, ROM version)", GAME_SUPPORTS_SAVE )
+GAME( 1985, gwarrior, 0, gx400, gwarrior, driver_device, 0, ROT0, "Konami", "Galactic Warriors", GAME_SUPPORTS_SAVE )
+GAME( 1986, salamand, 0, salamand, salamand, driver_device, 0, ROT0, "Konami", "Salamander (version D)", GAME_SUPPORTS_SAVE )
+GAME( 1986, salamandj, salamand, salamand, salamand, driver_device, 0, ROT0, "Konami", "Salamander (version J)", GAME_SUPPORTS_SAVE )
+GAME( 1986, lifefrce, salamand, salamand, salamand, driver_device, 0, ROT0, "Konami", "Lifeforce (US)", GAME_SUPPORTS_SAVE )
+GAME( 1987, lifefrcej, salamand, salamand, lifefrcj, driver_device, 0, ROT0, "Konami", "Lifeforce (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, blkpnthr, 0, blkpnthr, blkpnthr, driver_device, 0, ROT0, "Konami", "Black Panther", GAME_SUPPORTS_SAVE )
+GAME( 1987, citybomb, 0, citybomb, citybomb, driver_device, 0, ROT270, "Konami", "City Bomber (World)", GAME_SUPPORTS_SAVE )
+GAME( 1987, citybombj, citybomb, citybomb, citybomb, driver_device, 0, ROT270, "Konami", "City Bomber (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, hcrash, 0, hcrash, hcrash, driver_device, 0, ROT0, "Konami", "Hyper Crash (version D)", GAME_SUPPORTS_SAVE )
+GAME( 1987, hcrashc, hcrash, hcrash, hcrash, driver_device, 0, ROT0, "Konami", "Hyper Crash (version C)", GAME_SUPPORTS_SAVE )
+GAME( 1988, kittenk, 0, nyanpani, nyanpani, driver_device, 0, ROT0, "Konami", "Kitten Kaboodle", GAME_SUPPORTS_SAVE )
+GAME( 1988, nyanpani, kittenk, nyanpani, nyanpani, driver_device, 0, ROT0, "Konami", "Nyan Nyan Panic (Japan)", GAME_SUPPORTS_SAVE )
/*
@@ -2741,4 +2741,4 @@ ROM_START( bubsys )
ROM_LOAD( "sram2.ic3", 0x2000, 0x2000, CRC(dda768be) SHA1(e98bae3ccf63eb67193346e9c40257a3ddb88e59) )
ROM_END
-GAME( 1985, bubsys, 0, bubsys, nemesis, nemesis_state, 0, ROT0, "Konami", "Bubble System BIOS", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING )
+GAME( 1985, bubsys, 0, bubsys, nemesis, driver_device, 0, ROT0, "Konami", "Bubble System BIOS", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/neodrvr.c b/src/mame/drivers/neodrvr.c
index bb5e257a863..bd388dc8960 100644
--- a/src/mame/drivers/neodrvr.c
+++ b/src/mame/drivers/neodrvr.c
@@ -9258,343 +9258,321 @@ INPUT_PORTS_END
****************************************************************************/
-static DRIVER_INIT( fatfury2 )
+DRIVER_INIT_MEMBER(neogeo_state,fatfury2)
{
DRIVER_INIT_CALL(neogeo);
- fatfury2_install_protection(machine);
+ fatfury2_install_protection(machine());
}
-static DRIVER_INIT( zupapa )
+DRIVER_INIT_MEMBER(neogeo_state,zupapa)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0xbd);
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0xbd);
}
-static DRIVER_INIT ( kof98 )
+DRIVER_INIT_MEMBER(neogeo_state,kof98)
{
DRIVER_INIT_CALL(neogeo);
- kof98_decrypt_68k(machine);
- install_kof98_protection(machine);
+ kof98_decrypt_68k(machine());
+ install_kof98_protection(machine());
}
-static DRIVER_INIT( mslugx )
+DRIVER_INIT_MEMBER(neogeo_state,mslugx)
{
DRIVER_INIT_CALL(neogeo);
- mslugx_install_protection(machine);
+ mslugx_install_protection(machine());
}
-static DRIVER_INIT( kof99 )
+DRIVER_INIT_MEMBER(neogeo_state,kof99)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- kof99_decrypt_68k(machine);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0x00);
- kof99_install_protection(machine);
+ kof99_decrypt_68k(machine());
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0x00);
+ kof99_install_protection(machine());
}
-static DRIVER_INIT( kof99k )
+DRIVER_INIT_MEMBER(neogeo_state,kof99k)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0x00);
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0x00);
}
-static DRIVER_INIT( garou )
+DRIVER_INIT_MEMBER(neogeo_state,garou)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- garou_decrypt_68k(machine);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0x06);
- garou_install_protection(machine);
+ garou_decrypt_68k(machine());
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0x06);
+ garou_install_protection(machine());
}
-static DRIVER_INIT( garouh )
+DRIVER_INIT_MEMBER(neogeo_state,garouh)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- garouh_decrypt_68k(machine);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0x06);
- garouh_install_protection(machine);
+ garouh_decrypt_68k(machine());
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0x06);
+ garouh_install_protection(machine());
}
-static DRIVER_INIT( garoubl )
+DRIVER_INIT_MEMBER(neogeo_state,garoubl)
{
DRIVER_INIT_CALL(neogeo);
- neogeo_bootleg_sx_decrypt(machine, 2);
- neogeo_bootleg_cx_decrypt(machine);
+ neogeo_bootleg_sx_decrypt(machine(), 2);
+ neogeo_bootleg_cx_decrypt(machine());
}
-static DRIVER_INIT( mslug3 )
+DRIVER_INIT_MEMBER(neogeo_state,mslug3)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- mslug3_decrypt_68k(machine);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0xad);
- mslug3_install_protection(machine);
+ mslug3_decrypt_68k(machine());
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0xad);
+ mslug3_install_protection(machine());
}
-static DRIVER_INIT( mslug3h )
+DRIVER_INIT_MEMBER(neogeo_state,mslug3h)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0xad);
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0xad);
}
-static DRIVER_INIT( mslug3b6 )
+DRIVER_INIT_MEMBER(neogeo_state,mslug3b6)
{
DRIVER_INIT_CALL(neogeo);
- neogeo_bootleg_sx_decrypt(machine, 2);
- cmc42_neogeo_gfx_decrypt(machine, 0xad);
+ neogeo_bootleg_sx_decrypt(machine(), 2);
+ cmc42_neogeo_gfx_decrypt(machine(), 0xad);
}
-static DRIVER_INIT( kof2000 )
+DRIVER_INIT_MEMBER(neogeo_state,kof2000)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- kof2000_decrypt_68k(machine);
- state->m_fixed_layer_bank_type = 2;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x00);
- kof2000_install_protection(machine);
+ kof2000_decrypt_68k(machine());
+ m_fixed_layer_bank_type = 2;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x00);
+ kof2000_install_protection(machine());
}
-static DRIVER_INIT( kof2000n )
+DRIVER_INIT_MEMBER(neogeo_state,kof2000n)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 2;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x00);
+ m_fixed_layer_bank_type = 2;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x00);
}
-static DRIVER_INIT( kof2001 )
+DRIVER_INIT_MEMBER(neogeo_state,kof2001)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- kof2000_neogeo_gfx_decrypt(machine, 0x1e);
- neogeo_cmc50_m1_decrypt(machine);
+ m_fixed_layer_bank_type = 1;
+ kof2000_neogeo_gfx_decrypt(machine(), 0x1e);
+ neogeo_cmc50_m1_decrypt(machine());
}
-static DRIVER_INIT( cthd2003 )
+DRIVER_INIT_MEMBER(neogeo_state,cthd2003)
{
DRIVER_INIT_CALL(neogeo);
- decrypt_cthd2003(machine);
- patch_cthd2003(machine);
+ decrypt_cthd2003(machine());
+ patch_cthd2003(machine());
}
-static DRIVER_INIT ( ct2k3sp )
+DRIVER_INIT_MEMBER(neogeo_state,ct2k3sp)
{
DRIVER_INIT_CALL(neogeo);
- decrypt_ct2k3sp(machine);
- patch_cthd2003(machine);
+ decrypt_ct2k3sp(machine());
+ patch_cthd2003(machine());
}
-static DRIVER_INIT ( ct2k3sa )
+DRIVER_INIT_MEMBER(neogeo_state,ct2k3sa)
{
DRIVER_INIT_CALL(neogeo);
- decrypt_ct2k3sa(machine);
- patch_ct2k3sa(machine);
+ decrypt_ct2k3sa(machine());
+ patch_ct2k3sa(machine());
}
-static DRIVER_INIT( mslug4 )
+DRIVER_INIT_MEMBER(neogeo_state,mslug4)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1; /* USA violent content screen is wrong -- not a bug, confirmed on real hardware! */
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x31);
- neo_pcm2_snk_1999(machine, 8);
+ m_fixed_layer_bank_type = 1; /* USA violent content screen is wrong -- not a bug, confirmed on real hardware! */
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x31);
+ neo_pcm2_snk_1999(machine(), 8);
}
-static DRIVER_INIT( ms4plus )
+DRIVER_INIT_MEMBER(neogeo_state,ms4plus)
{
DRIVER_INIT_CALL(neogeo);
- cmc50_neogeo_gfx_decrypt(machine, 0x31);
- neo_pcm2_snk_1999(machine, 8);
- neogeo_cmc50_m1_decrypt(machine);
+ cmc50_neogeo_gfx_decrypt(machine(), 0x31);
+ neo_pcm2_snk_1999(machine(), 8);
+ neogeo_cmc50_m1_decrypt(machine());
}
-static DRIVER_INIT( ganryu )
+DRIVER_INIT_MEMBER(neogeo_state,ganryu)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0x07);
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0x07);
}
-static DRIVER_INIT( s1945p )
+DRIVER_INIT_MEMBER(neogeo_state,s1945p)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0x05);
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0x05);
}
-static DRIVER_INIT( preisle2 )
+DRIVER_INIT_MEMBER(neogeo_state,preisle2)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0x9f);
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0x9f);
}
-static DRIVER_INIT( bangbead )
+DRIVER_INIT_MEMBER(neogeo_state,bangbead)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0xf8);
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0xf8);
}
-static DRIVER_INIT( nitd )
+DRIVER_INIT_MEMBER(neogeo_state,nitd)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0xff);
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0xff);
}
-static DRIVER_INIT( sengoku3 )
+DRIVER_INIT_MEMBER(neogeo_state,sengoku3)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- kof99_neogeo_gfx_decrypt(machine, 0xfe);
+ m_fixed_layer_bank_type = 1;
+ kof99_neogeo_gfx_decrypt(machine(), 0xfe);
}
-static DRIVER_INIT( rotd )
+DRIVER_INIT_MEMBER(neogeo_state,rotd)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- neo_pcm2_snk_1999(machine, 16);
- state->m_fixed_layer_bank_type = 1;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x3f);
+ neo_pcm2_snk_1999(machine(), 16);
+ m_fixed_layer_bank_type = 1;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x3f);
}
-static DRIVER_INIT( kof2002 )
+DRIVER_INIT_MEMBER(neogeo_state,kof2002)
{
DRIVER_INIT_CALL(neogeo);
- kof2002_decrypt_68k(machine);
- neo_pcm2_swap(machine, 0);
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0xec);
+ kof2002_decrypt_68k(machine());
+ neo_pcm2_swap(machine(), 0);
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0xec);
}
-static DRIVER_INIT( kof2002b )
+DRIVER_INIT_MEMBER(neogeo_state,kof2002b)
{
DRIVER_INIT_CALL(neogeo);
- kof2002_decrypt_68k(machine);
- neo_pcm2_swap(machine, 0);
- neogeo_cmc50_m1_decrypt(machine);
- kof2002b_gfx_decrypt(machine, machine.root_device().memregion("sprites")->base(),0x4000000);
- kof2002b_gfx_decrypt(machine, machine.root_device().memregion("fixed")->base(),0x20000);
+ kof2002_decrypt_68k(machine());
+ neo_pcm2_swap(machine(), 0);
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2002b_gfx_decrypt(machine(), machine().root_device().memregion("sprites")->base(),0x4000000);
+ kof2002b_gfx_decrypt(machine(), machine().root_device().memregion("fixed")->base(),0x20000);
}
-static DRIVER_INIT( kf2k2pls )
+DRIVER_INIT_MEMBER(neogeo_state,kf2k2pls)
{
DRIVER_INIT_CALL(neogeo);
- kof2002_decrypt_68k(machine);
- neo_pcm2_swap(machine, 0);
- neogeo_cmc50_m1_decrypt(machine);
- cmc50_neogeo_gfx_decrypt(machine, 0xec);
+ kof2002_decrypt_68k(machine());
+ neo_pcm2_swap(machine(), 0);
+ neogeo_cmc50_m1_decrypt(machine());
+ cmc50_neogeo_gfx_decrypt(machine(), 0xec);
}
-static DRIVER_INIT( kf2k2mp )
+DRIVER_INIT_MEMBER(neogeo_state,kf2k2mp)
{
DRIVER_INIT_CALL(neogeo);
- kf2k2mp_decrypt(machine);
- neo_pcm2_swap(machine, 0);
- neogeo_cmc50_m1_decrypt(machine);
- neogeo_bootleg_sx_decrypt(machine, 2);
- cmc50_neogeo_gfx_decrypt(machine, 0xec);
+ kf2k2mp_decrypt(machine());
+ neo_pcm2_swap(machine(), 0);
+ neogeo_cmc50_m1_decrypt(machine());
+ neogeo_bootleg_sx_decrypt(machine(), 2);
+ cmc50_neogeo_gfx_decrypt(machine(), 0xec);
}
-static DRIVER_INIT( kf2k2mp2 )
+DRIVER_INIT_MEMBER(neogeo_state,kf2k2mp2)
{
DRIVER_INIT_CALL(neogeo);
- kf2k2mp2_px_decrypt(machine);
- neo_pcm2_swap(machine, 0);
- neogeo_cmc50_m1_decrypt(machine);
- neogeo_bootleg_sx_decrypt(machine, 1);
- cmc50_neogeo_gfx_decrypt(machine, 0xec);
+ kf2k2mp2_px_decrypt(machine());
+ neo_pcm2_swap(machine(), 0);
+ neogeo_cmc50_m1_decrypt(machine());
+ neogeo_bootleg_sx_decrypt(machine(), 1);
+ cmc50_neogeo_gfx_decrypt(machine(), 0xec);
}
-static DRIVER_INIT( kof10th )
+DRIVER_INIT_MEMBER(neogeo_state,kof10th)
{
DRIVER_INIT_CALL(neogeo);
- decrypt_kof10th(machine);
- install_kof10th_protection(machine);
+ decrypt_kof10th(machine());
+ install_kof10th_protection(machine());
}
-static DRIVER_INIT( kf10thep )
+DRIVER_INIT_MEMBER(neogeo_state,kf10thep)
{
DRIVER_INIT_CALL(neogeo);
- decrypt_kf10thep(machine);
+ decrypt_kf10thep(machine());
}
-static DRIVER_INIT( kf2k5uni )
+DRIVER_INIT_MEMBER(neogeo_state,kf2k5uni)
{
DRIVER_INIT_CALL(neogeo);
- decrypt_kf2k5uni(machine);
+ decrypt_kf2k5uni(machine());
}
-static DRIVER_INIT( kof2k4se )
+DRIVER_INIT_MEMBER(neogeo_state,kof2k4se)
{
DRIVER_INIT_CALL(neogeo);
- decrypt_kof2k4se_68k(machine);
+ decrypt_kof2k4se_68k(machine());
}
-static DRIVER_INIT( matrim )
+DRIVER_INIT_MEMBER(neogeo_state,matrim)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- matrim_decrypt_68k(machine);
- neo_pcm2_swap(machine, 1);
- state->m_fixed_layer_bank_type = 2;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x6a);
+ matrim_decrypt_68k(machine());
+ neo_pcm2_swap(machine(), 1);
+ m_fixed_layer_bank_type = 2;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x6a);
}
-static DRIVER_INIT( matrimbl )
+DRIVER_INIT_MEMBER(neogeo_state,matrimbl)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- matrim_decrypt_68k(machine);
- state->m_fixed_layer_bank_type = 2;
- matrimbl_decrypt(machine);
- neogeo_sfix_decrypt(machine); /* required for text layer */
+ matrim_decrypt_68k(machine());
+ m_fixed_layer_bank_type = 2;
+ matrimbl_decrypt(machine());
+ neogeo_sfix_decrypt(machine()); /* required for text layer */
}
-static DRIVER_INIT( pnyaa )
+DRIVER_INIT_MEMBER(neogeo_state,pnyaa)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- neo_pcm2_snk_1999(machine, 4);
- state->m_fixed_layer_bank_type = 1;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x2e);
+ neo_pcm2_snk_1999(machine(), 4);
+ m_fixed_layer_bank_type = 1;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x2e);
}
-static DRIVER_INIT( mslug5 )
+DRIVER_INIT_MEMBER(neogeo_state,mslug5)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- mslug5_decrypt_68k(machine);
- neo_pcm2_swap(machine, 2);
- state->m_fixed_layer_bank_type = 1;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x19);
- install_pvc_protection(machine);
+ mslug5_decrypt_68k(machine());
+ neo_pcm2_swap(machine(), 2);
+ m_fixed_layer_bank_type = 1;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x19);
+ install_pvc_protection(machine());
}
static TIMER_CALLBACK( ms5pcb_bios_timer_callback )
@@ -9603,35 +9581,33 @@ static TIMER_CALLBACK( ms5pcb_bios_timer_callback )
machine.root_device().membank(NEOGEO_BANK_BIOS)->set_base(machine.root_device().memregion("mainbios")->base() + 0x20000 + harddip3 * 0x20000);
}
-static DRIVER_INIT( ms5pcb )
+DRIVER_INIT_MEMBER(neogeo_state,ms5pcb)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
/* start a timer that will check the BIOS select DIP every second */
- machine.scheduler().timer_set(attotime::zero, FUNC(ms5pcb_bios_timer_callback));
- machine.scheduler().timer_pulse(attotime::from_msec(1000), FUNC(ms5pcb_bios_timer_callback));
-
- mslug5_decrypt_68k(machine);
- svcpcb_gfx_decrypt(machine);
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x19);
- state->m_fixed_layer_bank_type = 2;
- svcpcb_s1data_decrypt(machine);
- neo_pcm2_swap(machine, 2);
- install_pvc_protection(machine);
+ machine().scheduler().timer_set(attotime::zero, FUNC(ms5pcb_bios_timer_callback));
+ machine().scheduler().timer_pulse(attotime::from_msec(1000), FUNC(ms5pcb_bios_timer_callback));
+
+ mslug5_decrypt_68k(machine());
+ svcpcb_gfx_decrypt(machine());
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x19);
+ m_fixed_layer_bank_type = 2;
+ svcpcb_s1data_decrypt(machine());
+ neo_pcm2_swap(machine(), 2);
+ install_pvc_protection(machine());
}
-static DRIVER_INIT( ms5plus )
+DRIVER_INIT_MEMBER(neogeo_state,ms5plus)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- cmc50_neogeo_gfx_decrypt(machine, 0x19);
- neo_pcm2_swap(machine, 2);
- neogeo_bootleg_sx_decrypt(machine, 1);
- state->m_fixed_layer_bank_type = 1;
- neogeo_cmc50_m1_decrypt(machine);
- install_ms5plus_protection(machine);
+ cmc50_neogeo_gfx_decrypt(machine(), 0x19);
+ neo_pcm2_swap(machine(), 2);
+ neogeo_bootleg_sx_decrypt(machine(), 1);
+ m_fixed_layer_bank_type = 1;
+ neogeo_cmc50_m1_decrypt(machine());
+ install_ms5plus_protection(machine());
}
static TIMER_CALLBACK( svcpcb_bios_timer_callback )
@@ -9640,227 +9616,219 @@ static TIMER_CALLBACK( svcpcb_bios_timer_callback )
machine.root_device().membank(NEOGEO_BANK_BIOS)->set_base(machine.root_device().memregion("mainbios")->base() + 0x20000 + harddip3 * 0x20000);
}
-static DRIVER_INIT( svcpcb )
+DRIVER_INIT_MEMBER(neogeo_state,svcpcb)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
/* start a timer that will check the BIOS select DIP every second */
- machine.scheduler().timer_set(attotime::zero, FUNC(svcpcb_bios_timer_callback));
- machine.scheduler().timer_pulse(attotime::from_msec(1000), FUNC(svcpcb_bios_timer_callback));
-
- svc_px_decrypt(machine);
- svcpcb_gfx_decrypt(machine);
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x57);
- svcpcb_s1data_decrypt(machine);
- neo_pcm2_swap(machine, 3);
- state->m_fixed_layer_bank_type = 2;
- install_pvc_protection(machine);
+ machine().scheduler().timer_set(attotime::zero, FUNC(svcpcb_bios_timer_callback));
+ machine().scheduler().timer_pulse(attotime::from_msec(1000), FUNC(svcpcb_bios_timer_callback));
+
+ svc_px_decrypt(machine());
+ svcpcb_gfx_decrypt(machine());
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x57);
+ svcpcb_s1data_decrypt(machine());
+ neo_pcm2_swap(machine(), 3);
+ m_fixed_layer_bank_type = 2;
+ install_pvc_protection(machine());
}
-static DRIVER_INIT( svc )
+DRIVER_INIT_MEMBER(neogeo_state,svc)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- svc_px_decrypt(machine);
- neo_pcm2_swap(machine, 3);
- state->m_fixed_layer_bank_type = 2;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x57);
- install_pvc_protection(machine);
+ svc_px_decrypt(machine());
+ neo_pcm2_swap(machine(), 3);
+ m_fixed_layer_bank_type = 2;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x57);
+ install_pvc_protection(machine());
}
-static DRIVER_INIT( svcboot )
+DRIVER_INIT_MEMBER(neogeo_state,svcboot)
{
DRIVER_INIT_CALL(neogeo);
- svcboot_px_decrypt(machine);
- svcboot_cx_decrypt(machine);
- install_pvc_protection(machine);
+ svcboot_px_decrypt(machine());
+ svcboot_cx_decrypt(machine());
+ install_pvc_protection(machine());
}
-static DRIVER_INIT( svcplus )
+DRIVER_INIT_MEMBER(neogeo_state,svcplus)
{
DRIVER_INIT_CALL(neogeo);
- svcplus_px_decrypt(machine);
- svcboot_cx_decrypt(machine);
- neogeo_bootleg_sx_decrypt(machine, 1);
- svcplus_px_hack(machine);
+ svcplus_px_decrypt(machine());
+ svcboot_cx_decrypt(machine());
+ neogeo_bootleg_sx_decrypt(machine(), 1);
+ svcplus_px_hack(machine());
}
-static DRIVER_INIT( svcplusa )
+DRIVER_INIT_MEMBER(neogeo_state,svcplusa)
{
DRIVER_INIT_CALL(neogeo);
- svcplusa_px_decrypt(machine);
- svcboot_cx_decrypt(machine);
- svcplus_px_hack(machine);
+ svcplusa_px_decrypt(machine());
+ svcboot_cx_decrypt(machine());
+ svcplus_px_hack(machine());
}
-static DRIVER_INIT( svcsplus )
+DRIVER_INIT_MEMBER(neogeo_state,svcsplus)
{
DRIVER_INIT_CALL(neogeo);
- svcsplus_px_decrypt(machine);
- neogeo_bootleg_sx_decrypt(machine, 2);
- svcboot_cx_decrypt(machine);
- svcsplus_px_hack(machine);
- install_pvc_protection(machine);
+ svcsplus_px_decrypt(machine());
+ neogeo_bootleg_sx_decrypt(machine(), 2);
+ svcboot_cx_decrypt(machine());
+ svcsplus_px_hack(machine());
+ install_pvc_protection(machine());
}
-static DRIVER_INIT( samsho5 )
+DRIVER_INIT_MEMBER(neogeo_state,samsho5)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- samsho5_decrypt_68k(machine);
- neo_pcm2_swap(machine, 4);
- state->m_fixed_layer_bank_type = 1;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x0f);
+ samsho5_decrypt_68k(machine());
+ neo_pcm2_swap(machine(), 4);
+ m_fixed_layer_bank_type = 1;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x0f);
}
-static DRIVER_INIT( samsho5b )
+DRIVER_INIT_MEMBER(neogeo_state,samsho5b)
{
DRIVER_INIT_CALL(neogeo);
- samsho5b_px_decrypt(machine);
- samsho5b_vx_decrypt(machine);
- neogeo_bootleg_sx_decrypt(machine, 1);
- neogeo_bootleg_cx_decrypt(machine);
+ samsho5b_px_decrypt(machine());
+ samsho5b_vx_decrypt(machine());
+ neogeo_bootleg_sx_decrypt(machine(), 1);
+ neogeo_bootleg_cx_decrypt(machine());
}
-static DRIVER_INIT( kf2k3pcb )
+DRIVER_INIT_MEMBER(neogeo_state,kf2k3pcb)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- kf2k3pcb_decrypt_68k(machine);
- kf2k3pcb_gfx_decrypt(machine);
- kof2003biosdecode(machine);
- neogeo_cmc50_m1_decrypt(machine);
+ kf2k3pcb_decrypt_68k(machine());
+ kf2k3pcb_gfx_decrypt(machine());
+ kof2003biosdecode(machine());
+ neogeo_cmc50_m1_decrypt(machine());
/* extra little swap on the m1 - this must be performed AFTER the m1 decrypt
or the m1 checksum (used to generate the key) for decrypting the m1 is
incorrect */
{
int i;
- UINT8* rom = state->memregion("audiocpu")->base();
+ UINT8* rom = memregion("audiocpu")->base();
for (i = 0; i < 0x90000; i++)
{
rom[i] = BITSWAP8(rom[i], 5, 6, 1, 4, 3, 0, 7, 2);
}
}
- kof2000_neogeo_gfx_decrypt(machine, 0x9d);
- kf2k3pcb_decrypt_s1data(machine);
- neo_pcm2_swap(machine, 5);
- state->m_fixed_layer_bank_type = 2;
- install_pvc_protection(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xc00000, 0xc7ffff, "bios" ); // 512k bios
+ kof2000_neogeo_gfx_decrypt(machine(), 0x9d);
+ kf2k3pcb_decrypt_s1data(machine());
+ neo_pcm2_swap(machine(), 5);
+ m_fixed_layer_bank_type = 2;
+ install_pvc_protection(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xc00000, 0xc7ffff, "bios" ); // 512k bios
}
-static DRIVER_INIT( kof2003 )
+DRIVER_INIT_MEMBER(neogeo_state,kof2003)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- kof2003_decrypt_68k(machine);
- neo_pcm2_swap(machine, 5);
- state->m_fixed_layer_bank_type = 2;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x9d);
- install_pvc_protection(machine);
+ kof2003_decrypt_68k(machine());
+ neo_pcm2_swap(machine(), 5);
+ m_fixed_layer_bank_type = 2;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x9d);
+ install_pvc_protection(machine());
}
-static DRIVER_INIT( kof2003h )
+DRIVER_INIT_MEMBER(neogeo_state,kof2003h)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- kof2003h_decrypt_68k(machine);
- neo_pcm2_swap(machine, 5);
- state->m_fixed_layer_bank_type = 2;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x9d);
- install_pvc_protection(machine);
+ kof2003h_decrypt_68k(machine());
+ neo_pcm2_swap(machine(), 5);
+ m_fixed_layer_bank_type = 2;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x9d);
+ install_pvc_protection(machine());
}
-static DRIVER_INIT( kf2k3bl )
+DRIVER_INIT_MEMBER(neogeo_state,kf2k3bl)
{
DRIVER_INIT_CALL(neogeo);
- cmc50_neogeo_gfx_decrypt(machine, 0x9d);
- neo_pcm2_swap(machine, 5);
- neogeo_bootleg_sx_decrypt(machine, 1);
- kf2k3bl_install_protection(machine);
+ cmc50_neogeo_gfx_decrypt(machine(), 0x9d);
+ neo_pcm2_swap(machine(), 5);
+ neogeo_bootleg_sx_decrypt(machine(), 1);
+ kf2k3bl_install_protection(machine());
}
-static DRIVER_INIT( kf2k3pl )
+DRIVER_INIT_MEMBER(neogeo_state,kf2k3pl)
{
DRIVER_INIT_CALL(neogeo);
- cmc50_neogeo_gfx_decrypt(machine, 0x9d);
- neo_pcm2_swap(machine, 5);
- kf2k3pl_px_decrypt(machine);
- neogeo_bootleg_sx_decrypt(machine, 1);
- kf2k3pl_install_protection(machine);
+ cmc50_neogeo_gfx_decrypt(machine(), 0x9d);
+ neo_pcm2_swap(machine(), 5);
+ kf2k3pl_px_decrypt(machine());
+ neogeo_bootleg_sx_decrypt(machine(), 1);
+ kf2k3pl_install_protection(machine());
}
-static DRIVER_INIT( kf2k3upl )
+DRIVER_INIT_MEMBER(neogeo_state,kf2k3upl)
{
DRIVER_INIT_CALL(neogeo);
- cmc50_neogeo_gfx_decrypt(machine, 0x9d);
- neo_pcm2_swap(machine, 5);
- kf2k3upl_px_decrypt(machine);
- neogeo_bootleg_sx_decrypt(machine, 2);
- kf2k3upl_install_protection(machine);
+ cmc50_neogeo_gfx_decrypt(machine(), 0x9d);
+ neo_pcm2_swap(machine(), 5);
+ kf2k3upl_px_decrypt(machine());
+ neogeo_bootleg_sx_decrypt(machine(), 2);
+ kf2k3upl_install_protection(machine());
}
-static DRIVER_INIT( samsh5sp )
+DRIVER_INIT_MEMBER(neogeo_state,samsh5sp)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- samsh5sp_decrypt_68k(machine);
- neo_pcm2_swap(machine, 6);
- state->m_fixed_layer_bank_type = 1;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0x0d);
+ samsh5sp_decrypt_68k(machine());
+ neo_pcm2_swap(machine(), 6);
+ m_fixed_layer_bank_type = 1;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0x0d);
}
-static DRIVER_INIT( jockeygp )
+DRIVER_INIT_MEMBER(neogeo_state,jockeygp)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
DRIVER_INIT_CALL(neogeo);
- state->m_fixed_layer_bank_type = 1;
- neogeo_cmc50_m1_decrypt(machine);
- kof2000_neogeo_gfx_decrypt(machine, 0xac);
+ m_fixed_layer_bank_type = 1;
+ neogeo_cmc50_m1_decrypt(machine());
+ kof2000_neogeo_gfx_decrypt(machine(), 0xac);
/* install some extra RAM */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x200000, 0x201fff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x200000, 0x201fff);
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x280000, 0x280001, "IN5");
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2c0000, 0x2c0001, "IN6");
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x280000, 0x280001, "IN5");
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2c0000, 0x2c0001, "IN6");
}
-static DRIVER_INIT( vliner )
+DRIVER_INIT_MEMBER(neogeo_state,vliner)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x200000, 0x201fff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x200000, 0x201fff);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x280000, 0x280001, "IN5");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2c0000, 0x2c0001, "IN6");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x280000, 0x280001, "IN5");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x2c0000, 0x2c0001, "IN6");
DRIVER_INIT_CALL(neogeo);
}
-static DRIVER_INIT( kog )
+DRIVER_INIT_MEMBER(neogeo_state,kog)
{
/* overlay cartridge ROM */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x0ffffe, 0x0fffff, "JUMPER");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x0ffffe, 0x0fffff, "JUMPER");
- kog_px_decrypt(machine);
- neogeo_bootleg_sx_decrypt(machine, 1);
- neogeo_bootleg_cx_decrypt(machine);
+ kog_px_decrypt(machine());
+ neogeo_bootleg_sx_decrypt(machine(), 1);
+ neogeo_bootleg_cx_decrypt(machine());
DRIVER_INIT_CALL(neogeo);
}
-static DRIVER_INIT( lans2004 )
+DRIVER_INIT_MEMBER(neogeo_state,lans2004)
{
- lans2004_decrypt_68k(machine);
- lans2004_vx_decrypt(machine);
- neogeo_bootleg_sx_decrypt(machine, 1);
- neogeo_bootleg_cx_decrypt(machine);
+ lans2004_decrypt_68k(machine());
+ lans2004_vx_decrypt(machine());
+ neogeo_bootleg_sx_decrypt(machine(), 1);
+ neogeo_bootleg_cx_decrypt(machine());
DRIVER_INIT_CALL(neogeo);
}
@@ -9900,19 +9868,19 @@ static WRITE16_HANDLER( sbp_lowerrom_w )
printf("sbp_lowerrom_w offset %08x data %04x\n", realoffset, data );
}
-static DRIVER_INIT(sbp )
+DRIVER_INIT_MEMBER(neogeo_state,sbp)
{
// there seems to be a protection device living around here..
// if you nibble swap the data in the rom the game will boot
// there are also writes to 0x1080..
//
// other stuff going on as well tho, the main overlay is still missing, and p1 inputs don't work
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x00200, 0x001fff, FUNC(sbp_lowerrom_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x00200, 0x001fff, FUNC(sbp_lowerrom_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x00200, 0x001fff, FUNC(sbp_lowerrom_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x00200, 0x001fff, FUNC(sbp_lowerrom_w));
/* the game code clears the text overlay used ingame immediately after writing it.. why? protection? sloppy code that the hw ignores? imperfect emulation? */
{
- UINT16* rom = (UINT16*)machine.root_device().memregion("maincpu")->base();
+ UINT16* rom = (UINT16*)machine().root_device().memregion("maincpu")->base();
rom[0x2a6f8/2] = 0x4e71;
rom[0x2a6fa/2] = 0x4e71;
@@ -9929,89 +9897,85 @@ static DRIVER_INIT(sbp )
****************************************************************************/
-driver_init_func neo_gameinit;
-
-static DRIVER_INIT( mvs )
+DRIVER_INIT_MEMBER(neogeo_state,mvs)
{
DRIVER_INIT_CALL(neogeo);
}
// handle protected carts
-void mvs_install_protection(device_image_interface& image)
+void neogeo_state::mvs_install_protection(device_image_interface& image)
{
// neogeo_state *state = image.device().machine().driver_data<neogeo_state>();
const char *crypt_feature = image.get_feature( "crypt" );
if(crypt_feature == NULL)
{
- neo_gameinit = driver_init_neogeo;
+ DRIVER_INIT_CALL(neogeo);
}
else
{
/* work out which Driver Init decryption function to call based on flag in softlist
- note this is called AFTER the regular DRIVER_INIT */
- if(strcmp(crypt_feature,"mslugx_prot") == 0) { neo_gameinit = driver_init_mslugx; }
- else if(strcmp(crypt_feature,"fatfury2_prot") == 0) { neo_gameinit = driver_init_fatfury2; }
- else if(strcmp(crypt_feature,"kog_prot") == 0) { neo_gameinit = driver_init_kog; }
- else if(strcmp(crypt_feature,"kof98_prot") == 0) { neo_gameinit = driver_init_kof98; }
- else if(strcmp(crypt_feature,"kof99_prot") == 0) { neo_gameinit = driver_init_kof99; }
- else if(strcmp(crypt_feature,"kof99k_prot") == 0) { neo_gameinit = driver_init_kof99k; }
- else if(strcmp(crypt_feature,"garou_prot") == 0) { neo_gameinit = driver_init_garou; }
- else if(strcmp(crypt_feature,"garouh_prot") == 0) { neo_gameinit = driver_init_garouh; }
- else if(strcmp(crypt_feature,"garoubl_prot") == 0) { neo_gameinit = driver_init_garoubl; }
- else if(strcmp(crypt_feature,"mslug3_prot") == 0) { neo_gameinit = driver_init_mslug3; }
- else if(strcmp(crypt_feature,"mslug3h_prot") == 0) { neo_gameinit = driver_init_mslug3h; }
- else if(strcmp(crypt_feature,"mslug3b6_prot") == 0) { neo_gameinit = driver_init_mslug3b6; }
- else if(strcmp(crypt_feature,"kof2000_prot") == 0) { neo_gameinit = driver_init_kof2000; }
- else if(strcmp(crypt_feature,"kof2000n_prot") == 0) { neo_gameinit = driver_init_kof2000n; }
- else if(strcmp(crypt_feature,"sengoku3_prot") == 0) { neo_gameinit = driver_init_sengoku3; }
- else if(strcmp(crypt_feature,"zupapa_prot") == 0) { neo_gameinit = driver_init_zupapa; }
- else if(strcmp(crypt_feature,"kof2001_prot") == 0) { neo_gameinit = driver_init_kof2001; }
- else if(strcmp(crypt_feature,"cthd2003_prot") == 0) { neo_gameinit = driver_init_cthd2003; }
- else if(strcmp(crypt_feature,"ct2k3sp_prot") == 0) { neo_gameinit = driver_init_ct2k3sp; }
- else if(strcmp(crypt_feature,"ct2k3sa_prot") == 0) { neo_gameinit = driver_init_ct2k3sa; }
- else if(strcmp(crypt_feature,"kof2002_prot") == 0) { neo_gameinit = driver_init_kof2002; }
- else if(strcmp(crypt_feature,"kof2002b_prot") == 0) { neo_gameinit = driver_init_kof2002b; }
- else if(strcmp(crypt_feature,"kf2k2pls_prot") == 0) { neo_gameinit = driver_init_kf2k2pls; }
- else if(strcmp(crypt_feature,"kf2k2mp_prot") == 0) { neo_gameinit = driver_init_kf2k2mp; }
- else if(strcmp(crypt_feature,"kf2k2mp2_prot") == 0) { neo_gameinit = driver_init_kf2k2mp2; }
- else if(strcmp(crypt_feature,"kof10th_prot") == 0) { neo_gameinit = driver_init_kof10th; }
- else if(strcmp(crypt_feature,"kf10thep_prot") == 0) { neo_gameinit = driver_init_kf10thep; }
- else if(strcmp(crypt_feature,"kf2k5uni_prot") == 0) { neo_gameinit = driver_init_kf2k5uni; }
- else if(strcmp(crypt_feature,"kof2k4se_prot") == 0) { neo_gameinit = driver_init_kof2k4se; }
- else if(strcmp(crypt_feature,"mslug5_prot") == 0) { neo_gameinit = driver_init_mslug5; }
- else if(strcmp(crypt_feature,"ms5plus_prot") == 0) { neo_gameinit = driver_init_ms5plus; }
- else if(strcmp(crypt_feature,"svc_prot") == 0) { neo_gameinit = driver_init_svc; }
- else if(strcmp(crypt_feature,"svcboot_prot") == 0) { neo_gameinit = driver_init_svcboot; }
- else if(strcmp(crypt_feature,"svcplus_prot") == 0) { neo_gameinit = driver_init_svcplus; }
- else if(strcmp(crypt_feature,"svcplusa_prot") == 0) { neo_gameinit = driver_init_svcplusa; }
- else if(strcmp(crypt_feature,"svcsplus_prot") == 0) { neo_gameinit = driver_init_svcsplus; }
- else if(strcmp(crypt_feature,"samsho5_prot") == 0) { neo_gameinit = driver_init_samsho5; }
- else if(strcmp(crypt_feature,"samsho5b_prot") == 0) { neo_gameinit = driver_init_samsho5b; }
- else if(strcmp(crypt_feature,"kof2003_prot") == 0) { neo_gameinit = driver_init_kof2003; }
- else if(strcmp(crypt_feature,"kof2003h_prot") == 0) { neo_gameinit = driver_init_kof2003h; }
- else if(strcmp(crypt_feature,"kf2k3bl_prot") == 0) { neo_gameinit = driver_init_kf2k3bl; }
- else if(strcmp(crypt_feature,"kf2k3pl_prot") == 0) { neo_gameinit = driver_init_kf2k3pl; }
- else if(strcmp(crypt_feature,"kf2k3upl_prot") == 0) { neo_gameinit = driver_init_kf2k3upl; }
- else if(strcmp(crypt_feature,"samsh5sp_prot") == 0) { neo_gameinit = driver_init_samsh5sp; }
- else if(strcmp(crypt_feature,"preisle2_prot") == 0) { neo_gameinit = driver_init_preisle2; }
- else if(strcmp(crypt_feature,"nitd_prot") == 0) { neo_gameinit = driver_init_nitd; }
- else if(strcmp(crypt_feature,"s1945p_prot") == 0) { neo_gameinit = driver_init_s1945p; }
- else if(strcmp(crypt_feature,"lans2004_prot") == 0) { neo_gameinit = driver_init_lans2004; }
- else if(strcmp(crypt_feature,"pnyaa_prot") == 0) { neo_gameinit = driver_init_pnyaa; }
- else if(strcmp(crypt_feature,"ganryu_prot") == 0) { neo_gameinit = driver_init_ganryu; }
- else if(strcmp(crypt_feature,"bangbead_prot") == 0) { neo_gameinit = driver_init_bangbead; }
- else if(strcmp(crypt_feature,"mslug4_prot") == 0) { neo_gameinit = driver_init_mslug4; }
- else if(strcmp(crypt_feature,"ms4plus_prot") == 0) { neo_gameinit = driver_init_ms4plus; }
- else if(strcmp(crypt_feature,"rotd_prot") == 0) { neo_gameinit = driver_init_rotd; }
- else if(strcmp(crypt_feature,"matrim_prot") == 0) { neo_gameinit = driver_init_matrim; }
- else if(strcmp(crypt_feature,"matrimbl_prot") == 0) { neo_gameinit = driver_init_matrimbl; }
+ if(strcmp(crypt_feature,"mslugx_prot") == 0) { DRIVER_INIT_CALL(mslugx); }
+ else if(strcmp(crypt_feature,"fatfury2_prot") == 0) { DRIVER_INIT_CALL(fatfury2); }
+ else if(strcmp(crypt_feature,"kog_prot") == 0) { DRIVER_INIT_CALL(kog); }
+ else if(strcmp(crypt_feature,"kof98_prot") == 0) { DRIVER_INIT_CALL(kof98); }
+ else if(strcmp(crypt_feature,"kof99_prot") == 0) { DRIVER_INIT_CALL(kof99); }
+ else if(strcmp(crypt_feature,"kof99k_prot") == 0) { DRIVER_INIT_CALL(kof99k); }
+ else if(strcmp(crypt_feature,"garou_prot") == 0) { DRIVER_INIT_CALL(garou); }
+ else if(strcmp(crypt_feature,"garouh_prot") == 0) { DRIVER_INIT_CALL(garouh); }
+ else if(strcmp(crypt_feature,"garoubl_prot") == 0) { DRIVER_INIT_CALL(garoubl); }
+ else if(strcmp(crypt_feature,"mslug3_prot") == 0) { DRIVER_INIT_CALL(mslug3); }
+ else if(strcmp(crypt_feature,"mslug3h_prot") == 0) { DRIVER_INIT_CALL(mslug3h); }
+ else if(strcmp(crypt_feature,"mslug3b6_prot") == 0) { DRIVER_INIT_CALL(mslug3b6); }
+ else if(strcmp(crypt_feature,"kof2000_prot") == 0) { DRIVER_INIT_CALL(kof2000); }
+ else if(strcmp(crypt_feature,"kof2000n_prot") == 0) { DRIVER_INIT_CALL(kof2000n); }
+ else if(strcmp(crypt_feature,"sengoku3_prot") == 0) { DRIVER_INIT_CALL(sengoku3); }
+ else if(strcmp(crypt_feature,"zupapa_prot") == 0) { DRIVER_INIT_CALL(zupapa); }
+ else if(strcmp(crypt_feature,"kof2001_prot") == 0) { DRIVER_INIT_CALL(kof2001); }
+ else if(strcmp(crypt_feature,"cthd2003_prot") == 0) { DRIVER_INIT_CALL(cthd2003); }
+ else if(strcmp(crypt_feature,"ct2k3sp_prot") == 0) { DRIVER_INIT_CALL(ct2k3sp); }
+ else if(strcmp(crypt_feature,"ct2k3sa_prot") == 0) { DRIVER_INIT_CALL(ct2k3sa); }
+ else if(strcmp(crypt_feature,"kof2002_prot") == 0) { DRIVER_INIT_CALL(kof2002); }
+ else if(strcmp(crypt_feature,"kof2002b_prot") == 0) { DRIVER_INIT_CALL(kof2002b); }
+ else if(strcmp(crypt_feature,"kf2k2pls_prot") == 0) { DRIVER_INIT_CALL(kf2k2pls); }
+ else if(strcmp(crypt_feature,"kf2k2mp_prot") == 0) { DRIVER_INIT_CALL(kf2k2mp); }
+ else if(strcmp(crypt_feature,"kf2k2mp2_prot") == 0) { DRIVER_INIT_CALL(kf2k2mp2); }
+ else if(strcmp(crypt_feature,"kof10th_prot") == 0) { DRIVER_INIT_CALL(kof10th); }
+ else if(strcmp(crypt_feature,"kf10thep_prot") == 0) { DRIVER_INIT_CALL(kf10thep); }
+ else if(strcmp(crypt_feature,"kf2k5uni_prot") == 0) { DRIVER_INIT_CALL(kf2k5uni); }
+ else if(strcmp(crypt_feature,"kof2k4se_prot") == 0) { DRIVER_INIT_CALL(kof2k4se); }
+ else if(strcmp(crypt_feature,"mslug5_prot") == 0) { DRIVER_INIT_CALL(mslug5); }
+ else if(strcmp(crypt_feature,"ms5plus_prot") == 0) { DRIVER_INIT_CALL(ms5plus); }
+ else if(strcmp(crypt_feature,"svc_prot") == 0) { DRIVER_INIT_CALL(svc); }
+ else if(strcmp(crypt_feature,"svcboot_prot") == 0) { DRIVER_INIT_CALL(svcboot); }
+ else if(strcmp(crypt_feature,"svcplus_prot") == 0) { DRIVER_INIT_CALL(svcplus); }
+ else if(strcmp(crypt_feature,"svcplusa_prot") == 0) { DRIVER_INIT_CALL(svcplusa); }
+ else if(strcmp(crypt_feature,"svcsplus_prot") == 0) { DRIVER_INIT_CALL(svcsplus); }
+ else if(strcmp(crypt_feature,"samsho5_prot") == 0) { DRIVER_INIT_CALL(samsho5); }
+ else if(strcmp(crypt_feature,"samsho5b_prot") == 0) { DRIVER_INIT_CALL(samsho5b); }
+ else if(strcmp(crypt_feature,"kof2003_prot") == 0) { DRIVER_INIT_CALL(kof2003); }
+ else if(strcmp(crypt_feature,"kof2003h_prot") == 0) { DRIVER_INIT_CALL(kof2003h); }
+ else if(strcmp(crypt_feature,"kf2k3bl_prot") == 0) { DRIVER_INIT_CALL(kf2k3bl); }
+ else if(strcmp(crypt_feature,"kf2k3pl_prot") == 0) { DRIVER_INIT_CALL(kf2k3pl); }
+ else if(strcmp(crypt_feature,"kf2k3upl_prot") == 0) { DRIVER_INIT_CALL(kf2k3upl); }
+ else if(strcmp(crypt_feature,"samsh5sp_prot") == 0) { DRIVER_INIT_CALL(samsh5sp); }
+ else if(strcmp(crypt_feature,"preisle2_prot") == 0) { DRIVER_INIT_CALL(preisle2); }
+ else if(strcmp(crypt_feature,"nitd_prot") == 0) { DRIVER_INIT_CALL(nitd); }
+ else if(strcmp(crypt_feature,"s1945p_prot") == 0) { DRIVER_INIT_CALL(s1945p); }
+ else if(strcmp(crypt_feature,"lans2004_prot") == 0) { DRIVER_INIT_CALL(lans2004); }
+ else if(strcmp(crypt_feature,"pnyaa_prot") == 0) { DRIVER_INIT_CALL(pnyaa); }
+ else if(strcmp(crypt_feature,"ganryu_prot") == 0) { DRIVER_INIT_CALL(ganryu); }
+ else if(strcmp(crypt_feature,"bangbead_prot") == 0) { DRIVER_INIT_CALL(bangbead); }
+ else if(strcmp(crypt_feature,"mslug4_prot") == 0) { DRIVER_INIT_CALL(mslug4); }
+ else if(strcmp(crypt_feature,"ms4plus_prot") == 0) { DRIVER_INIT_CALL(ms4plus); }
+ else if(strcmp(crypt_feature,"rotd_prot") == 0) { DRIVER_INIT_CALL(rotd); }
+ else if(strcmp(crypt_feature,"matrim_prot") == 0) { DRIVER_INIT_CALL(matrim); }
+ else if(strcmp(crypt_feature,"matrimbl_prot") == 0) { DRIVER_INIT_CALL(matrimbl); }
else { fatalerror("unknown crypt type\n"); }
}
-
- if (neo_gameinit) neo_gameinit(image.device().machine());
}
diff --git a/src/mame/drivers/neogeo.c b/src/mame/drivers/neogeo.c
index 84c943a89ef..34fb3f86138 100644
--- a/src/mame/drivers/neogeo.c
+++ b/src/mame/drivers/neogeo.c
@@ -1343,7 +1343,8 @@ DEVICE_IMAGE_LOAD( neo_cartridge )
image.device().machine().root_device().membank("cart_rom")->set_base(&image.device().machine().root_device().memregion("maincpu")->base()[0x80]);
// handle possible protection
- mvs_install_protection(image);
+ neogeo_state *state = image.device().machine().driver_data<neogeo_state>();
+ state->mvs_install_protection(image);
return IMAGE_INIT_PASS;
}
@@ -1415,10 +1416,9 @@ MACHINE_CONFIG_END
*
*************************************/
-static DRIVER_INIT( neogeo )
+DRIVER_INIT_MEMBER(neogeo_state,neogeo)
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
- state->m_fixed_layer_bank_type = 0;
+ m_fixed_layer_bank_type = 0;
}
diff --git a/src/mame/drivers/neoprint.c b/src/mame/drivers/neoprint.c
index b540081f505..de234fdfff1 100644
--- a/src/mame/drivers/neoprint.c
+++ b/src/mame/drivers/neoprint.c
@@ -50,6 +50,9 @@ public:
DECLARE_WRITE16_MEMBER(nprsp_palette_w);
DECLARE_WRITE8_MEMBER(nprsp_bank_w);
DECLARE_READ16_MEMBER(rom_window_r);
+ DECLARE_DRIVER_INIT(98best44);
+ DECLARE_DRIVER_INIT(npcartv1);
+ DECLARE_DRIVER_INIT(nprsp);
};
@@ -590,9 +593,9 @@ ROM_START( nprsp )
ROM_END
/* FIXME: get rid of these two, probably something to do with irq3 and camera / printer devices */
-static DRIVER_INIT( npcartv1 )
+DRIVER_INIT_MEMBER(neoprint_state,npcartv1)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
ROM[0x1260/2] = 0x4e71;
@@ -600,16 +603,16 @@ static DRIVER_INIT( npcartv1 )
}
-static DRIVER_INIT( 98best44 )
+DRIVER_INIT_MEMBER(neoprint_state,98best44)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
ROM[0x1312/2] = 0x4e71;
}
-static DRIVER_INIT( nprsp )
+DRIVER_INIT_MEMBER(neoprint_state,nprsp)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
ROM[0x13a4/2] = 0x4e71;
ROM[0x13bc/2] = 0x4e71;
diff --git a/src/mame/drivers/neptunp2.c b/src/mame/drivers/neptunp2.c
index 4e98ba459a6..c585a5d2b20 100644
--- a/src/mame/drivers/neptunp2.c
+++ b/src/mame/drivers/neptunp2.c
@@ -134,4 +134,4 @@ ROM_START( neptunp2 )
ROM_END
-GAME( 199?, neptunp2, 0, neptunp2, neptunp2, neptunp2_state, 0, ROT0, "Unidesa?", "Neptune's Pearls 2", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, neptunp2, 0, neptunp2, neptunp2, driver_device, 0, ROT0, "Unidesa?", "Neptune's Pearls 2", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/news.c b/src/mame/drivers/news.c
index 655ccda0c47..ccfde460a4e 100644
--- a/src/mame/drivers/news.c
+++ b/src/mame/drivers/news.c
@@ -183,5 +183,5 @@ ROM_START( newsa )
ROM_LOAD( "virus.1", 0x00000, 0x40000, CRC(41f5935a) SHA1(1566d243f165019660cd4dd69df9f049e0130f15) )
ROM_END
-GAME( 1993, news, 0, news, news, news_state, 0, ROT0, "Poby / Virus", "News (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1993, newsa, news, news, newsa, news_state, 0, ROT0, "Poby", "News (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1993, news, 0, news, news, driver_device, 0, ROT0, "Poby / Virus", "News (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1993, newsa, news, news, newsa, driver_device, 0, ROT0, "Poby", "News (set 2)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/nexus3d.c b/src/mame/drivers/nexus3d.c
index 2020af16759..3230b5100a2 100644
--- a/src/mame/drivers/nexus3d.c
+++ b/src/mame/drivers/nexus3d.c
@@ -47,6 +47,7 @@ public:
DECLARE_READ8_MEMBER(n3d_flash_r);
DECLARE_WRITE8_MEMBER(n3d_flash_cmd_w);
DECLARE_WRITE8_MEMBER(n3d_flash_addr_w);
+ DECLARE_DRIVER_INIT(nexus3d);
};
@@ -259,12 +260,11 @@ ROM_START( acheartf )
// ROM_LOAD( "qs1001a", 0x000000, 0x80000, CRC(d13c6407) SHA1(57b14f97c7d4f9b5d9745d3571a0b7115fbe3176) ) // missing from this set, but should be the same
ROM_END
-static DRIVER_INIT( nexus3d )
+DRIVER_INIT_MEMBER(nexus3d_state,nexus3d)
{
- nexus3d_state *state = machine.driver_data<nexus3d_state>();
// the first part of the flash ROM automatically gets copied to RAM
- memcpy( state->m_mainram, state->memregion("user1")->base(), 4 * 1024);
- state->m_flash_region = state->memregion("user1")->base();
+ memcpy( m_mainram, memregion("user1")->base(), 4 * 1024);
+ m_flash_region = memregion("user1")->base();
}
GAME( 2005, acheart, 0, nexus3d, nexus3d, nexus3d_state, nexus3d, ROT0, "Examu", "Arcana Heart",GAME_IS_SKELETON )
diff --git a/src/mame/drivers/nightgal.c b/src/mame/drivers/nightgal.c
index 302114eb40a..8c6fcb20659 100644
--- a/src/mame/drivers/nightgal.c
+++ b/src/mame/drivers/nightgal.c
@@ -74,6 +74,8 @@ public:
DECLARE_WRITE8_MEMBER(mux_w);
DECLARE_READ8_MEMBER(input_1p_r);
DECLARE_READ8_MEMBER(input_2p_r);
+ DECLARE_DRIVER_INIT(ngalsumr);
+ DECLARE_DRIVER_INIT(royalqn);
};
@@ -1224,18 +1226,18 @@ ROM_START( ngalsumr )
ROM_LOAD( "ng2.6u", 0x00, 0x20, CRC(0162a24a) SHA1(f7e1623c5bca3725f2e59ae2096b9bc42e0363bf) )
ROM_END
-static DRIVER_INIT( royalqn )
+DRIVER_INIT_MEMBER(nightgal_state,royalqn)
{
- UINT8 *ROM = machine.root_device().memregion("sub")->base();
+ UINT8 *ROM = machine().root_device().memregion("sub")->base();
/* patch open bus / protection */
ROM[0xc27e] = 0x02;
ROM[0xc27f] = 0x02;
}
-static DRIVER_INIT( ngalsumr )
+DRIVER_INIT_MEMBER(nightgal_state,ngalsumr)
{
- UINT8 *ROM = machine.root_device().memregion("sub")->base();
+ UINT8 *ROM = machine().root_device().memregion("sub")->base();
/* patch protection */
ROM[0xd6ce] = 0x02;
@@ -1243,12 +1245,12 @@ static DRIVER_INIT( ngalsumr )
}
/* Type 1 HW */
-GAME( 1984, nightgal, 0, royalqn, sexygal, nightgal_state, 0, ROT0, "Nichibutsu", "Night Gal (Japan 840920 AG 1-00)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1984, ngtbunny, 0, royalqn, sexygal, nightgal_state, 0, ROT0, "Nichibutsu", "Night Bunny (Japan 840601 MRN 2-10)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1984, royalngt, ngtbunny, royalqn, sexygal, nightgal_state, 0, ROT0, "Royal Denshi", "Royal Night [BET] (Japan 840220 RN 2-00)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1984, nightgal, 0, royalqn, sexygal, driver_device, 0, ROT0, "Nichibutsu", "Night Gal (Japan 840920 AG 1-00)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1984, ngtbunny, 0, royalqn, sexygal, driver_device, 0, ROT0, "Nichibutsu", "Night Bunny (Japan 840601 MRN 2-10)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1984, royalngt, ngtbunny, royalqn, sexygal, driver_device, 0, ROT0, "Royal Denshi", "Royal Night [BET] (Japan 840220 RN 2-00)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1984, royalqn, 0, royalqn, sexygal, nightgal_state, royalqn, ROT0, "Royal Denshi", "Royal Queen [BET] (Japan 841010 RQ 0-07)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
/* Type 2 HW */
-GAME( 1985, sexygal, 0, sexygal, sexygal, nightgal_state, 0, ROT0, "Nichibutsu", "Sexy Gal (Japan 850501 SXG 1-00)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1985, sweetgal, sexygal, sexygal, sexygal, nightgal_state, 0, ROT0, "Nichibutsu", "Sweet Gal (Japan 850510 SWG 1-02)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1985, sexygal, 0, sexygal, sexygal, driver_device, 0, ROT0, "Nichibutsu", "Sexy Gal (Japan 850501 SXG 1-00)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1985, sweetgal, sexygal, sexygal, sexygal, driver_device, 0, ROT0, "Nichibutsu", "Sweet Gal (Japan 850510 SWG 1-02)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
/* Type 3 HW */
GAME( 1985, ngalsumr, 0, ngalsumr,sexygal, nightgal_state, ngalsumr,ROT0, "Nichibutsu", "Night Gal Summer", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ninjakd2.c b/src/mame/drivers/ninjakd2.c
index b04beeb7c75..a7b9d3499bd 100644
--- a/src/mame/drivers/ninjakd2.c
+++ b/src/mame/drivers/ninjakd2.c
@@ -1462,24 +1462,24 @@ static void gfx_unscramble(running_machine &machine)
*
*************************************/
-static DRIVER_INIT( ninjakd2 )
+DRIVER_INIT_MEMBER(ninjakd2_state,ninjakd2)
{
- mc8123_decrypt_rom(machine, "soundcpu", "user1", NULL, 0);
+ mc8123_decrypt_rom(machine(), "soundcpu", "user1", NULL, 0);
- gfx_unscramble(machine);
+ gfx_unscramble(machine());
}
-static DRIVER_INIT( bootleg )
+DRIVER_INIT_MEMBER(ninjakd2_state,bootleg)
{
- address_space *space = machine.device("soundcpu")->memory().space(AS_PROGRAM);
- space->set_decrypted_region(0x0000, 0x7fff, machine.root_device().memregion("soundcpu")->base() + 0x10000);
+ address_space *space = machine().device("soundcpu")->memory().space(AS_PROGRAM);
+ space->set_decrypted_region(0x0000, 0x7fff, machine().root_device().memregion("soundcpu")->base() + 0x10000);
- gfx_unscramble(machine);
+ gfx_unscramble(machine());
}
-static DRIVER_INIT(mnight)
+DRIVER_INIT_MEMBER(ninjakd2_state,mnight)
{
- gfx_unscramble(machine);
+ gfx_unscramble(machine());
}
@@ -1497,8 +1497,8 @@ GAME( 1987, ninjakd2b, ninjakd2, ninjakd2, rdaction, ninjakd2_state, bootleg, R
GAME( 1987, rdaction, ninjakd2, ninjakd2, rdaction, ninjakd2_state, ninjakd2, ROT0, "UPL (World Games license)", "Rad Action / NinjaKun Ashura no Shou", 0 )
GAME( 1987, mnight, 0, mnight, mnight, ninjakd2_state, mnight, ROT0, "UPL (Kawakus license)", "Mutant Night", 0 )
GAME( 1988, arkarea, 0, arkarea, arkarea, ninjakd2_state, mnight, ROT0, "UPL", "Ark Area", 0 )
-GAME( 1988, robokid, 0, robokid, robokid, ninjakd2_state, 0, ROT0, "UPL", "Atomic Robo-kid", 0 )
-GAME( 1988, robokidj, robokid, robokid, robokidj, ninjakd2_state, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 1)", 0 )
-GAME( 1988, robokidj2, robokid, robokid, robokidj, ninjakd2_state, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 2)", 0 )
-GAME( 1989, omegaf, 0, omegaf, omegaf, ninjakd2_state, 0, ROT270, "UPL", "Omega Fighter", 0 )
-GAME( 1989, omegafs, omegaf, omegaf, omegaf, ninjakd2_state, 0, ROT270, "UPL", "Omega Fighter Special", 0 )
+GAME( 1988, robokid, 0, robokid, robokid, driver_device, 0, ROT0, "UPL", "Atomic Robo-kid", 0 )
+GAME( 1988, robokidj, robokid, robokid, robokidj, driver_device, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 1)", 0 )
+GAME( 1988, robokidj2, robokid, robokid, robokidj, driver_device, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 2)", 0 )
+GAME( 1989, omegaf, 0, omegaf, omegaf, driver_device, 0, ROT270, "UPL", "Omega Fighter", 0 )
+GAME( 1989, omegafs, omegaf, omegaf, omegaf, driver_device, 0, ROT270, "UPL", "Omega Fighter Special", 0 )
diff --git a/src/mame/drivers/ninjaw.c b/src/mame/drivers/ninjaw.c
index a4b73e180ef..2a877e50c4d 100644
--- a/src/mame/drivers/ninjaw.c
+++ b/src/mame/drivers/ninjaw.c
@@ -1178,7 +1178,7 @@ ROM_END
/* Working Games */
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1987, ninjaw, 0, ninjaw, ninjaw, ninjaw_state, 0, ROT0, "Taito Corporation Japan", "The Ninja Warriors (World)", 0 )
-GAME( 1987, ninjawj, ninjaw, ninjaw, ninjawj, ninjaw_state, 0, ROT0, "Taito Corporation", "The Ninja Warriors (Japan)", 0 )
-GAME( 1987, ninjawu, ninjaw, ninjaw, ninjaw, ninjaw_state, 0, ROT0, "Taito Corporation America (licensed to Romstar)", "The Ninja Warriors (US)", 0 ) /* Uses same coinage as World, see notes */
-GAME( 1989, darius2, 0, darius2, darius2, ninjaw_state, 0, ROT0, "Taito Corporation", "Darius II (triple screen) (Japan)", 0 )
+GAME( 1987, ninjaw, 0, ninjaw, ninjaw, driver_device, 0, ROT0, "Taito Corporation Japan", "The Ninja Warriors (World)", 0 )
+GAME( 1987, ninjawj, ninjaw, ninjaw, ninjawj, driver_device, 0, ROT0, "Taito Corporation", "The Ninja Warriors (Japan)", 0 )
+GAME( 1987, ninjawu, ninjaw, ninjaw, ninjaw, driver_device, 0, ROT0, "Taito Corporation America (licensed to Romstar)", "The Ninja Warriors (US)", 0 ) /* Uses same coinage as World, see notes */
+GAME( 1989, darius2, 0, darius2, darius2, driver_device, 0, ROT0, "Taito Corporation", "Darius II (triple screen) (Japan)", 0 )
diff --git a/src/mame/drivers/nitedrvr.c b/src/mame/drivers/nitedrvr.c
index d4a4eb52e5c..83ab0006617 100644
--- a/src/mame/drivers/nitedrvr.c
+++ b/src/mame/drivers/nitedrvr.c
@@ -200,4 +200,4 @@ ROM_END
/* Game Drivers */
-GAME( 1976, nitedrvr, 0, nitedrvr, nitedrvr, nitedrvr_state, 0, ROT0, "Atari", "Night Driver", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1976, nitedrvr, 0, nitedrvr, nitedrvr, driver_device, 0, ROT0, "Atari", "Night Driver", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/niyanpai.c b/src/mame/drivers/niyanpai.c
index a8f273c054a..b863aafbf3e 100644
--- a/src/mame/drivers/niyanpai.c
+++ b/src/mame/drivers/niyanpai.c
@@ -257,19 +257,18 @@ static MACHINE_RESET( niyanpai )
}
}
-static DRIVER_INIT( niyanpai )
+DRIVER_INIT_MEMBER(niyanpai_state,niyanpai)
{
- niyanpai_state *state = machine.driver_data<niyanpai_state>();
- UINT8 *SNDROM = state->memregion("audiocpu")->base();
+ UINT8 *SNDROM = memregion("audiocpu")->base();
// sound program patch
SNDROM[0x0213] = 0x00; // DI -> NOP
// initialize sound rom bank
- niyanpai_soundbank_w(machine, 0);
+ niyanpai_soundbank_w(machine(), 0);
// initialize out coin flag (musobana)
- state->m_musobana_outcoin_flag = 1;
+ m_musobana_outcoin_flag = 1;
}
diff --git a/src/mame/drivers/nmg5.c b/src/mame/drivers/nmg5.c
index 24559772b7f..0830ea37b25 100644
--- a/src/mame/drivers/nmg5.c
+++ b/src/mame/drivers/nmg5.c
@@ -266,6 +266,10 @@ public:
DECLARE_WRITE16_MEMBER(gfx_bank_w);
DECLARE_WRITE16_MEMBER(priority_reg_w);
DECLARE_WRITE8_MEMBER(oki_banking_w);
+ DECLARE_DRIVER_INIT(prot_val_00);
+ DECLARE_DRIVER_INIT(prot_val_10);
+ DECLARE_DRIVER_INIT(prot_val_20);
+ DECLARE_DRIVER_INIT(prot_val_40);
};
@@ -1503,28 +1507,24 @@ ROM_START( 7ordi )
ROM_RELOAD(0x60000,0x20000)
ROM_END
-static DRIVER_INIT( prot_val_00 )
+DRIVER_INIT_MEMBER(nmg5_state,prot_val_00)
{
- nmg5_state *state = machine.driver_data<nmg5_state>();
- state->m_prot_val = 0x00;
+ m_prot_val = 0x00;
}
-static DRIVER_INIT( prot_val_10 )
+DRIVER_INIT_MEMBER(nmg5_state,prot_val_10)
{
- nmg5_state *state = machine.driver_data<nmg5_state>();
- state->m_prot_val = 0x10;
+ m_prot_val = 0x10;
}
-static DRIVER_INIT( prot_val_20 )
+DRIVER_INIT_MEMBER(nmg5_state,prot_val_20)
{
- nmg5_state *state = machine.driver_data<nmg5_state>();
- state->m_prot_val = 0x20;
+ m_prot_val = 0x20;
}
-static DRIVER_INIT( prot_val_40 )
+DRIVER_INIT_MEMBER(nmg5_state,prot_val_40)
{
- nmg5_state *state = machine.driver_data<nmg5_state>();
- state->m_prot_val = 0x40;
+ m_prot_val = 0x40;
}
GAME( 1998, nmg5, 0, nmg5, nmg5, nmg5_state, prot_val_10, ROT0, "Yun Sung", "Multi 5 / New Multi Game 5", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index af0de878eff..22d42d7a6be 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -4497,14 +4497,14 @@ static void decode_ssmissin(running_machine &machine)
}
-static DRIVER_INIT( nmk )
+DRIVER_INIT_MEMBER(nmk16_state,nmk)
{
- decode_gfx(machine);
+ decode_gfx(machine());
}
-static DRIVER_INIT( hachamf )
+DRIVER_INIT_MEMBER(nmk16_state,hachamf)
{
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
//rom[0x0006/2] = 0x7dc2; /* replace reset vector with the "real" one */
@@ -4513,20 +4513,20 @@ static DRIVER_INIT( hachamf )
rom[0x04aa/2] = 0x4e71;
}
-static DRIVER_INIT( tdragonb )
+DRIVER_INIT_MEMBER(nmk16_state,tdragonb)
{
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
- decode_tdragonb(machine);
+ decode_tdragonb(machine());
/* The Following Patch is taken from Raine, Otherwise the game has no Sprites in Attract Mode or After Level 1
which is rather odd considering its a bootleg.. */
rom[0x00308/2] = 0x4e71; /* Sprite Problem */
}
-static DRIVER_INIT( tdragon )
+DRIVER_INIT_MEMBER(nmk16_state,tdragon)
{
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
//rom[0x94b0/2] = 0; /* Patch out JMP to shared memory (protection) */
//rom[0x94b2/2] = 0x92f4;
@@ -4536,12 +4536,12 @@ static DRIVER_INIT( tdragon )
rom[0x04aa/2] = 0x4e71;
}
-static DRIVER_INIT( ssmissin )
+DRIVER_INIT_MEMBER(nmk16_state,ssmissin)
{
- decode_ssmissin(machine);
+ decode_ssmissin(machine());
}
-static DRIVER_INIT( bjtwin )
+DRIVER_INIT_MEMBER(nmk16_state,bjtwin)
{
/* Patch rom to enable test mode */
@@ -4560,7 +4560,7 @@ static DRIVER_INIT( bjtwin )
* 008F7E: 207C 000F 9000 movea.l #$f9000, A0
*/
#if 0
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
rom[0x09172/2] = 0x6006; /* patch checksum error */
rom[0x08f74/2] = 0x4e71;
#endif
@@ -4571,11 +4571,10 @@ static DRIVER_INIT( bjtwin )
/* NO NMK004, it has a PIC instead */
READ16_MEMBER(nmk16_state::vandykeb_r){ return 0x0000; }
-static DRIVER_INIT (vandykeb)
+DRIVER_INIT_MEMBER(nmk16_state,vandykeb)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x08000e, 0x08000f, read16_delegate(FUNC(nmk16_state::vandykeb_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x08001e, 0x08001f);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x08000e, 0x08000f, read16_delegate(FUNC(nmk16_state::vandykeb_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x08001e, 0x08001f);
}
@@ -6446,9 +6445,9 @@ Other: Lattice pLSI 1032 x 2
***************************************************************************/
-static DRIVER_INIT( redhawk )
+DRIVER_INIT_MEMBER(nmk16_state,redhawk)
{
- decryptcode( machine, 23, 22, 21, 20, 19, 18, 16, 15, 14, 17, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
+ decryptcode( machine(), 23, 22, 21, 20, 19, 18, 16, 15, 14, 17, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
}
ROM_START( redhawk ) /* U.S.A., Canada & South America, (c) 1997 */
@@ -6619,9 +6618,9 @@ AF1-B1.UC3 MASK ROM read as 27C160 - Backgrounds
***************************************************************************/
-static DRIVER_INIT( grdnstrm )
+DRIVER_INIT_MEMBER(nmk16_state,grdnstrm)
{
- decryptcode( machine, 23, 22, 21, 20, 19, 18, 16, 17, 14, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
+ decryptcode( machine(), 23, 22, 21, 20, 19, 18, 16, 17, 14, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
}
ROM_START( grdnstrm )
@@ -6809,9 +6808,9 @@ rom11.107 27C040 /
***************************************************************************/
-static DRIVER_INIT( bubl2000 )
+DRIVER_INIT_MEMBER(nmk16_state,bubl2000)
{
- decryptcode( machine, 23, 22, 21, 20, 19, 18, 13, 14, 15, 16, 17, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
+ decryptcode( machine(), 23, 22, 21, 20, 19, 18, 13, 14, 15, 16, 17, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
}
ROM_START( bubl2000 )
@@ -7051,9 +7050,9 @@ UC1, UC2 & UC3 have solder pads for both MX29F1610 Flash & 27C160 EPROMs
***************************************************************************/
-static DRIVER_INIT( spec2k )
+DRIVER_INIT_MEMBER(nmk16_state,spec2k)
{
- decryptcode( machine, 23, 22, 21, 20, 19, 18, 17, 13, 14, 15, 16, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
+ decryptcode( machine(), 23, 22, 21, 20, 19, 18, 17, 13, 14, 15, 16, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
}
ROM_START( spec2k )
@@ -7142,27 +7141,27 @@ ROM_END
***************************************************************************/
-GAME( 1989, tharrier, 0, tharrier, tharrier, nmk16_state, 0, ROT270, "UPL (American Sammy license)", "Task Force Harrier", GAME_IMPERFECT_GRAPHICS )
-GAME( 1989, tharrierj,tharrier, tharrier, tharrier, nmk16_state, 0, ROT270, "UPL", "Task Force Harrier (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1989, tharrier, 0, tharrier, tharrier, driver_device, 0, ROT270, "UPL (American Sammy license)", "Task Force Harrier", GAME_IMPERFECT_GRAPHICS )
+GAME( 1989, tharrierj,tharrier, tharrier, tharrier, driver_device, 0, ROT270, "UPL", "Task Force Harrier (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, mustang, 0, mustang, mustang, nmk16_state, 0, ROT0, "UPL", "US AAF Mustang (25th May. 1990)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, mustangs, mustang, mustang, mustang, nmk16_state, 0, ROT0, "UPL (Seoul Trading license)", "US AAF Mustang (25th May. 1990 / Seoul Trading)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, mustang, 0, mustang, mustang, driver_device, 0, ROT0, "UPL", "US AAF Mustang (25th May. 1990)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, mustangs, mustang, mustang, mustang, driver_device, 0, ROT0, "UPL (Seoul Trading license)", "US AAF Mustang (25th May. 1990 / Seoul Trading)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, bioship, 0, bioship, bioship, nmk16_state, 0, ROT0, "UPL (American Sammy license)", "Bio-ship Paladin", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, sbsgomo, bioship, bioship, bioship, nmk16_state, 0, ROT0, "UPL", "Space Battle Ship Gomorrah", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, bioship, 0, bioship, bioship, driver_device, 0, ROT0, "UPL (American Sammy license)", "Bio-ship Paladin", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, sbsgomo, bioship, bioship, bioship, driver_device, 0, ROT0, "UPL", "Space Battle Ship Gomorrah", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, vandyke, 0, vandyke, vandyke, nmk16_state, 0, ROT270, "UPL", "Vandyke (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, vandykejal, vandyke, vandyke, vandyke, nmk16_state, 0, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 1)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, vandykejal2,vandyke, vandyke, vandyke, nmk16_state, 0, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 2)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, vandyke, 0, vandyke, vandyke, driver_device, 0, ROT270, "UPL", "Vandyke (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, vandykejal, vandyke, vandyke, vandyke, driver_device, 0, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 1)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, vandykejal2,vandyke, vandyke, vandyke, driver_device, 0, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 2)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
GAME( 1990, vandykeb, vandyke, vandykeb, vandykeb, nmk16_state, vandykeb, ROT270, "bootleg", "Vandyke (bootleg with PIC16c57)", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, blkheart, 0, blkheart, blkheart, nmk16_state, 0, ROT0, "UPL", "Black Heart", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, blkheartj,blkheart, blkheart, blkheart, nmk16_state, 0, ROT0, "UPL", "Black Heart (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, blkheart, 0, blkheart, blkheart, driver_device, 0, ROT0, "UPL", "Black Heart", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, blkheartj,blkheart, blkheart, blkheart, driver_device, 0, ROT0, "UPL", "Black Heart (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, acrobatm, 0, acrobatm, acrobatm, nmk16_state, 0, ROT270, "UPL (Taito license)", "Acrobat Mission", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, acrobatm, 0, acrobatm, acrobatm, driver_device, 0, ROT270, "UPL (Taito license)", "Acrobat Mission", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, strahl, 0, strahl, strahl, nmk16_state, 0, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 1)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, strahla, strahl, strahl, strahl, nmk16_state, 0, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 2)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, strahl, 0, strahl, strahl, driver_device, 0, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 1)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, strahla, strahl, strahl, strahl, driver_device, 0, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 2)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
GAME( 1991, tdragon, 0, tdragon, tdragon, nmk16_state, tdragon, ROT270, "NMK (Tecmo license)", "Thunder Dragon (9th Jan. 1992)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
GAME( 1991, tdragon1, tdragon, tdragon, tdragon, nmk16_state, tdragon, ROT270, "NMK (Tecmo license)", "Thunder Dragon (4th Jun. 1991)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
@@ -7170,13 +7169,13 @@ GAME( 1991, tdragon1, tdragon, tdragon, tdragon, nmk16_state, tdragon, ROT27
GAME( 1991, hachamf, 0, hachamf, hachamf, nmk16_state, hachamf, ROT0, "NMK", "Hacha Mecha Fighter (19th Sep. 1991)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1992, macross, 0, macross, macross, nmk16_state, nmk, ROT270, "Banpresto", "Super Spacefortress Macross / Chou-Jikuu Yousai Macross", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
GAME( 1993, gunnail, 0, gunnail, gunnail, nmk16_state, nmk, ROT270, "NMK / Tecmo", "GunNail (28th May. 1992)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, macross2, 0, macross2, macross2, nmk16_state, 0, ROT0, "Banpresto", "Super Spacefortress Macross II / Chou-Jikuu Yousai Macross II", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, macross2, 0, macross2, macross2, driver_device, 0, ROT0, "Banpresto", "Super Spacefortress Macross II / Chou-Jikuu Yousai Macross II", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, tdragon2, 0, tdragon2, tdragon2, nmk16_state, 0, ROT270, "NMK", "Thunder Dragon 2 (9th Nov. 1993)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, tdragon2a,tdragon2, tdragon2, tdragon2, nmk16_state, 0, ROT270, "NMK", "Thunder Dragon 2 (1st Oct. 1993)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, bigbang, tdragon2, tdragon2, tdragon2, nmk16_state, 0, ROT270, "NMK", "Big Bang (9th Nov. 1993)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, tdragon2, 0, tdragon2, tdragon2, driver_device, 0, ROT270, "NMK", "Thunder Dragon 2 (9th Nov. 1993)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, tdragon2a,tdragon2, tdragon2, tdragon2, driver_device, 0, ROT270, "NMK", "Thunder Dragon 2 (1st Oct. 1993)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, bigbang, tdragon2, tdragon2, tdragon2, driver_device, 0, ROT270, "NMK", "Big Bang (9th Nov. 1993)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, raphero, 0, raphero, raphero, nmk16_state, 0, ROT270, "NMK / Media Shoji", "Rapid Hero", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) // 23rd July 1993 in test mode, (c)1994 on title screen
+GAME( 1994, raphero, 0, raphero, raphero, driver_device, 0, ROT270, "NMK / Media Shoji", "Rapid Hero", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) // 23rd July 1993 in test mode, (c)1994 on title screen
/* both sets of both these games show a date of 9th Mar 1992 in the test mode, they look like different revisions so I doubt this is accurate */
GAME( 1992, sabotenb, 0, bjtwin, sabotenb, nmk16_state, nmk, ROT0, "NMK / Tecmo", "Saboten Bombers (set 1)", GAME_NO_COCKTAIL )
@@ -7184,17 +7183,17 @@ GAME( 1992, sabotenba,sabotenb, bjtwin, sabotenb, nmk16_state, nmk, ROT0,
GAME( 1992, cactus, sabotenb, bjtwin, sabotenb, nmk16_state, nmk, ROT0, "bootleg", "Cactus (bootleg of Saboten Bombers)", GAME_NO_COCKTAIL ) // PCB marked 'Cactus', no title screen
GAME( 1993, bjtwin, 0, bjtwin, bjtwin, nmk16_state, bjtwin, ROT270, "NMK", "Bombjack Twin (set 1)", GAME_NO_COCKTAIL )
GAME( 1993, bjtwina, bjtwin, bjtwin, bjtwin, nmk16_state, bjtwin, ROT270, "NMK", "Bombjack Twin (set 2)", GAME_NO_COCKTAIL )
-GAME( 1993, bjtwinp, bjtwin, bjtwin, bjtwin, nmk16_state, 0, ROT270, "NMK", "Bombjack Twin (prototype? with adult pictures)", GAME_NO_COCKTAIL ) // Genuine NMK PCB but GFX aren't encrypted
+GAME( 1993, bjtwinp, bjtwin, bjtwin, bjtwin, driver_device, 0, ROT270, "NMK", "Bombjack Twin (prototype? with adult pictures)", GAME_NO_COCKTAIL ) // Genuine NMK PCB but GFX aren't encrypted
GAME( 1995, nouryoku, 0, bjtwin, nouryoku, nmk16_state, nmk, ROT0, "Tecmo", "Nouryoku Koujou Iinkai", GAME_NO_COCKTAIL )
-GAME( 1995, nouryokup,nouryoku, bjtwin, nouryoku, nmk16_state, 0, ROT0, "Tecmo", "Nouryoku Koujou Iinkai (prototype)", GAME_NO_COCKTAIL ) // GFX aren't encrypted
+GAME( 1995, nouryokup,nouryoku, bjtwin, nouryoku, driver_device, 0, ROT0, "Tecmo", "Nouryoku Koujou Iinkai (prototype)", GAME_NO_COCKTAIL ) // GFX aren't encrypted
/* Non NMK boards */
// these use the seibu sound system (sound / music stolen from Raiden) rather than the bootleggers copying the nmk004
-GAME( 1990, mustangb, mustang, mustangb, mustang, nmk16_state, 0, ROT0, "bootleg", "US AAF Mustang (bootleg)", 0 )
-GAME( 1990, mustangb2,mustang, mustangb, mustang, nmk16_state, 0, ROT0, "bootleg (TAB Austria)", "US AAF Mustang (TAB Austria bootleg)", 0 ) // PCB and roms have TAB Austria stickers
+GAME( 1990, mustangb, mustang, mustangb, mustang, driver_device, 0, ROT0, "bootleg", "US AAF Mustang (bootleg)", 0 )
+GAME( 1990, mustangb2,mustang, mustangb, mustang, driver_device, 0, ROT0, "bootleg (TAB Austria)", "US AAF Mustang (TAB Austria bootleg)", 0 ) // PCB and roms have TAB Austria stickers
GAME( 1991, tdragonb, tdragon, tdragonb, tdragonb, nmk16_state, tdragonb, ROT270, "bootleg", "Thunder Dragon (bootleg)", 0 )
// these are from Comad, based on the Thunder Dragon code?
@@ -7203,13 +7202,13 @@ GAME( 1996, airattck, 0, ssmissin, airattck, nmk16_state, ssmissin, ROT27
GAME( 1996, airattcka,airattck, ssmissin, airattck, nmk16_state, ssmissin, ROT270, "Comad", "Air Attack (set 2)", GAME_NO_COCKTAIL )
// afega & clones
-GAME( 1995, twinactn, 0, twinactn, twinactn, nmk16_state, 0, ROT0, "Afega", "Twin Action", 0 )
-GAME( 1998, stagger1, 0, stagger1, stagger1, nmk16_state, 0, ROT270, "Afega", "Stagger I (Japan)", 0 )
+GAME( 1995, twinactn, 0, twinactn, twinactn, driver_device, 0, ROT0, "Afega", "Twin Action", 0 )
+GAME( 1998, stagger1, 0, stagger1, stagger1, driver_device, 0, ROT270, "Afega", "Stagger I (Japan)", 0 )
GAME( 1997, redhawk, stagger1, stagger1, stagger1, nmk16_state, redhawk, ROT270, "Afega (New Vision Ent. license)", "Red Hawk (US)", 0 )
-GAME( 1997, redhawki, stagger1, redhawki, stagger1, nmk16_state, 0, ROT0, "Afega (Hea Dong Corp license)", "Red Hawk (Italy)", 0 ) // bootleg? strange scroll regs
-GAME( 1997, redhawke, stagger1, stagger1, stagger1, nmk16_state, 0, ROT270, "Afega (Excellent Co. license)", "Red Hawk (Excellent Co., Ltd)", 0 )
-GAME( 1997, redhawkb, stagger1, redhawkb, redhawkb, nmk16_state, 0, ROT0, "bootleg", "Red Hawk (bootleg)", 0 )
-GAME( 1998, grdnstrm, 0, grdnstrm, grdnstrm, nmk16_state, 0, ORIENTATION_FLIP_Y, "Afega (Apples Industries license)", "Guardian Storm", 0 )
+GAME( 1997, redhawki, stagger1, redhawki, stagger1, driver_device, 0, ROT0, "Afega (Hea Dong Corp license)", "Red Hawk (Italy)", 0 ) // bootleg? strange scroll regs
+GAME( 1997, redhawke, stagger1, stagger1, stagger1, driver_device, 0, ROT270, "Afega (Excellent Co. license)", "Red Hawk (Excellent Co., Ltd)", 0 )
+GAME( 1997, redhawkb, stagger1, redhawkb, redhawkb, driver_device, 0, ROT0, "bootleg", "Red Hawk (bootleg)", 0 )
+GAME( 1998, grdnstrm, 0, grdnstrm, grdnstrm, driver_device, 0, ORIENTATION_FLIP_Y, "Afega (Apples Industries license)", "Guardian Storm", 0 )
GAME( 1998, grdnstrmk,grdnstrm, grdnstrmk,grdnstrk, nmk16_state, grdnstrm, ROT270, "Afega", "Sen Jin - Guardian Storm (Korea)", 0 )
GAME( 1998, redfoxwp2,grdnstrm, grdnstrmk,grdnstrk, nmk16_state, grdnstrm, ROT270, "Afega", "Red Fox War Planes II (China)", 0 )
GAME( 1998, bubl2000, 0, popspops, bubl2000, nmk16_state, bubl2000, ROT0, "Tuning", "Bubble 2000", 0 ) // on a tuning board (bootleg?)
@@ -7217,7 +7216,7 @@ GAME( 1998, hotbubl, bubl2000, popspops, bubl2000, nmk16_state, bubl2000, ROT0,
GAME( 1999, popspops, 0, popspops, popspops, nmk16_state, grdnstrm, ROT0, "Afega", "Pop's Pop's", 0 )
GAME( 2000, mangchi, 0, popspops, mangchi, nmk16_state, bubl2000, ROT0, "Afega", "Mang-Chi", 0 )
GAME( 2000, spec2k, 0, firehawk, spec2k, nmk16_state, spec2k, ORIENTATION_FLIP_Y, "Yona Tech", "Spectrum 2000 (Euro)", 0 )
-GAME( 2001, firehawk, 0, firehawk, firehawk, nmk16_state, 0, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk", 0 )
+GAME( 2001, firehawk, 0, firehawk, firehawk, driver_device, 0, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk", 0 )
// bee-oh board - different display / interrupt timing to others?
-GAME( 1991, manybloc, 0, manybloc, manybloc, nmk16_state, 0, ROT270, "Bee-Oh", "Many Block", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1991, manybloc, 0, manybloc, manybloc, driver_device, 0, ROT270, "Bee-Oh", "Many Block", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/norautp.c b/src/mame/drivers/norautp.c
index 31b8c8c066d..ede6ad8d5cd 100644
--- a/src/mame/drivers/norautp.c
+++ b/src/mame/drivers/norautp.c
@@ -3442,13 +3442,13 @@ ROM_END
// ROM[0x0b0b] = 0x00;
//}
-static DRIVER_INIT( enc )
+DRIVER_INIT_MEMBER(norautp_state,enc)
{
/* Attempt to decrypt the program ROM */
-// UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+// UINT8 *rom = machine().root_device().memregion("maincpu")->base();
// UINT8 *buffer;
-// int size = 0x2000; //machine.root_device().memregion("maincpu")->bytes();
+// int size = 0x2000; //machine().root_device().memregion("maincpu")->bytes();
// int start = 0;
// int i;
@@ -3481,21 +3481,21 @@ static DRIVER_INIT( enc )
// free(buffer);
}
-static DRIVER_INIT( deb )
+DRIVER_INIT_MEMBER(norautp_state,deb)
/* Just for debugging purposes */
/* Should be removed soon */
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x02f7] = 0xca;
ROM[0x02f8] = 0x18;
ROM[0x206c] = 0xff;
}
-static DRIVER_INIT( ssa )
+DRIVER_INIT_MEMBER(norautp_state,ssa)
/* Passing the video PPI handshaking lines */
/* Just for debugging purposes */
{
-// UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+// UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
// ROM[0x073b] = 0x00;
// ROM[0x073c] = 0x00;
@@ -3517,27 +3517,27 @@ static DRIVER_INIT( ssa )
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1988, norautp, 0, norautp, norautp, norautp_state, 0, ROT0, "Noraut Ltd.", "Noraut Poker", 0, layout_noraut11 )
-GAMEL( 198?, norautdx, 0, norautp, norautpn, norautp_state, 0, ROT0, "Noraut Ltd.", "Noraut Deluxe Poker (console)", 0, layout_noraut12 )
-GAMEL( 198?, norautpn, norautp, norautp, norautpn, norautp_state, 0, ROT0, "bootleg", "Noraut Deluxe Poker (bootleg)", 0, layout_noraut12 )
-GAMEL( 198?, norautjo, 0, norautp, mainline, norautp_state, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (original)", 0, layout_noraut12 )
-GAMEL( 198?, norautpl, 0, norautpl, mainline, norautp_state, 0, ROT0, "Video Fun Games Ltd.", "Noraut Joker Poker (Prologic HW)", 0, layout_noraut12 )
-GAMEL( 1988, norautjp, norautp, norautp, norautp, norautp_state, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (alt)", 0, layout_noraut11 )
-GAMEL( 1988, norautrh, 0, norautp, norautrh, norautp_state, 0, ROT0, "Noraut Ltd.", "Noraut Red Hot Joker Poker", 0, layout_noraut12 )
-GAMEL( 198?, norautra, 0, norautp, norautrh, norautp_state, 0, ROT0, "Noraut Ltd.", "Noraut Red Hot Joker Poker (alt HW)", 0, layout_noraut12 ) // 1-bet?? where??...
-GAME( 1988, norautu, 0, norautxp, norautp, norautp_state, 0, ROT0, "Noraut Ltd.", "Noraut Poker (NTX10A)", GAME_NOT_WORKING )
-GAME( 2002, noraut3a, 0, norautxp, norautp, norautp_state, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (V3.010a)", GAME_NOT_WORKING )
-GAME( 2003, noraut3b, 0, norautxp, norautp, norautp_state, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (V3.011a)", GAME_NOT_WORKING )
+GAMEL( 1988, norautp, 0, norautp, norautp, driver_device, 0, ROT0, "Noraut Ltd.", "Noraut Poker", 0, layout_noraut11 )
+GAMEL( 198?, norautdx, 0, norautp, norautpn, driver_device, 0, ROT0, "Noraut Ltd.", "Noraut Deluxe Poker (console)", 0, layout_noraut12 )
+GAMEL( 198?, norautpn, norautp, norautp, norautpn, driver_device, 0, ROT0, "bootleg", "Noraut Deluxe Poker (bootleg)", 0, layout_noraut12 )
+GAMEL( 198?, norautjo, 0, norautp, mainline, driver_device, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (original)", 0, layout_noraut12 )
+GAMEL( 198?, norautpl, 0, norautpl, mainline, driver_device, 0, ROT0, "Video Fun Games Ltd.", "Noraut Joker Poker (Prologic HW)", 0, layout_noraut12 )
+GAMEL( 1988, norautjp, norautp, norautp, norautp, driver_device, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (alt)", 0, layout_noraut11 )
+GAMEL( 1988, norautrh, 0, norautp, norautrh, driver_device, 0, ROT0, "Noraut Ltd.", "Noraut Red Hot Joker Poker", 0, layout_noraut12 )
+GAMEL( 198?, norautra, 0, norautp, norautrh, driver_device, 0, ROT0, "Noraut Ltd.", "Noraut Red Hot Joker Poker (alt HW)", 0, layout_noraut12 ) // 1-bet?? where??...
+GAME( 1988, norautu, 0, norautxp, norautp, driver_device, 0, ROT0, "Noraut Ltd.", "Noraut Poker (NTX10A)", GAME_NOT_WORKING )
+GAME( 2002, noraut3a, 0, norautxp, norautp, driver_device, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (V3.010a)", GAME_NOT_WORKING )
+GAME( 2003, noraut3b, 0, norautxp, norautp, driver_device, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (V3.011a)", GAME_NOT_WORKING )
GAMEL( 198?, norautua, 0, norautp, norautp, norautp_state, enc, ROT0, "Noraut Ltd.", "Noraut unknown set 1 (console)", GAME_NOT_WORKING, layout_noraut12 )
GAMEL( 198?, norautub, 0, norautp, norautp, norautp_state, enc, ROT0, "Noraut Ltd.", "Noraut unknown set 2 (console)", GAME_NOT_WORKING, layout_noraut12 )
-GAMEL( 198?, mainline, 0, norautp, mainline, norautp_state, 0, ROT0, "Mainline London", "Mainline Double Joker Poker", 0, layout_noraut12 )
-GAMEL( 199?, df_djpkr, 0, norautp, mainline, norautp_state, 0, ROT0, "DellFern Ltd.", "Double Joker Poker (45%-75% payout)", 0, layout_noraut12 )
-GAMEL( 2005, ndxron10, 0, norautp, ndxron10, norautp_state, 0, ROT0, "<unknown>", "Royal on Ten (Noraut Deluxe hack)", 0, layout_noraut12 )
+GAMEL( 198?, mainline, 0, norautp, mainline, driver_device, 0, ROT0, "Mainline London", "Mainline Double Joker Poker", 0, layout_noraut12 )
+GAMEL( 199?, df_djpkr, 0, norautp, mainline, driver_device, 0, ROT0, "DellFern Ltd.", "Double Joker Poker (45%-75% payout)", 0, layout_noraut12 )
+GAMEL( 2005, ndxron10, 0, norautp, ndxron10, driver_device, 0, ROT0, "<unknown>", "Royal on Ten (Noraut Deluxe hack)", 0, layout_noraut12 )
GAMEL( 1999, cgip30cs, 0, norautx4, norautkl, norautp_state, deb, ROT0, "CGI", "Credit Poker (ver.30c, standard)", 0, layout_noraut12 )
-GAME( 198?, kimblz80, 0, kimble, norautp, norautp_state, 0, ROT0, "Kimble Ireland", "Kimble Double HI-LO (z80 version)", GAME_NOT_WORKING )
-GAME( 1983, pma, 0, nortest1, norautp, norautp_state, 0, ROT0, "PMA", "PMA Poker", GAME_NOT_WORKING )
-GAMEL( 198?, bjpoker, 0, norautxp, norautrh, norautp_state, 0, ROT0, "M.Kramer Manufacturing.", "Poker / Black Jack (Model 7521)", GAME_NOT_WORKING, layout_noraut12 )
-GAME( 19??, newhilop, 0, newhilop, norautp, norautp_state, 0, ROT0, "Song Won?", "New Hi-Low Poker", GAME_NOT_WORKING )
+GAME( 198?, kimblz80, 0, kimble, norautp, driver_device, 0, ROT0, "Kimble Ireland", "Kimble Double HI-LO (z80 version)", GAME_NOT_WORKING )
+GAME( 1983, pma, 0, nortest1, norautp, driver_device, 0, ROT0, "PMA", "PMA Poker", GAME_NOT_WORKING )
+GAMEL( 198?, bjpoker, 0, norautxp, norautrh, driver_device, 0, ROT0, "M.Kramer Manufacturing.", "Poker / Black Jack (Model 7521)", GAME_NOT_WORKING, layout_noraut12 )
+GAME( 19??, newhilop, 0, newhilop, norautp, driver_device, 0, ROT0, "Song Won?", "New Hi-Low Poker", GAME_NOT_WORKING )
/************************************* 8080 sets **************************************/
@@ -3546,18 +3546,18 @@ GAME( 19??, newhilop, 0, newhilop, norautp, norautp_state, 0, ROT0, "S
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAME( 1983, dphl, 0, dphl, norautp, norautp_state, 0, ROT0, "M.Kramer Manufacturing.", "Draw Poker HI-LO (M.Kramer)", GAME_NOT_WORKING )
-GAME( 1983, dphla, 0, dphla, norautp, norautp_state, 0, ROT0, "<unknown>", "Draw Poker HI-LO (Alt)", GAME_NOT_WORKING )
-GAME( 1983, dphljp, 0, dphl, norautp, norautp_state, 0, ROT0, "<unknown>", "Draw Poker HI-LO (Japanese)", GAME_NOT_WORKING )
-GAME( 198?, kimbldhl, 0, kimbldhl, norautp, norautp_state, 0, ROT0, "Kimble Ireland", "Kimble Double HI-LO", GAME_NOT_WORKING )
-GAME( 1983, gtipoker, 0, dphl, norautp, norautp_state, 0, ROT0, "GTI Inc", "GTI Poker", GAME_NOT_WORKING )
-GAME( 1983, smshilo, 0, dphla, norautp, norautp_state, 0, ROT0, "SMS Manufacturing Corp.", "HI-LO Double Up Joker Poker", GAME_NOT_WORKING )
-GAME( 1986, drhl, 0, drhl, norautp, norautp_state, 0, ROT0, "Drews Inc.", "Drews Revenge (v.2.89, set 1)", GAME_NOT_WORKING )
-GAME( 1986, drhla, 0, drhl, norautp, norautp_state, 0, ROT0, "Drews Inc.", "Drews Revenge (v.2.89, set 2)", GAME_NOT_WORKING )
+GAME( 1983, dphl, 0, dphl, norautp, driver_device, 0, ROT0, "M.Kramer Manufacturing.", "Draw Poker HI-LO (M.Kramer)", GAME_NOT_WORKING )
+GAME( 1983, dphla, 0, dphla, norautp, driver_device, 0, ROT0, "<unknown>", "Draw Poker HI-LO (Alt)", GAME_NOT_WORKING )
+GAME( 1983, dphljp, 0, dphl, norautp, driver_device, 0, ROT0, "<unknown>", "Draw Poker HI-LO (Japanese)", GAME_NOT_WORKING )
+GAME( 198?, kimbldhl, 0, kimbldhl, norautp, driver_device, 0, ROT0, "Kimble Ireland", "Kimble Double HI-LO", GAME_NOT_WORKING )
+GAME( 1983, gtipoker, 0, dphl, norautp, driver_device, 0, ROT0, "GTI Inc", "GTI Poker", GAME_NOT_WORKING )
+GAME( 1983, smshilo, 0, dphla, norautp, driver_device, 0, ROT0, "SMS Manufacturing Corp.", "HI-LO Double Up Joker Poker", GAME_NOT_WORKING )
+GAME( 1986, drhl, 0, drhl, norautp, driver_device, 0, ROT0, "Drews Inc.", "Drews Revenge (v.2.89, set 1)", GAME_NOT_WORKING )
+GAME( 1986, drhla, 0, drhl, norautp, driver_device, 0, ROT0, "Drews Inc.", "Drews Revenge (v.2.89, set 2)", GAME_NOT_WORKING )
GAME( 1982, ssjkrpkr, 0, ssjkrpkr, norautp, norautp_state, ssa, ROT0, "Southern Systems & Assembly", "Southern Systems Joker Poker", GAME_NOT_WORKING )
/* The following one also has a custom 68705 MCU */
-GAME( 1993, tpoker2, 0, dphltest, norautp, norautp_state, 0, ROT0, "Micro Manufacturing", "Turbo Poker 2", GAME_NOT_WORKING )
+GAME( 1993, tpoker2, 0, dphltest, norautp, driver_device, 0, ROT0, "Micro Manufacturing", "Turbo Poker 2", GAME_NOT_WORKING )
/************************************ unknown sets ************************************/
@@ -3566,6 +3566,6 @@ GAME( 1993, tpoker2, 0, dphltest, norautp, norautp_state, 0, ROT0, "M
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAME( 198?, fastdrwp, 0, dphl, norautp, norautp_state, 0, ROT0, "Stern Electronics?", "Fast Draw (poker conversion kit)?", GAME_NOT_WORKING )
-GAME( 198?, dphlunka, 0, dphl, norautp, norautp_state, 0, ROT0, "SMS Manufacturing Corp.", "Draw Poker HI-LO (unknown, rev 1)", GAME_NOT_WORKING )
-GAME( 198?, dphlunkb, 0, dphl, norautp, norautp_state, 0, ROT0, "SMS Manufacturing Corp.", "Draw Poker HI-LO (unknown, rev 2)", GAME_NOT_WORKING )
+GAME( 198?, fastdrwp, 0, dphl, norautp, driver_device, 0, ROT0, "Stern Electronics?", "Fast Draw (poker conversion kit)?", GAME_NOT_WORKING )
+GAME( 198?, dphlunka, 0, dphl, norautp, driver_device, 0, ROT0, "SMS Manufacturing Corp.", "Draw Poker HI-LO (unknown, rev 1)", GAME_NOT_WORKING )
+GAME( 198?, dphlunkb, 0, dphl, norautp, driver_device, 0, ROT0, "SMS Manufacturing Corp.", "Draw Poker HI-LO (unknown, rev 2)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/nova2001.c b/src/mame/drivers/nova2001.c
index f11463b872b..963dfd20e2d 100644
--- a/src/mame/drivers/nova2001.c
+++ b/src/mame/drivers/nova2001.c
@@ -1010,15 +1010,15 @@ static void lineswap_gfx_roms(running_machine &machine, const char *region, cons
*
*************************************/
-static DRIVER_INIT( pkunwar )
+DRIVER_INIT_MEMBER(nova2001_state,pkunwar)
{
- lineswap_gfx_roms(machine, "gfx1", 13);
+ lineswap_gfx_roms(machine(), "gfx1", 13);
}
-static DRIVER_INIT( raiders5 )
+DRIVER_INIT_MEMBER(nova2001_state,raiders5)
{
- lineswap_gfx_roms(machine, "gfx1", 13);
- lineswap_gfx_roms(machine, "gfx2", 13);
+ lineswap_gfx_roms(machine(), "gfx1", 13);
+ lineswap_gfx_roms(machine(), "gfx2", 13);
}
@@ -1030,9 +1030,9 @@ static DRIVER_INIT( raiders5 )
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1983, nova2001, 0, nova2001, nova2001, nova2001_state, 0, ROT0, "UPL", "Nova 2001 (Japan)", 0 )
-GAME( 1983, nova2001u, nova2001, nova2001, nova2001, nova2001_state, 0, ROT0, "UPL (Universal license)", "Nova 2001 (US)", 0 )
-GAME( 1984, ninjakun, 0, ninjakun, ninjakun, nova2001_state, 0, ROT0, "UPL (Taito license)", "Ninjakun Majou no Bouken", 0 )
+GAME( 1983, nova2001, 0, nova2001, nova2001, driver_device, 0, ROT0, "UPL", "Nova 2001 (Japan)", 0 )
+GAME( 1983, nova2001u, nova2001, nova2001, nova2001, driver_device, 0, ROT0, "UPL (Universal license)", "Nova 2001 (US)", 0 )
+GAME( 1984, ninjakun, 0, ninjakun, ninjakun, driver_device, 0, ROT0, "UPL (Taito license)", "Ninjakun Majou no Bouken", 0 )
GAME( 1985, pkunwar, 0, pkunwar, pkunwar, nova2001_state, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (US)", 0 )
GAME( 1985, pkunwarj, pkunwar, pkunwar, pkunwar, nova2001_state, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (Japan)", 0 )
GAME( 1985, raiders5, 0, raiders5, raiders5, nova2001_state, raiders5, ROT0, "UPL", "Raiders5", 0 )
diff --git a/src/mame/drivers/nsm.c b/src/mame/drivers/nsm.c
index f3b766fdc3a..8d6817af730 100644
--- a/src/mame/drivers/nsm.c
+++ b/src/mame/drivers/nsm.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(nsm);
};
@@ -31,7 +33,7 @@ void nsm_state::machine_reset()
{
}
-static DRIVER_INIT( nsm )
+DRIVER_INIT_MEMBER(nsm_state,nsm)
{
}
diff --git a/src/mame/drivers/nsmpoker.c b/src/mame/drivers/nsmpoker.c
index 8bc3b15a5f6..af17f1d25d0 100644
--- a/src/mame/drivers/nsmpoker.c
+++ b/src/mame/drivers/nsmpoker.c
@@ -445,4 +445,4 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 198?, nsmpoker, 0, nsmpoker, nsmpoker, nsmpoker_state, 0, ROT0, "NSM", "NSM Poker (TMS9995)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 198?, nsmpoker, 0, nsmpoker, nsmpoker, driver_device, 0, ROT0, "NSM", "NSM Poker (TMS9995)", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/nss.c b/src/mame/drivers/nss.c
index ee86eb60d47..d9589d41acb 100644
--- a/src/mame/drivers/nss.c
+++ b/src/mame/drivers/nss.c
@@ -871,16 +871,16 @@ ROM_START( nss_sten )
ROM_LOAD( "st.ic3", 0x0000, 0x8000, CRC(8880596e) SHA1(ec6d68fc2f51f7d94f496cd72cf898db65324542) )
ROM_END
-GAME( 199?, nss, 0, nss, snes, nss_state, snes, ROT0, "Nintendo", "Nintendo Super System BIOS", GAME_IS_BIOS_ROOT )
-GAME( 1992, nss_actr, nss, nss, snes, nss_state, snes, ROT0, "Enix", "Act Raiser (Nintendo Super System)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // sound sometimes dies, timing issues
-GAME( 1992, nss_adam, nss, nss, snes, nss_state, snes, ROT0, "Ocean", "The Addams Family (Nintendo Super System)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1992, nss_aten, nss, nss, snes, nss_state, snes, ROT0, "Absolute Entertainment Inc.", "David Crane's Amazing Tennis (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1992, nss_con3, nss, nss, snes, nss_state, snes, ROT0, "Konami", "Contra 3: The Alien Wars (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1992, nss_lwep, nss, nss, snes, nss_state, snes, ROT0, "Ocean", "Lethal Weapon (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1992, nss_ncaa, nss, nss, snes, nss_state, snes, ROT0, "Sculptured Software Inc.", "NCAA Basketball (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1992, nss_rob3, nss, nss, snes, nss_state, snes, ROT0, "Ocean", "Robocop 3 (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) // any sprite minus Robocop is missing
-GAME( 1992, nss_skin, nss, nss, snes, nss_state, snes, ROT0, "Irem", "Skins Game (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) // gfx issue caused by timing at start-up
-GAME( 1992, nss_ssoc, nss, nss, snes, nss_state, snes, ROT0, "Human Inc.", "Super Soccer (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1991, nss_smw, nss, nss, snes, nss_state, snes, ROT0, "Nintendo", "Super Mario World (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1991, nss_fzer, nss, nss, snes, nss_state, snes, ROT0, "Nintendo", "F-Zero (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1991, nss_sten, nss, nss, snes, nss_state, snes, ROT0, "Nintendo", "Super Tennis (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 199?, nss, 0, nss, snes, snes_state, snes, ROT0, "Nintendo", "Nintendo Super System BIOS", GAME_IS_BIOS_ROOT )
+GAME( 1992, nss_actr, nss, nss, snes, snes_state, snes, ROT0, "Enix", "Act Raiser (Nintendo Super System)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // sound sometimes dies, timing issues
+GAME( 1992, nss_adam, nss, nss, snes, snes_state, snes, ROT0, "Ocean", "The Addams Family (Nintendo Super System)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1992, nss_aten, nss, nss, snes, snes_state, snes, ROT0, "Absolute Entertainment Inc.", "David Crane's Amazing Tennis (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1992, nss_con3, nss, nss, snes, snes_state, snes, ROT0, "Konami", "Contra 3: The Alien Wars (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1992, nss_lwep, nss, nss, snes, snes_state, snes, ROT0, "Ocean", "Lethal Weapon (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1992, nss_ncaa, nss, nss, snes, snes_state, snes, ROT0, "Sculptured Software Inc.", "NCAA Basketball (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1992, nss_rob3, nss, nss, snes, snes_state, snes, ROT0, "Ocean", "Robocop 3 (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) // any sprite minus Robocop is missing
+GAME( 1992, nss_skin, nss, nss, snes, snes_state, snes, ROT0, "Irem", "Skins Game (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) // gfx issue caused by timing at start-up
+GAME( 1992, nss_ssoc, nss, nss, snes, snes_state, snes, ROT0, "Human Inc.", "Super Soccer (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1991, nss_smw, nss, nss, snes, snes_state, snes, ROT0, "Nintendo", "Super Mario World (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1991, nss_fzer, nss, nss, snes, snes_state, snes, ROT0, "Nintendo", "F-Zero (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1991, nss_sten, nss, nss, snes, snes_state, snes, ROT0, "Nintendo", "Super Tennis (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/nwk-tr.c b/src/mame/drivers/nwk-tr.c
index d898c4f3095..93859f84313 100644
--- a/src/mame/drivers/nwk-tr.c
+++ b/src/mame/drivers/nwk-tr.c
@@ -250,6 +250,7 @@ public:
DECLARE_WRITE32_MEMBER(lanc2_w);
DECLARE_READ32_MEMBER(dsp_dataram_r);
DECLARE_WRITE32_MEMBER(dsp_dataram_w);
+ DECLARE_DRIVER_INIT(nwktr);
};
@@ -735,16 +736,15 @@ MACHINE_CONFIG_END
/*****************************************************************************/
-static DRIVER_INIT(nwktr)
+DRIVER_INIT_MEMBER(nwktr_state,nwktr)
{
- nwktr_state *state = machine.driver_data<nwktr_state>();
- init_konami_cgboard(machine, 1, CGBOARD_TYPE_NWKTR);
- set_cgboard_texture_bank(machine, 0, "bank5", state->memregion("user5")->base());
+ init_konami_cgboard(machine(), 1, CGBOARD_TYPE_NWKTR);
+ set_cgboard_texture_bank(machine(), 0, "bank5", memregion("user5")->base());
- state->m_sharc_dataram = auto_alloc_array(machine, UINT32, 0x100000/4);
- state->m_led_reg0 = state->m_led_reg1 = 0x7f;
+ m_sharc_dataram = auto_alloc_array(machine(), UINT32, 0x100000/4);
+ m_led_reg0 = m_led_reg1 = 0x7f;
- lanc2_init(machine);
+ lanc2_init(machine());
}
diff --git a/src/mame/drivers/nycaptor.c b/src/mame/drivers/nycaptor.c
index 2f38c2c987b..b73ade6628f 100644
--- a/src/mame/drivers/nycaptor.c
+++ b/src/mame/drivers/nycaptor.c
@@ -1338,40 +1338,36 @@ ROM_START( colt )
ROM_LOAD( "a50_14", 0x1c000, 0x4000, CRC(24b2f1bf) SHA1(4757aec2e4b99ce33d993ce1e19ee46a4eb76e86) )
ROM_END
-static DRIVER_INIT( nycaptor )
+DRIVER_INIT_MEMBER(nycaptor_state,nycaptor)
{
- nycaptor_state *state = machine.driver_data<nycaptor_state>();
- state->m_gametype = 0;
+ m_gametype = 0;
}
-static DRIVER_INIT( cyclshtg )
+DRIVER_INIT_MEMBER(nycaptor_state,cyclshtg)
{
- nycaptor_state *state = machine.driver_data<nycaptor_state>();
- state->m_gametype = 1;
+ m_gametype = 1;
}
-static DRIVER_INIT( bronx )
+DRIVER_INIT_MEMBER(nycaptor_state,bronx)
{
- nycaptor_state *state = machine.driver_data<nycaptor_state>();
int i;
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
for (i = 0; i < 0x20000; i++)
rom[i] = BITSWAP8(rom[i], 0, 1, 2, 3, 4, 5, 6, 7);
- state->m_gametype = 1;
+ m_gametype = 1;
}
-static DRIVER_INIT( colt )
+DRIVER_INIT_MEMBER(nycaptor_state,colt)
{
- nycaptor_state *state = machine.driver_data<nycaptor_state>();
int i;
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
for (i = 0; i < 0x20000; i++)
rom[i] = BITSWAP8(rom[i], 0, 1, 2, 3, 4, 5, 6, 7);
- state->m_gametype = 2;
+ m_gametype = 2;
}
GAME( 1985, nycaptor, 0, nycaptor, nycaptor, nycaptor_state, nycaptor, ROT0, "Taito", "N.Y. Captor", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/nyny.c b/src/mame/drivers/nyny.c
index 7f7bc06c150..990555e3468 100644
--- a/src/mame/drivers/nyny.c
+++ b/src/mame/drivers/nyny.c
@@ -833,6 +833,6 @@ ROM_END
*
*************************************/
-GAME( 1980, nyny, 0, nyny, nyny, nyny_state, 0, ROT270, "Sigma Enterprises Inc.", "New York! New York!", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, nynyg, nyny, nyny, nyny, nyny_state, 0, ROT270, "Sigma Enterprises Inc. (Gottlieb license)", "New York! New York! (Gottlieb)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, warcadia,nyny, nyny, nyny, nyny_state, 0, ROT270, "Sigma Enterprises Inc.", "Waga Seishun no Arcadia", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, nyny, 0, nyny, nyny, driver_device, 0, ROT270, "Sigma Enterprises Inc.", "New York! New York!", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, nynyg, nyny, nyny, nyny, driver_device, 0, ROT270, "Sigma Enterprises Inc. (Gottlieb license)", "New York! New York! (Gottlieb)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, warcadia,nyny, nyny, nyny, driver_device, 0, ROT270, "Sigma Enterprises Inc.", "Waga Seishun no Arcadia", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/offtwall.c b/src/mame/drivers/offtwall.c
index 11a90f6eaa4..393ed336558 100644
--- a/src/mame/drivers/offtwall.c
+++ b/src/mame/drivers/offtwall.c
@@ -485,29 +485,27 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( offtwall )
+DRIVER_INIT_MEMBER(offtwall_state,offtwall)
{
- offtwall_state *state = machine.driver_data<offtwall_state>();
- atarijsa_init(machine, "260010", 0x0040);
+ atarijsa_init(machine(), "260010", 0x0040);
/* install son-of-slapstic workarounds */
- state->m_spritecache_count = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3fde42, 0x3fde43, read16_delegate(FUNC(offtwall_state::spritecache_count_r),state));
- state->m_bankswitch_base = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x037ec2, 0x037f39, read16_delegate(FUNC(offtwall_state::bankswitch_r),state));
- state->m_unknown_verify_base = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3fdf1e, 0x3fdf1f, read16_delegate(FUNC(offtwall_state::unknown_verify_r),state));
+ m_spritecache_count = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3fde42, 0x3fde43, read16_delegate(FUNC(offtwall_state::spritecache_count_r),this));
+ m_bankswitch_base = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x037ec2, 0x037f39, read16_delegate(FUNC(offtwall_state::bankswitch_r),this));
+ m_unknown_verify_base = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3fdf1e, 0x3fdf1f, read16_delegate(FUNC(offtwall_state::unknown_verify_r),this));
}
-static DRIVER_INIT( offtwalc )
+DRIVER_INIT_MEMBER(offtwall_state,offtwalc)
{
- offtwall_state *state = machine.driver_data<offtwall_state>();
- atarijsa_init(machine, "260010", 0x0040);
+ atarijsa_init(machine(), "260010", 0x0040);
/* install son-of-slapstic workarounds */
- state->m_spritecache_count = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3fde42, 0x3fde43, read16_delegate(FUNC(offtwall_state::spritecache_count_r),state));
- state->m_bankswitch_base = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x037eca, 0x037f43, read16_delegate(FUNC(offtwall_state::bankswitch_r),state));
- state->m_unknown_verify_base = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3fdf24, 0x3fdf25, read16_delegate(FUNC(offtwall_state::unknown_verify_r),state));
+ m_spritecache_count = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3fde42, 0x3fde43, read16_delegate(FUNC(offtwall_state::spritecache_count_r),this));
+ m_bankswitch_base = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x037eca, 0x037f43, read16_delegate(FUNC(offtwall_state::bankswitch_r),this));
+ m_unknown_verify_base = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3fdf24, 0x3fdf25, read16_delegate(FUNC(offtwall_state::unknown_verify_r),this));
}
diff --git a/src/mame/drivers/ohmygod.c b/src/mame/drivers/ohmygod.c
index 12f102d5286..a2f9652b949 100644
--- a/src/mame/drivers/ohmygod.c
+++ b/src/mame/drivers/ohmygod.c
@@ -389,16 +389,14 @@ ROM_END
-static DRIVER_INIT( ohmygod )
+DRIVER_INIT_MEMBER(ohmygod_state,ohmygod)
{
- ohmygod_state *state = machine.driver_data<ohmygod_state>();
- state->m_adpcm_bank_shift = 4;
+ m_adpcm_bank_shift = 4;
}
-static DRIVER_INIT( naname )
+DRIVER_INIT_MEMBER(ohmygod_state,naname)
{
- ohmygod_state *state = machine.driver_data<ohmygod_state>();
- state->m_adpcm_bank_shift = 0;
+ m_adpcm_bank_shift = 0;
}
diff --git a/src/mame/drivers/ojankohs.c b/src/mame/drivers/ojankohs.c
index 7749b9a2535..593ea8f4b50 100644
--- a/src/mame/drivers/ojankohs.c
+++ b/src/mame/drivers/ojankohs.c
@@ -1094,8 +1094,8 @@ ROM_START( ojankoc )
ROM_END
-GAME( 1986, ojankoc, 0, ojankoc, ojankoc, ojankohs_state, 0, ROT0, "V-System Co.", "Ojanko Club (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ojankoy, 0, ojankoy, ojankoy, ojankohs_state, 0, ROT0, "V-System Co.", "Ojanko Yakata (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ojanko2, 0, ojankoy, ojankoy, ojankohs_state, 0, ROT0, "V-System Co.", "Ojanko Yakata 2bankan (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ccasino, 0, ccasino, ccasino, ojankohs_state, 0, ROT0, "V-System Co.", "Chinese Casino [BET] (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ojankohs, 0, ojankohs, ojankohs, ojankohs_state, 0, ROT0, "V-System Co.", "Ojanko High School (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ojankoc, 0, ojankoc, ojankoc, driver_device, 0, ROT0, "V-System Co.", "Ojanko Club (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ojankoy, 0, ojankoy, ojankoy, driver_device, 0, ROT0, "V-System Co.", "Ojanko Yakata (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ojanko2, 0, ojankoy, ojankoy, driver_device, 0, ROT0, "V-System Co.", "Ojanko Yakata 2bankan (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ccasino, 0, ccasino, ccasino, driver_device, 0, ROT0, "V-System Co.", "Chinese Casino [BET] (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, ojankohs, 0, ojankohs, ojankohs, driver_device, 0, ROT0, "V-System Co.", "Ojanko High School (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/olibochu.c b/src/mame/drivers/olibochu.c
index 16a00732985..23de12509db 100644
--- a/src/mame/drivers/olibochu.c
+++ b/src/mame/drivers/olibochu.c
@@ -524,4 +524,4 @@ ROM_END
-GAME( 1981, olibochu, 0, olibochu, olibochu, olibochu_state, 0, ROT270, "Irem / GDI", "Oli-Boo-Chu", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, olibochu, 0, olibochu, olibochu, driver_device, 0, ROT270, "Irem / GDI", "Oli-Boo-Chu", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/omegrace.c b/src/mame/drivers/omegrace.c
index 37a1fdbde71..e941eb5ce32 100644
--- a/src/mame/drivers/omegrace.c
+++ b/src/mame/drivers/omegrace.c
@@ -233,6 +233,7 @@ public:
DECLARE_READ8_MEMBER(omegrace_spinner1_r);
DECLARE_WRITE8_MEMBER(omegrace_leds_w);
DECLARE_WRITE8_MEMBER(omegrace_soundlatch_w);
+ DECLARE_DRIVER_INIT(omegrace);
};
@@ -587,10 +588,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( omegrace )
+DRIVER_INIT_MEMBER(omegrace_state,omegrace)
{
- int i, len = machine.root_device().memregion("user1")->bytes();
- UINT8 *prom = machine.root_device().memregion("user1")->base();
+ int i, len = machine().root_device().memregion("user1")->bytes();
+ UINT8 *prom = machine().root_device().memregion("user1")->base();
/* Omega Race has two pairs of the state PROM output
* lines swapped before going into the decoder.
diff --git a/src/mame/drivers/oneshot.c b/src/mame/drivers/oneshot.c
index 11dd297ac9e..86866426c3a 100644
--- a/src/mame/drivers/oneshot.c
+++ b/src/mame/drivers/oneshot.c
@@ -494,6 +494,6 @@ ROM_END
-GAME( 1995, maddonna, 0, maddonna, maddonna, oneshot_state, 0, ROT0, "Tuning", "Mad Donna (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1995, maddonnb, maddonna, maddonna, maddonna, oneshot_state, 0, ROT0, "Tuning", "Mad Donna (set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1996, oneshot, 0, oneshot, oneshot , oneshot_state, 0, ROT0, "Promat", "One Shot One Kill", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1995, maddonna, 0, maddonna, maddonna, driver_device, 0, ROT0, "Tuning", "Mad Donna (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1995, maddonnb, maddonna, maddonna, maddonna, driver_device, 0, ROT0, "Tuning", "Mad Donna (set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1996, oneshot, 0, oneshot, oneshot , driver_device, 0, ROT0, "Promat", "One Shot One Kill", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/onetwo.c b/src/mame/drivers/onetwo.c
index 39da6e9fcda..4b12cf6597d 100644
--- a/src/mame/drivers/onetwo.c
+++ b/src/mame/drivers/onetwo.c
@@ -438,5 +438,5 @@ ROM_END
*
*************************************/
-GAME( 1997, onetwo, 0, onetwo, onetwo, onetwo_state, 0, ROT0, "Barko", "One + Two", GAME_SUPPORTS_SAVE )
-GAME( 1997, onetwoe, onetwo, onetwo, onetwo, onetwo_state, 0, ROT0, "Barko", "One + Two (earlier)", GAME_SUPPORTS_SAVE )
+GAME( 1997, onetwo, 0, onetwo, onetwo, driver_device, 0, ROT0, "Barko", "One + Two", GAME_SUPPORTS_SAVE )
+GAME( 1997, onetwoe, onetwo, onetwo, onetwo, driver_device, 0, ROT0, "Barko", "One + Two (earlier)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/opwolf.c b/src/mame/drivers/opwolf.c
index af37c5e0816..cb648b0987f 100644
--- a/src/mame/drivers/opwolf.c
+++ b/src/mame/drivers/opwolf.c
@@ -976,35 +976,33 @@ ROM_START( opwolfb )
ROM_END
-static DRIVER_INIT( opwolf )
+DRIVER_INIT_MEMBER(opwolf_state,opwolf)
{
- opwolf_state *state = machine.driver_data<opwolf_state>();
- UINT16* rom = (UINT16*)state->memregion("maincpu")->base();
+ UINT16* rom = (UINT16*)memregion("maincpu")->base();
- state->m_opwolf_region = rom[0x03fffe / 2] & 0xff;
+ m_opwolf_region = rom[0x03fffe / 2] & 0xff;
- opwolf_cchip_init(machine);
+ opwolf_cchip_init(machine());
// World & US version have different gun offsets, presumably slightly different gun hardware
- state->m_opwolf_gun_xoffs = 0xec - (rom[0x03ffb0 / 2] & 0xff);
- state->m_opwolf_gun_yoffs = 0x1c - (rom[0x03ffae / 2] & 0xff);
+ m_opwolf_gun_xoffs = 0xec - (rom[0x03ffb0 / 2] & 0xff);
+ m_opwolf_gun_yoffs = 0x1c - (rom[0x03ffae / 2] & 0xff);
- state->membank("bank10")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000, 0x4000);
+ membank("bank10")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x4000);
}
-static DRIVER_INIT( opwolfb )
+DRIVER_INIT_MEMBER(opwolf_state,opwolfb)
{
- opwolf_state *state = machine.driver_data<opwolf_state>();
- UINT16* rom = (UINT16*)state->memregion("maincpu")->base();
+ UINT16* rom = (UINT16*)memregion("maincpu")->base();
- state->m_opwolf_region = rom[0x03fffe / 2] & 0xff;
+ m_opwolf_region = rom[0x03fffe / 2] & 0xff;
/* bootleg needs different range of raw gun coords */
- state->m_opwolf_gun_xoffs = -2;
- state->m_opwolf_gun_yoffs = 17;
+ m_opwolf_gun_xoffs = -2;
+ m_opwolf_gun_yoffs = 17;
- state->membank("bank10")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000, 0x4000);
+ membank("bank10")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x4000);
}
diff --git a/src/mame/drivers/orbit.c b/src/mame/drivers/orbit.c
index 2147e28e267..82bf20d8ae9 100644
--- a/src/mame/drivers/orbit.c
+++ b/src/mame/drivers/orbit.c
@@ -372,4 +372,4 @@ ROM_END
*
*************************************/
-GAME( 1978, orbit, 0, orbit, orbit, orbit_state, 0, 0, "Atari", "Orbit", GAME_SUPPORTS_SAVE )
+GAME( 1978, orbit, 0, orbit, orbit, driver_device, 0, 0, "Atari", "Orbit", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/othello.c b/src/mame/drivers/othello.c
index 54618d980bf..e5dc1535f25 100644
--- a/src/mame/drivers/othello.c
+++ b/src/mame/drivers/othello.c
@@ -476,4 +476,4 @@ ROM_START( othello )
ROM_LOAD( "7.ic42", 0x4000, 0x2000, CRC(a76705f7) SHA1(b7d2a65d65d065732ddd0b3b738749369b382b48))
ROM_END
-GAME( 1984, othello, 0, othello, othello, othello_state, 0, ROT0, "Success", "Othello (version 3.0)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, othello, 0, othello, othello, driver_device, 0, ROT0, "Success", "Othello (version 3.0)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/othldrby.c b/src/mame/drivers/othldrby.c
index 5d8d5558c7d..5bcbff321c7 100644
--- a/src/mame/drivers/othldrby.c
+++ b/src/mame/drivers/othldrby.c
@@ -290,4 +290,4 @@ ROM_START( othldrby )
ROM_LOAD( "db0.4", 0x00000, 0x80000, CRC(a9701868) SHA1(9ee89556666d358e8d3915622573b3ba660048b8) )
ROM_END
-GAME( 1995, othldrby, 0, othldrby, othldrby, othldrby_state, 0, ROT0, "Sunwise", "Othello Derby (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, othldrby, 0, othldrby, othldrby, driver_device, 0, ROT0, "Sunwise", "Othello Derby (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/othunder.c b/src/mame/drivers/othunder.c
index c77212e834f..34842174c68 100644
--- a/src/mame/drivers/othunder.c
+++ b/src/mame/drivers/othunder.c
@@ -932,7 +932,7 @@ ROM_END
-GAME( 1988, othunder, 0, othunder, othunder, othunder_state, 0, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Operation Thunderbolt (World)", GAME_SUPPORTS_SAVE )
-GAME( 1988, othunderu, othunder, othunder, othundu, othunder_state, 0, ORIENTATION_FLIP_X, "Taito America Corporation", "Operation Thunderbolt (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, othunderuo, othunder, othunder, othundu, othunder_state, 0, ORIENTATION_FLIP_X, "Taito America Corporation", "Operation Thunderbolt (US, older)", GAME_SUPPORTS_SAVE )
-GAME( 1988, othunderj, othunder, othunder, othundrj, othunder_state, 0, ORIENTATION_FLIP_X, "Taito Corporation", "Operation Thunderbolt (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, othunder, 0, othunder, othunder, driver_device, 0, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Operation Thunderbolt (World)", GAME_SUPPORTS_SAVE )
+GAME( 1988, othunderu, othunder, othunder, othundu, driver_device, 0, ORIENTATION_FLIP_X, "Taito America Corporation", "Operation Thunderbolt (US)", GAME_SUPPORTS_SAVE )
+GAME( 1988, othunderuo, othunder, othunder, othundu, driver_device, 0, ORIENTATION_FLIP_X, "Taito America Corporation", "Operation Thunderbolt (US, older)", GAME_SUPPORTS_SAVE )
+GAME( 1988, othunderj, othunder, othunder, othundrj, driver_device, 0, ORIENTATION_FLIP_X, "Taito Corporation", "Operation Thunderbolt (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/overdriv.c b/src/mame/drivers/overdriv.c
index cb6f47ccc29..f8f37fb36b4 100644
--- a/src/mame/drivers/overdriv.c
+++ b/src/mame/drivers/overdriv.c
@@ -436,4 +436,4 @@ ROM_START( overdriv )
ROM_LOAD( "e02.f1", 0x100000, 0x100000, CRC(bdd3b5c6) SHA1(412332d64052c0a3714f4002c944b0e7d32980a4) )
ROM_END
-GAMEL( 1990, overdriv, 0, overdriv, overdriv, overdriv_state, 0, ROT90, "Konami", "Over Drive", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_overdriv )
+GAMEL( 1990, overdriv, 0, overdriv, overdriv, driver_device, 0, ROT90, "Konami", "Over Drive", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_overdriv )
diff --git a/src/mame/drivers/pachifev.c b/src/mame/drivers/pachifev.c
index 43c9603c611..8fe0d8381ac 100644
--- a/src/mame/drivers/pachifev.c
+++ b/src/mame/drivers/pachifev.c
@@ -399,4 +399,4 @@ ROM_START( pachifev )
ROM_END
-GAME( 1983, pachifev, 0, pachifev, pachifev, pachifev_state, 0, ROT270, "Sanki Denshi Kogyo", "Pachifever", GAME_IMPERFECT_SOUND )
+GAME( 1983, pachifev, 0, pachifev, pachifev, driver_device, 0, ROT270, "Sanki Denshi Kogyo", "Pachifever", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/pacland.c b/src/mame/drivers/pacland.c
index 1cdce8b3220..ac22013d89d 100644
--- a/src/mame/drivers/pacland.c
+++ b/src/mame/drivers/pacland.c
@@ -627,8 +627,8 @@ ROM_END
-GAME( 1984, pacland, 0, pacland, pacland, pacland_state, 0, ROT0, "Namco", "Pac-Land (World)", GAME_SUPPORTS_SAVE )
-GAME( 1984, paclandj, pacland, pacland, pacland, pacland_state, 0, ROT0, "Namco", "Pac-Land (Japan new)", GAME_SUPPORTS_SAVE )
-GAME( 1984, paclandjo, pacland, pacland, pacland, pacland_state, 0, ROT0, "Namco", "Pac-Land (Japan old)", GAME_SUPPORTS_SAVE )
-GAME( 1984, paclandjo2,pacland, pacland, pacland, pacland_state, 0, ROT0, "Namco", "Pac-Land (Japan older)", GAME_SUPPORTS_SAVE )
-GAME( 1984, paclandm, pacland, pacland, pacland, pacland_state, 0, ROT0, "Namco (Bally Midway license)", "Pac-Land (Midway)", GAME_SUPPORTS_SAVE )
+GAME( 1984, pacland, 0, pacland, pacland, driver_device, 0, ROT0, "Namco", "Pac-Land (World)", GAME_SUPPORTS_SAVE )
+GAME( 1984, paclandj, pacland, pacland, pacland, driver_device, 0, ROT0, "Namco", "Pac-Land (Japan new)", GAME_SUPPORTS_SAVE )
+GAME( 1984, paclandjo, pacland, pacland, pacland, driver_device, 0, ROT0, "Namco", "Pac-Land (Japan old)", GAME_SUPPORTS_SAVE )
+GAME( 1984, paclandjo2,pacland, pacland, pacland, driver_device, 0, ROT0, "Namco", "Pac-Land (Japan older)", GAME_SUPPORTS_SAVE )
+GAME( 1984, paclandm, pacland, pacland, pacland, driver_device, 0, ROT0, "Namco (Bally Midway license)", "Pac-Land (Midway)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pacman.c b/src/mame/drivers/pacman.c
index 18a7b4aca9e..8b9e0f8b1cd 100644
--- a/src/mame/drivers/pacman.c
+++ b/src/mame/drivers/pacman.c
@@ -5729,14 +5729,13 @@ static void maketrax_rom_decode(running_machine &machine)
decrypted[0x3aef] = 0xb0;
}
-static DRIVER_INIT( maketrax )
+DRIVER_INIT_MEMBER(pacman_state,maketrax)
{
/* set up protection handlers */
- pacman_state *state = machine.driver_data<pacman_state>();
- state->m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x5080, 0x50bf, read8_delegate(FUNC(pacman_state::maketrax_special_port2_r),state));
- state->m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x50c0, 0x50ff, read8_delegate(FUNC(pacman_state::maketrax_special_port3_r),state));
+ m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x5080, 0x50bf, read8_delegate(FUNC(pacman_state::maketrax_special_port2_r),this));
+ m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x50c0, 0x50ff, read8_delegate(FUNC(pacman_state::maketrax_special_port3_r),this));
- maketrax_rom_decode(machine);
+ maketrax_rom_decode(machine());
}
static void korosuke_rom_decode(running_machine &machine)
@@ -5763,27 +5762,26 @@ static void korosuke_rom_decode(running_machine &machine)
decrypted[0x3af3] = 0xb0;
}
-static DRIVER_INIT( korosuke )
+DRIVER_INIT_MEMBER(pacman_state,korosuke)
{
/* set up protection handlers */
- pacman_state *state = machine.driver_data<pacman_state>();
- state->m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x5080, 0x5080, read8_delegate(FUNC(pacman_state::korosuke_special_port2_r),state));
- state->m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x50c0, 0x50ff, read8_delegate(FUNC(pacman_state::korosuke_special_port3_r),state));
+ m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x5080, 0x5080, read8_delegate(FUNC(pacman_state::korosuke_special_port2_r),this));
+ m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x50c0, 0x50ff, read8_delegate(FUNC(pacman_state::korosuke_special_port3_r),this));
- korosuke_rom_decode(machine);
+ korosuke_rom_decode(machine());
}
-static DRIVER_INIT( ponpoko )
+DRIVER_INIT_MEMBER(pacman_state,ponpoko)
{
/* The gfx data is swapped wrt the other Pac-Man hardware games. */
/* Here we revert it to the usual format. */
int i, j;
UINT8 *RAM, temp;
- int length = machine.root_device().memregion("gfx1")->bytes()/2;
+ int length = machine().root_device().memregion("gfx1")->bytes()/2;
/* Characters */
- RAM = machine.root_device().memregion("gfx1")->base();
+ RAM = machine().root_device().memregion("gfx1")->base();
for (i = 0;i < length;i += 0x10)
{
for (j = 0; j < 8; j++)
@@ -5795,7 +5793,7 @@ static DRIVER_INIT( ponpoko )
}
/* Sprites */
- RAM = machine.root_device().memregion("gfx1")->base()+length;
+ RAM = machine().root_device().memregion("gfx1")->base()+length;
for (i = 0;i < length;i += 0x20)
{
for (j = 0; j < 8; j++)
@@ -5825,7 +5823,7 @@ static void eyes_decode(UINT8 *data)
}
}
-static DRIVER_INIT( eyes )
+DRIVER_INIT_MEMBER(pacman_state,eyes)
{
int i, len;
UINT8 *RAM;
@@ -5833,7 +5831,7 @@ static DRIVER_INIT( eyes )
/* CPU ROMs */
/* Data lines D3 and D5 swapped */
- RAM = machine.root_device().memregion("maincpu")->base();
+ RAM = machine().root_device().memregion("maincpu")->base();
for (i = 0; i < 0x4000; i++)
{
RAM[i] = BITSWAP8(RAM[i],7,6,3,4,5,2,1,0);
@@ -5843,8 +5841,8 @@ static DRIVER_INIT( eyes )
/* Graphics ROMs */
/* Data lines D4 and D6 and address lines A0 and A2 are swapped */
- RAM = machine.root_device().memregion("gfx1")->base();
- len = machine.root_device().memregion("gfx1")->bytes();
+ RAM = machine().root_device().memregion("gfx1")->base();
+ len = machine().root_device().memregion("gfx1")->bytes();
for (i = 0;i < len;i += 8)
eyes_decode(&RAM[i]);
}
@@ -5908,7 +5906,7 @@ static void mspacman_install_patches(UINT8 *ROM)
}
}
-static DRIVER_INIT( mspacman )
+DRIVER_INIT_MEMBER(pacman_state,mspacman)
{
int i;
UINT8 *ROM, *DROM;
@@ -5916,10 +5914,10 @@ static DRIVER_INIT( mspacman )
/* CPU ROMs */
/* Pac-Man code is in low bank */
- ROM = machine.root_device().memregion("maincpu")->base();
+ ROM = machine().root_device().memregion("maincpu")->base();
/* decrypted Ms. Pac-Man code is in high bank */
- DROM = &machine.root_device().memregion("maincpu")->base()[0x10000];
+ DROM = &machine().root_device().memregion("maincpu")->base()[0x10000];
/* copy ROMs into decrypted bank */
for (i = 0; i < 0x1000; i++)
@@ -5954,11 +5952,11 @@ static DRIVER_INIT( mspacman )
}
/* initialize the banks */
- machine.root_device().membank("bank1")->configure_entries(0, 2, &ROM[0x00000], 0x10000);
- machine.root_device().membank("bank1")->set_entry(1);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, &ROM[0x00000], 0x10000);
+ machine().root_device().membank("bank1")->set_entry(1);
}
-static DRIVER_INIT( woodpek )
+DRIVER_INIT_MEMBER(pacman_state,woodpek)
{
int i, len;
UINT8 *RAM;
@@ -5966,34 +5964,34 @@ static DRIVER_INIT( woodpek )
/* Graphics ROMs */
/* Data lines D4 and D6 and address lines A0 and A2 are swapped */
- RAM = machine.root_device().memregion("gfx1")->base();
- len = machine.root_device().memregion("gfx1")->bytes();
+ RAM = machine().root_device().memregion("gfx1")->base();
+ len = machine().root_device().memregion("gfx1")->bytes();
for (i = 0;i < len;i += 8)
eyes_decode(&RAM[i]);
}
-static DRIVER_INIT( pacplus )
+DRIVER_INIT_MEMBER(pacman_state,pacplus)
{
- pacplus_decode(machine);
+ pacplus_decode(machine());
}
-static DRIVER_INIT( jumpshot )
+DRIVER_INIT_MEMBER(pacman_state,jumpshot)
{
- jumpshot_decode(machine);
+ jumpshot_decode(machine());
}
-static DRIVER_INIT( drivfrcp )
+DRIVER_INIT_MEMBER(pacman_state,drivfrcp)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->set_base(&ROM[0 * 0x2000]);
- machine.root_device().membank("bank2")->set_base(&ROM[1 * 0x2000]);
- machine.root_device().membank("bank3")->set_base(&ROM[2 * 0x2000]);
- machine.root_device().membank("bank4")->set_base(&ROM[3 * 0x2000]);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->set_base(&ROM[0 * 0x2000]);
+ machine().root_device().membank("bank2")->set_base(&ROM[1 * 0x2000]);
+ machine().root_device().membank("bank3")->set_base(&ROM[2 * 0x2000]);
+ machine().root_device().membank("bank4")->set_base(&ROM[3 * 0x2000]);
}
-static DRIVER_INIT( 8bpm )
+DRIVER_INIT_MEMBER(pacman_state,8bpm)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
int i;
/* Data lines D0 and D6 swapped */
@@ -6002,15 +6000,15 @@ static DRIVER_INIT( 8bpm )
ROM[i] = BITSWAP8(ROM[i],7,0,5,4,3,2,1,6);
}
- machine.root_device().membank("bank1")->set_base(&ROM[0 * 0x2000]);
- machine.root_device().membank("bank2")->set_base(&ROM[1 * 0x2000]);
- machine.root_device().membank("bank3")->set_base(&ROM[2 * 0x2000]);
- machine.root_device().membank("bank4")->set_base(&ROM[3 * 0x2000]);
+ machine().root_device().membank("bank1")->set_base(&ROM[0 * 0x2000]);
+ machine().root_device().membank("bank2")->set_base(&ROM[1 * 0x2000]);
+ machine().root_device().membank("bank3")->set_base(&ROM[2 * 0x2000]);
+ machine().root_device().membank("bank4")->set_base(&ROM[3 * 0x2000]);
}
-static DRIVER_INIT( porky )
+DRIVER_INIT_MEMBER(pacman_state,porky)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
int i;
/* Data lines D0 and D4 swapped */
@@ -6019,21 +6017,21 @@ static DRIVER_INIT( porky )
ROM[i] = BITSWAP8(ROM[i],7,6,5,0,3,2,1,4);
}
- machine.root_device().membank("bank1")->configure_entries(0, 2, &ROM[0 * 0x2000], 0x8000);
- machine.root_device().membank("bank2")->configure_entries(0, 2, &ROM[1 * 0x2000], 0x8000);
- machine.root_device().membank("bank3")->configure_entries(0, 2, &ROM[2 * 0x2000], 0x8000);
- machine.root_device().membank("bank4")->configure_entries(0, 2, &ROM[3 * 0x2000], 0x8000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, &ROM[0 * 0x2000], 0x8000);
+ machine().root_device().membank("bank2")->configure_entries(0, 2, &ROM[1 * 0x2000], 0x8000);
+ machine().root_device().membank("bank3")->configure_entries(0, 2, &ROM[2 * 0x2000], 0x8000);
+ machine().root_device().membank("bank4")->configure_entries(0, 2, &ROM[3 * 0x2000], 0x8000);
- machine.root_device().membank("bank1")->set_entry(0);
- machine.root_device().membank("bank2")->set_entry(0);
- machine.root_device().membank("bank3")->set_entry(0);
- machine.root_device().membank("bank4")->set_entry(0);
+ machine().root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank2")->set_entry(0);
+ machine().root_device().membank("bank3")->set_entry(0);
+ machine().root_device().membank("bank4")->set_entry(0);
}
-static DRIVER_INIT( rocktrv2 )
+DRIVER_INIT_MEMBER(pacman_state,rocktrv2)
{
/* hack to pass the rom check for the bad rom */
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x7ffe] = 0xa7;
ROM[0x7fee] = 0x6d;
@@ -6042,10 +6040,10 @@ static DRIVER_INIT( rocktrv2 )
/* The encrpytion is provided by a 74298 sitting on top of the rom at 6f.
The select line is tied to a2; a0 and a1 of the eprom are are left out of
socket and run through the 74298. Clock is tied to system clock. */
-static DRIVER_INIT( mspacmbe )
+DRIVER_INIT_MEMBER(pacman_state,mspacmbe)
{
UINT8 temp;
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
int i;
/* Address lines A1 and A0 swapped if A2=0 */
@@ -6067,17 +6065,16 @@ READ8_MEMBER(pacman_state::mspacii_protection_r)
return (data & 0xef) | (offset << 4 & 0x10);
}
-static DRIVER_INIT( mspacii )
+DRIVER_INIT_MEMBER(pacman_state,mspacii)
{
// protection
- pacman_state *state = machine.driver_data<pacman_state>();
- state->m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x504d, 0x506f, read8_delegate(FUNC(pacman_state::mspacii_protection_r), state));
+ m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x504d, 0x506f, read8_delegate(FUNC(pacman_state::mspacii_protection_r), this));
}
-static DRIVER_INIT( superabc )
+DRIVER_INIT_MEMBER(pacman_state,superabc)
{
- UINT8 *src = machine.root_device().memregion("user1")->base();
- UINT8 *dest = machine.root_device().memregion("gfx1")->base();
+ UINT8 *src = machine().root_device().memregion("user1")->base();
+ UINT8 *dest = machine().root_device().memregion("gfx1")->base();
// descramble gfx
for (int i = 0; i < 0x10000; i++)
@@ -6128,15 +6125,14 @@ READ8_MEMBER(pacman_state::cannonbp_protection_r)
}
-static DRIVER_INIT( cannonbp )
+DRIVER_INIT_MEMBER(pacman_state,cannonbp)
{
- pacman_state *state = machine.driver_data<pacman_state>();
/* extra memory */
- state->m_maincpu->memory().space(AS_PROGRAM)->install_ram(0x4800, 0x4bff);
+ m_maincpu->memory().space(AS_PROGRAM)->install_ram(0x4800, 0x4bff);
/* protection? */
- state->m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x3000, 0x3fff, read8_delegate(FUNC(pacman_state::cannonbp_protection_r),state));
+ m_maincpu->memory().space(AS_PROGRAM)->install_read_handler(0x3000, 0x3fff, read8_delegate(FUNC(pacman_state::cannonbp_protection_r),this));
}
@@ -6147,48 +6143,48 @@ static DRIVER_INIT( cannonbp )
*************************************/
/* rom parent machine inp init */
-GAME( 1980, puckman, 0, pacman, pacman, pacman_state, 0, ROT90, "Namco", "PuckMan (Japan set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, puckmana, puckman, pacman, pacman, pacman_state, 0, ROT90, "Namco", "PuckMan (Japan set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, puckmanf, puckman, pacman, pacman, pacman_state, 0, ROT90, "Namco", "PuckMan (Japan set 1 with speedup hack)", GAME_SUPPORTS_SAVE )
-GAME( 1980, puckmanh, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Puckman (Falcom?)", GAME_SUPPORTS_SAVE )
-GAME( 1980, pacman, puckman, pacman, pacman, pacman_state, 0, ROT90, "Namco (Midway license)", "Pac-Man (Midway)", GAME_SUPPORTS_SAVE )
-GAME( 1980, pacmanf, puckman, pacman, pacman, pacman_state, 0, ROT90, "Namco (Midway license)", "Pac-Man (Midway, with speedup hack)", GAME_SUPPORTS_SAVE )
-GAME( 1981, puckmod, puckman, pacman, pacman, pacman_state, 0, ROT90, "Namco", "PuckMan (Japan set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1981, pacmod, puckman, pacman, pacman, pacman_state, 0, ROT90, "Namco (Midway license)", "Pac-Man (Midway, harder)", GAME_SUPPORTS_SAVE )
-GAME( 1980, newpuc2, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Newpuc2 (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, newpuc2b, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Newpuc2 (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, newpuckx, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "New Puck-X", GAME_SUPPORTS_SAVE )
-GAME( 1981, pacheart, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Pac-Man (Hearts)", GAME_SUPPORTS_SAVE )
-GAME( 19??, bucaner, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Buccaneer", GAME_SUPPORTS_SAVE )
-GAME( 1981, hangly, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Hangly-Man (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, hangly2, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Hangly-Man (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, hangly3, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Hangly-Man (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1981, popeyeman,puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Popeye-Man", GAME_SUPPORTS_SAVE )
-GAME( 1980, crockman, puckman, pacman, pacman, pacman_state, 0, ROT90, "bootleg (Rene Pierre)", "Crock-Man", GAME_SUPPORTS_SAVE )
-GAME( 1981, piranhah, puckman, pacman, mspacman, pacman_state, 0, ROT90, "hack", "Piranha (hack)", GAME_SUPPORTS_SAVE )
+GAME( 1980, puckman, 0, pacman, pacman, driver_device, 0, ROT90, "Namco", "PuckMan (Japan set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1980, puckmana, puckman, pacman, pacman, driver_device, 0, ROT90, "Namco", "PuckMan (Japan set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, puckmanf, puckman, pacman, pacman, driver_device, 0, ROT90, "Namco", "PuckMan (Japan set 1 with speedup hack)", GAME_SUPPORTS_SAVE )
+GAME( 1980, puckmanh, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Puckman (Falcom?)", GAME_SUPPORTS_SAVE )
+GAME( 1980, pacman, puckman, pacman, pacman, driver_device, 0, ROT90, "Namco (Midway license)", "Pac-Man (Midway)", GAME_SUPPORTS_SAVE )
+GAME( 1980, pacmanf, puckman, pacman, pacman, driver_device, 0, ROT90, "Namco (Midway license)", "Pac-Man (Midway, with speedup hack)", GAME_SUPPORTS_SAVE )
+GAME( 1981, puckmod, puckman, pacman, pacman, driver_device, 0, ROT90, "Namco", "PuckMan (Japan set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1981, pacmod, puckman, pacman, pacman, driver_device, 0, ROT90, "Namco (Midway license)", "Pac-Man (Midway, harder)", GAME_SUPPORTS_SAVE )
+GAME( 1980, newpuc2, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Newpuc2 (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1980, newpuc2b, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Newpuc2 (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, newpuckx, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "New Puck-X", GAME_SUPPORTS_SAVE )
+GAME( 1981, pacheart, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Pac-Man (Hearts)", GAME_SUPPORTS_SAVE )
+GAME( 19??, bucaner, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Buccaneer", GAME_SUPPORTS_SAVE )
+GAME( 1981, hangly, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Hangly-Man (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, hangly2, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Hangly-Man (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, hangly3, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Hangly-Man (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1981, popeyeman,puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Popeye-Man", GAME_SUPPORTS_SAVE )
+GAME( 1980, crockman, puckman, pacman, pacman, driver_device, 0, ROT90, "bootleg (Rene Pierre)", "Crock-Man", GAME_SUPPORTS_SAVE )
+GAME( 1981, piranhah, puckman, pacman, mspacman, driver_device, 0, ROT90, "hack", "Piranha (hack)", GAME_SUPPORTS_SAVE )
GAME( 1981, crush, 0, pacman, maketrax, pacman_state, maketrax, ROT90, "Kural Samno Electric", "Crush Roller (Kural Samno)", GAME_SUPPORTS_SAVE )
-GAME( 1981, crushbl, crush, pacman, maketrax, pacman_state, 0, ROT90, "bootleg", "Crush Roller (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, crushbl, crush, pacman, maketrax, driver_device, 0, ROT90, "bootleg", "Crush Roller (bootleg)", GAME_SUPPORTS_SAVE )
GAME( 1981, crushbl2, crush, pacman, mbrush, pacman_state, maketrax, ROT90, "bootleg", "Crush Roller (bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1981, crush2, crush, pacman, maketrax, pacman_state, 0, ROT90, "Kural Esco Electric", "Crush Roller (Kural Esco - bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1981, crush2, crush, pacman, maketrax, driver_device, 0, ROT90, "Kural Esco Electric", "Crush Roller (Kural Esco - bootleg?)", GAME_SUPPORTS_SAVE )
GAME( 1981, crush3, crush, pacman, maketrax, pacman_state, eyes, ROT90, "Kural Electric", "Crush Roller (Kural - bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 19??, crush4, crush, crush4, crush4, pacman_state, 0, ROT90, "Kural TWT", "Crush Roller (Kural TWT)", GAME_SUPPORTS_SAVE )
+GAME( 19??, crush4, crush, crush4, crush4, driver_device, 0, ROT90, "Kural TWT", "Crush Roller (Kural TWT)", GAME_SUPPORTS_SAVE )
GAME( 1981, maketrax, crush, pacman, maketrax, pacman_state, maketrax, ROT270, "Kural (Williams license)", "Make Trax (set 1)", GAME_SUPPORTS_SAVE )
GAME( 1981, maketrxb, crush, pacman, maketrax, pacman_state, maketrax, ROT270, "Kural (Williams license)", "Make Trax (set 2)", GAME_SUPPORTS_SAVE )
GAME( 1981, korosuke, crush, pacman, korosuke, pacman_state, korosuke, ROT90, "Kural Electric", "Korosuke Roller", GAME_SUPPORTS_SAVE )
GAME( 1981, mbrush, crush, pacman, mbrush, pacman_state, maketrax, ROT90, "bootleg", "Magic Brush", GAME_SUPPORTS_SAVE )
-GAME( 1981, paintrlr, crush, pacman, paintrlr, pacman_state, 0, ROT90, "bootleg", "Paint Roller", GAME_SUPPORTS_SAVE )
-GAME( 19??, crushs, crush, crushs, crushs, pacman_state, 0, ROT90, "bootleg (Sidam)", "Crush Roller (Sidam bootleg)", GAME_SUPPORTS_SAVE ) // Sidam PCB, no Sidam text
+GAME( 1981, paintrlr, crush, pacman, paintrlr, driver_device, 0, ROT90, "bootleg", "Paint Roller", GAME_SUPPORTS_SAVE )
+GAME( 19??, crushs, crush, crushs, crushs, driver_device, 0, ROT90, "bootleg (Sidam)", "Crush Roller (Sidam bootleg)", GAME_SUPPORTS_SAVE ) // Sidam PCB, no Sidam text
GAME( 1982, pacplus, 0, pacman, pacman, pacman_state, pacplus, ROT90, "Namco (Midway license)", "Pac-Man Plus", GAME_SUPPORTS_SAVE )
-GAME( 1982, joyman, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Joyman", GAME_SUPPORTS_SAVE )
-GAME( 1982, ctrpllrp, puckman, pacman, pacman, pacman_state, 0, ROT90, "hack", "Caterpillar Pacman Hack", GAME_SUPPORTS_SAVE )
+GAME( 1982, joyman, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Joyman", GAME_SUPPORTS_SAVE )
+GAME( 1982, ctrpllrp, puckman, pacman, pacman, driver_device, 0, ROT90, "hack", "Caterpillar Pacman Hack", GAME_SUPPORTS_SAVE )
GAME( 1982, eyes, 0, pacman, eyes, pacman_state, eyes, ROT90, "Digitrex Techstar (Rock-Ola license)", "Eyes (US set 1)", GAME_SUPPORTS_SAVE )
GAME( 1982, eyes2, eyes, pacman, eyes, pacman_state, eyes, ROT90, "Techstar (Rock-Ola license)", "Eyes (US set 2)", GAME_SUPPORTS_SAVE )
GAME( 1982, eyesb, eyes, pacman, eyes, pacman_state, eyes, ROT90, "bootleg", "Eyes (bootleg set 1)", GAME_SUPPORTS_SAVE )
GAME( 1982, eyeszac, eyes, pacman, eyes, pacman_state, eyes, ROT90, "Techstar (Zaccaria license)", "Eyes (Italy)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) // bad dump
-GAME( 1982, eyeszacb, eyes, pacman, eyes, pacman_state, 0, ROT90, "bootleg", "Eyes (bootleg set 2, decrypted)", GAME_SUPPORTS_SAVE ) // based on Zaccaria version
-GAME( 1983, birdiy, 0, birdiy, birdiy, pacman_state, 0, ROT270, "Mama Top", "Birdiy", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1982, eyeszacb, eyes, pacman, eyes, driver_device, 0, ROT90, "bootleg", "Eyes (bootleg set 2, decrypted)", GAME_SUPPORTS_SAVE ) // based on Zaccaria version
+GAME( 1983, birdiy, 0, birdiy, birdiy, driver_device, 0, ROT270, "Mama Top", "Birdiy", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1983, mrtnt, 0, pacman, mrtnt, pacman_state, eyes, ROT90, "Techstar (Telko license)", "Mr. TNT", GAME_SUPPORTS_SAVE )
-GAME( 1983, gorkans, mrtnt, pacman, mrtnt, pacman_state, 0, ROT90, "Techstar", "Gorkans", GAME_SUPPORTS_SAVE )
+GAME( 1983, gorkans, mrtnt, pacman, mrtnt, driver_device, 0, ROT90, "Techstar", "Gorkans", GAME_SUPPORTS_SAVE )
GAME( 1983, eggor, 0, pacman, mrtnt, pacman_state, eyes, ROT90, "Telko", "Eggor", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1985, jumpshot, 0, pacman, jumpshot, pacman_state, jumpshot, ROT90, "Bally Midway", "Jump Shot", GAME_SUPPORTS_SAVE )
GAME( 1985, jumpshotp,jumpshot, pacman, jumpshotp, pacman_state,jumpshot, ROT90, "Bally Midway", "Jump Shot Engineering Sample", GAME_SUPPORTS_SAVE )
@@ -6203,34 +6199,34 @@ GAME( 1981, mspacmnf, mspacman, mspacman, mspacman, pacman_state, mspacman, ROT9
GAME( 1981, mspacmat, mspacman, mspacman, mspacman, pacman_state, mspacman, ROT90, "hack", "Ms. Pac Attack", GAME_SUPPORTS_SAVE )
GAME( 1981, woodpeck, 0, woodpek, woodpek, pacman_state, woodpek, ROT90, "Amenip (Palcom Queen River)", "Woodpecker (set 1)", GAME_SUPPORTS_SAVE )
GAME( 1981, woodpeca, woodpeck, woodpek, woodpek, pacman_state, woodpek, ROT90, "Amenip", "Woodpecker (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mspacmab, mspacman, woodpek, mspacman, pacman_state, 0, ROT90, "bootleg", "Ms. Pac-Man (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, mspacmab, mspacman, woodpek, mspacman, driver_device, 0, ROT90, "bootleg", "Ms. Pac-Man (bootleg)", GAME_SUPPORTS_SAVE )
GAME( 1981, mspacmbe, mspacman, woodpek, mspacman, pacman_state, mspacmbe, ROT90, "bootleg", "Ms. Pac-Man (bootleg, (encrypted))", GAME_SUPPORTS_SAVE )
GAME( 1981, mspacii, mspacman, woodpek, mspacman, pacman_state, mspacii, ROT90, "bootleg (Orca)", "Ms. Pac-Man II (Orca bootleg set 1)", GAME_SUPPORTS_SAVE )
GAME( 1981, mspacii2, mspacman, woodpek, mspacman, pacman_state, mspacii, ROT90, "bootleg (Orca)", "Ms. Pac-Man II (Orca bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, pacgal, mspacman, woodpek, mspacman, pacman_state, 0, ROT90, "hack", "Pac-Gal", GAME_SUPPORTS_SAVE )
-GAME( 1981, mspacpls, mspacman, woodpek, mspacpls, pacman_state, 0, ROT90, "hack", "Ms. Pac-Man Plus", GAME_SUPPORTS_SAVE )
+GAME( 1981, pacgal, mspacman, woodpek, mspacman, driver_device, 0, ROT90, "hack", "Pac-Gal", GAME_SUPPORTS_SAVE )
+GAME( 1981, mspacpls, mspacman, woodpek, mspacpls, driver_device, 0, ROT90, "hack", "Ms. Pac-Man Plus", GAME_SUPPORTS_SAVE )
GAME( 1982, ponpoko, 0, woodpek, ponpoko, pacman_state, ponpoko, ROT0, "Sigma Enterprises Inc.", "Ponpoko", GAME_SUPPORTS_SAVE )
GAME( 1982, ponpokov, ponpoko, woodpek, ponpoko, pacman_state, ponpoko, ROT0, "Sigma Enterprises Inc. (Venture Line license)", "Ponpoko (Venture Line)", GAME_SUPPORTS_SAVE )
-GAME( 1985, lizwiz, 0, woodpek, lizwiz, pacman_state, 0, ROT90, "Techstar (Sunn license)", "Lizard Wizard", GAME_SUPPORTS_SAVE )
-GAME( 1982, alibaba, 0, alibaba, alibaba, pacman_state, 0, ROT90, "Sega", "Ali Baba and 40 Thieves", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1982, alibabab, alibaba, alibaba, alibaba, pacman_state, 0, ROT90, "bootleg", "Mustafa and 40 Thieves (bootleg)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1982, dremshpr, 0, dremshpr, dremshpr, pacman_state, 0, ROT270, "Sanritsu", "Dream Shopper", GAME_SUPPORTS_SAVE )
-GAME( 1983, vanvan, 0, vanvan, vanvan, pacman_state, 0, ROT270, "Sanritsu", "Van-Van Car", GAME_SUPPORTS_SAVE )
-GAME( 1983, vanvank, vanvan, vanvan, vanvank, pacman_state, 0, ROT270, "Sanritsu (Karateco license?)", "Van-Van Car (Karateco set 1)", GAME_SUPPORTS_SAVE ) // or bootleg?
-GAME( 1983, vanvanb, vanvan, vanvan, vanvank, pacman_state, 0, ROT270, "Sanritsu (Karateco license?)", "Van-Van Car (Karateco set 2)", GAME_SUPPORTS_SAVE ) // "
-GAME( 1983, bwcasino, 0, acitya, bwcasino, pacman_state, 0, ROT90, "Epos Corporation", "Boardwalk Casino", GAME_SUPPORTS_SAVE )
-GAME( 1983, acitya, bwcasino, acitya, acitya, pacman_state, 0, ROT90, "Epos Corporation", "Atlantic City Action", GAME_SUPPORTS_SAVE )
-GAME( 1983, theglobp, suprglob, theglobp, theglobp, pacman_state, 0, ROT90, "Epos Corporation", "The Glob (Pac-Man hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1983, sprglobp, suprglob, theglobp, theglobp, pacman_state, 0, ROT90, "Epos Corporation", "Super Glob (Pac-Man hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1983, sprglbpg, suprglob, pacman, theglobp, pacman_state, 0, ROT90, "bootleg", "Super Glob (Pac-Man hardware) (German bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1984, beastf, suprglob, theglobp, theglobp, pacman_state, 0, ROT90, "Epos Corporation", "Beastie Feastie", GAME_SUPPORTS_SAVE )
+GAME( 1985, lizwiz, 0, woodpek, lizwiz, driver_device, 0, ROT90, "Techstar (Sunn license)", "Lizard Wizard", GAME_SUPPORTS_SAVE )
+GAME( 1982, alibaba, 0, alibaba, alibaba, driver_device, 0, ROT90, "Sega", "Ali Baba and 40 Thieves", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1982, alibabab, alibaba, alibaba, alibaba, driver_device, 0, ROT90, "bootleg", "Mustafa and 40 Thieves (bootleg)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1982, dremshpr, 0, dremshpr, dremshpr, driver_device, 0, ROT270, "Sanritsu", "Dream Shopper", GAME_SUPPORTS_SAVE )
+GAME( 1983, vanvan, 0, vanvan, vanvan, driver_device, 0, ROT270, "Sanritsu", "Van-Van Car", GAME_SUPPORTS_SAVE )
+GAME( 1983, vanvank, vanvan, vanvan, vanvank, driver_device, 0, ROT270, "Sanritsu (Karateco license?)", "Van-Van Car (Karateco set 1)", GAME_SUPPORTS_SAVE ) // or bootleg?
+GAME( 1983, vanvanb, vanvan, vanvan, vanvank, driver_device, 0, ROT270, "Sanritsu (Karateco license?)", "Van-Van Car (Karateco set 2)", GAME_SUPPORTS_SAVE ) // "
+GAME( 1983, bwcasino, 0, acitya, bwcasino, driver_device, 0, ROT90, "Epos Corporation", "Boardwalk Casino", GAME_SUPPORTS_SAVE )
+GAME( 1983, acitya, bwcasino, acitya, acitya, driver_device, 0, ROT90, "Epos Corporation", "Atlantic City Action", GAME_SUPPORTS_SAVE )
+GAME( 1983, theglobp, suprglob, theglobp, theglobp, driver_device, 0, ROT90, "Epos Corporation", "The Glob (Pac-Man hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1983, sprglobp, suprglob, theglobp, theglobp, driver_device, 0, ROT90, "Epos Corporation", "Super Glob (Pac-Man hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1983, sprglbpg, suprglob, pacman, theglobp, driver_device, 0, ROT90, "bootleg", "Super Glob (Pac-Man hardware) (German bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1984, beastf, suprglob, theglobp, theglobp, driver_device, 0, ROT90, "Epos Corporation", "Beastie Feastie", GAME_SUPPORTS_SAVE )
GAME( 1984, drivfrcp, 0, drivfrcp, drivfrcp, pacman_state, drivfrcp, ROT90, "Shinkai Inc. (Magic Eletronics Inc. license)", "Driving Force (Pac-Man conversion)", GAME_SUPPORTS_SAVE )
GAME( 1985, 8bpm, 8ballact, 8bpm, 8bpm, pacman_state, 8bpm, ROT90, "Seatongrove Ltd (Magic Eletronics USA license)", "Eight Ball Action (Pac-Man conversion)", GAME_SUPPORTS_SAVE )
GAME( 1985, porky, 0, porky, porky, pacman_state, porky, ROT90, "Shinkai Inc. (Magic Eletronics Inc. license)", "Porky", GAME_SUPPORTS_SAVE )
GAME( 1986, rocktrv2, 0, rocktrv2, rocktrv2, pacman_state, rocktrv2, ROT90, "Triumph Software Inc.", "MTV Rock-N-Roll Trivia (Part 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, bigbucks, 0, bigbucks, bigbucks, pacman_state, 0, ROT90, "Dynasoft Inc.", "Big Bucks", GAME_SUPPORTS_SAVE )
-GAME( 1992, mschamp, mspacman, mschamp, mschamp, pacman_state, 0, ROT90, "hack", "Ms. Pacman Champion Edition / Zola-Puc Gal", GAME_SUPPORTS_SAVE ) /* Rayglo version */
-GAME( 1995, mschamps, mspacman, mschamp, mschamp, pacman_state, 0, ROT90, "hack", "Ms. Pacman Champion Edition / Super Zola-Puc Gal", GAME_SUPPORTS_SAVE )
+GAME( 1986, bigbucks, 0, bigbucks, bigbucks, driver_device, 0, ROT90, "Dynasoft Inc.", "Big Bucks", GAME_SUPPORTS_SAVE )
+GAME( 1992, mschamp, mspacman, mschamp, mschamp, driver_device, 0, ROT90, "hack", "Ms. Pacman Champion Edition / Zola-Puc Gal", GAME_SUPPORTS_SAVE ) /* Rayglo version */
+GAME( 1995, mschamps, mspacman, mschamp, mschamp, driver_device, 0, ROT90, "hack", "Ms. Pacman Champion Edition / Super Zola-Puc Gal", GAME_SUPPORTS_SAVE )
GAME( 198?, cannonbp, 0, pacman, cannonbp, pacman_state, cannonbp, ROT90, "Novomatic", "Cannon Ball (Pac-Man Hardware)", GAME_WRONG_COLORS|GAME_SUPPORTS_SAVE )
GAME( 1999, superabc, 0, superabc, superabc, pacman_state, superabc, ROT90, "hack (Two-Bit Score)", "Super ABC (Pac-Man multigame kit, Sep. 03 1999)", GAME_SUPPORTS_SAVE )
GAME( 1999, superabco,superabc, superabc, superabc, pacman_state, superabc, ROT90, "hack (Two-Bit Score)", "Super ABC (Pac-Man multigame kit, Mar. 08 1999)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pandoras.c b/src/mame/drivers/pandoras.c
index eac45dfbed2..af0d2695625 100644
--- a/src/mame/drivers/pandoras.c
+++ b/src/mame/drivers/pandoras.c
@@ -428,4 +428,4 @@ ROM_START( pandoras )
ROM_END
-GAME( 1984, pandoras, 0, pandoras, pandoras, pandoras_state, 0, ROT90, "Konami / Interlogic", "Pandora's Palace", GAME_SUPPORTS_SAVE )
+GAME( 1984, pandoras, 0, pandoras, pandoras, driver_device, 0, ROT90, "Konami / Interlogic", "Pandora's Palace", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pangofun.c b/src/mame/drivers/pangofun.c
index ce6464d1d6f..be09080899a 100644
--- a/src/mame/drivers/pangofun.c
+++ b/src/mame/drivers/pangofun.c
@@ -105,6 +105,7 @@ public:
pangofun_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ DECLARE_DRIVER_INIT(pangofun);
};
@@ -240,10 +241,10 @@ ROM_START(pangofun)
ROM_LOAD32_WORD("bank8.u39", 0x900002, 0x20000, CRC(72422c66) SHA1(40b8cca3f99925cf019053921165f6a4a30d784d) )
ROM_END
-static DRIVER_INIT(pangofun)
+DRIVER_INIT_MEMBER(pangofun_state,pangofun)
{
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
}
GAME( 1995, pangofun, 0, pangofun, pangofun, pangofun_state, pangofun, ROT0, "InfoCube", "Pango Fun (Italy)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/panicr.c b/src/mame/drivers/panicr.c
index e903e68ee38..0aca34b66e9 100644
--- a/src/mame/drivers/panicr.c
+++ b/src/mame/drivers/panicr.c
@@ -83,6 +83,7 @@ public:
tilemap_t *m_txttilemap;
DECLARE_READ8_MEMBER(t5182shared_r);
DECLARE_WRITE8_MEMBER(t5182shared_w);
+ DECLARE_DRIVER_INIT(panicr);
};
@@ -462,15 +463,15 @@ ROM_START( panicr )
ROM_END
-static DRIVER_INIT( panicr )
+DRIVER_INIT_MEMBER(panicr_state,panicr)
{
- UINT8 *buf = auto_alloc_array(machine, UINT8, 0x80000);
+ UINT8 *buf = auto_alloc_array(machine(), UINT8, 0x80000);
UINT8 *rom;
int size;
int i;
- rom = machine.root_device().memregion("gfx1")->base();
- size = machine.root_device().memregion("gfx1")->bytes();
+ rom = machine().root_device().memregion("gfx1")->base();
+ size = machine().root_device().memregion("gfx1")->bytes();
// text data lines
for (i = 0;i < size/2;i++)
@@ -492,8 +493,8 @@ static DRIVER_INIT( panicr )
}
- rom = machine.root_device().memregion("gfx2")->base();
- size = machine.root_device().memregion("gfx2")->bytes();
+ rom = machine().root_device().memregion("gfx2")->base();
+ size = machine().root_device().memregion("gfx2")->bytes();
// tiles data lines
for (i = 0;i < size/4;i++)
@@ -519,8 +520,8 @@ static DRIVER_INIT( panicr )
}
- rom = machine.root_device().memregion("gfx3")->base();
- size = machine.root_device().memregion("gfx3")->bytes();
+ rom = machine().root_device().memregion("gfx3")->base();
+ size = machine().root_device().memregion("gfx3")->bytes();
// sprites data lines
for (i = 0;i < size/2;i++)
@@ -545,8 +546,8 @@ static DRIVER_INIT( panicr )
//rearrange bg tilemaps a bit....
- rom = machine.root_device().memregion("user1")->base();
- size = machine.root_device().memregion("user1")->bytes();
+ rom = machine().root_device().memregion("user1")->base();
+ size = machine().root_device().memregion("user1")->bytes();
memcpy(buf,rom, size);
{
@@ -558,8 +559,8 @@ static DRIVER_INIT( panicr )
}
}
- rom = machine.root_device().memregion("user2")->base();
- size = machine.root_device().memregion("user2")->bytes();
+ rom = machine().root_device().memregion("user2")->base();
+ size = machine().root_device().memregion("user2")->bytes();
memcpy(buf,rom, size);
{
@@ -571,7 +572,7 @@ static DRIVER_INIT( panicr )
}
}
- auto_free(machine, buf);
+ auto_free(machine(), buf);
}
diff --git a/src/mame/drivers/paradise.c b/src/mame/drivers/paradise.c
index 1803027ed8b..1aa6122af90 100644
--- a/src/mame/drivers/paradise.c
+++ b/src/mame/drivers/paradise.c
@@ -1256,26 +1256,23 @@ ROM_START( madballn ) /* Even numbered stages show topless models. Is nudity co
ROM_LOAD( "s.u28", 0x00000, 0x80000, CRC(78f02584) SHA1(70542e126db73a573db9ef41399d3a07fb7ea94b) )
ROM_END
-static DRIVER_INIT (paradise)
+DRIVER_INIT_MEMBER(paradise_state,paradise)
{
- paradise_state *state = machine.driver_data<paradise_state>();
- state->m_sprite_inc = 0x20;
+ m_sprite_inc = 0x20;
}
// Inverted flipscreen and sprites are packed in less memory (same number though)
-static DRIVER_INIT (tgtball)
+DRIVER_INIT_MEMBER(paradise_state,tgtball)
{
- paradise_state *state = machine.driver_data<paradise_state>();
- state->m_sprite_inc = 4;
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x2001, 0x2001, write8_delegate(FUNC(paradise_state::tgtball_flipscreen_w),state));
+ m_sprite_inc = 4;
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x2001, 0x2001, write8_delegate(FUNC(paradise_state::tgtball_flipscreen_w),this));
}
-static DRIVER_INIT (torus)
+DRIVER_INIT_MEMBER(paradise_state,torus)
{
- paradise_state *state = machine.driver_data<paradise_state>();
- state->m_sprite_inc = 4;
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x2070, 0x2070, write8_delegate(FUNC(paradise_state::torus_coin_counter_w),state));
+ m_sprite_inc = 4;
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x2070, 0x2070, write8_delegate(FUNC(paradise_state::torus_coin_counter_w),this));
}
diff --git a/src/mame/drivers/paranoia.c b/src/mame/drivers/paranoia.c
index 2d026d1988c..2b05109469c 100644
--- a/src/mame/drivers/paranoia.c
+++ b/src/mame/drivers/paranoia.c
@@ -58,6 +58,7 @@ public:
DECLARE_WRITE8_MEMBER(paranoia_i8155_b_w);
DECLARE_WRITE8_MEMBER(paranoia_i8155_c_w);
DECLARE_WRITE_LINE_MEMBER(paranoia_i8155_timer_out);
+ DECLARE_DRIVER_INIT(paranoia);
};
@@ -227,9 +228,9 @@ ROM_START(paranoia)
ROM_LOAD( "4.352", 0x18000, 0x8000, CRC(11297fed) SHA1(17a294e65ba1c4806307602dee4c7c627ad1fcfd) )
ROM_END
-static DRIVER_INIT(paranoia)
+DRIVER_INIT_MEMBER(paranoia_state,paranoia)
{
- DRIVER_INIT_CALL(pce);
+ init_pce();
}
GAME( 1990, paranoia, 0, paranoia, paranoia, paranoia_state, paranoia, ROT0, "Naxat Soft", "Paranoia", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/parodius.c b/src/mame/drivers/parodius.c
index 3f79956b058..0d0450c230f 100644
--- a/src/mame/drivers/parodius.c
+++ b/src/mame/drivers/parodius.c
@@ -411,6 +411,6 @@ static KONAMI_SETLINES_CALLBACK( parodius_banking )
device->machine().root_device().membank("bank1")->set_entry((lines & 0x0f) ^ 0x0f);
}
-GAME( 1990, parodius, 0, parodius, parodius, parodius_state, 0, ROT0, "Konami", "Parodius DA! (World, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, parodiusa, parodius, parodius, parodius, parodius_state, 0, ROT0, "Konami", "Parodius DA! (World, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, parodiusj, parodius, parodius, parodius, parodius_state, 0, ROT0, "Konami", "Parodius DA! (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, parodius, 0, parodius, parodius, driver_device, 0, ROT0, "Konami", "Parodius DA! (World, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1990, parodiusa, parodius, parodius, parodius, driver_device, 0, ROT0, "Konami", "Parodius DA! (World, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1990, parodiusj, parodius, parodius, parodius, driver_device, 0, ROT0, "Konami", "Parodius DA! (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pasha2.c b/src/mame/drivers/pasha2.c
index 5195bbcaa2a..5cbcea658fc 100644
--- a/src/mame/drivers/pasha2.c
+++ b/src/mame/drivers/pasha2.c
@@ -105,6 +105,7 @@ public:
DECLARE_READ16_MEMBER(pasha2_speedup_r);
DECLARE_WRITE16_MEMBER(oki1_bank_w);
DECLARE_WRITE16_MEMBER(oki2_bank_w);
+ DECLARE_DRIVER_INIT(pasha2);
};
@@ -481,12 +482,11 @@ READ16_MEMBER(pasha2_state::pasha2_speedup_r)
return m_wram[(0x95744 / 2) + offset];
}
-static DRIVER_INIT( pasha2 )
+DRIVER_INIT_MEMBER(pasha2_state,pasha2)
{
- pasha2_state *state = machine.driver_data<pasha2_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x95744, 0x95747, read16_delegate(FUNC(pasha2_state::pasha2_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x95744, 0x95747, read16_delegate(FUNC(pasha2_state::pasha2_speedup_r), this));
- state->membank("bank1")->set_base(state->memregion("user2")->base());
+ membank("bank1")->set_base(memregion("user2")->base());
}
GAME( 1998, pasha2, 0, pasha2, pasha2, pasha2_state, pasha2, ROT0, "Dong Sung", "Pasha Pasha 2", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pass.c b/src/mame/drivers/pass.c
index 1195bca7ac4..181e4adef04 100644
--- a/src/mame/drivers/pass.c
+++ b/src/mame/drivers/pass.c
@@ -290,4 +290,4 @@ ROM_START( pass )
ROM_END
-GAME( 1992, pass, 0, pass, pass, pass_state, 0, ROT0, "Oksan", "Pass", GAME_SUPPORTS_SAVE )
+GAME( 1992, pass, 0, pass, pass, driver_device, 0, ROT0, "Oksan", "Pass", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pastelg.c b/src/mame/drivers/pastelg.c
index b37f2df8a6b..27fd3c6ec40 100644
--- a/src/mame/drivers/pastelg.c
+++ b/src/mame/drivers/pastelg.c
@@ -38,7 +38,7 @@ Memo:
-static DRIVER_INIT( pastelg )
+DRIVER_INIT_MEMBER(pastelg_state,pastelg)
{
nb1413m3_type = NB1413M3_PASTELG;
}
diff --git a/src/mame/drivers/pbaction.c b/src/mame/drivers/pbaction.c
index 6f1ec6ba275..c3b51b834ee 100644
--- a/src/mame/drivers/pbaction.c
+++ b/src/mame/drivers/pbaction.c
@@ -478,10 +478,10 @@ READ8_MEMBER(pbaction_state::pbactio3_prot_kludge_r)
return m_work_ram[0];
}
-static DRIVER_INIT( pbactio3 )
+DRIVER_INIT_MEMBER(pbaction_state,pbactio3)
{
int i;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
/* first of all, do a simple bitswap */
for (i = 0; i < 0xc000; i++)
@@ -490,23 +490,22 @@ static DRIVER_INIT( pbactio3 )
}
/* then do the standard Sega decryption */
- pbaction_decode(machine, "maincpu");
+ pbaction_decode(machine(), "maincpu");
/* install a protection (?) workaround */
- pbaction_state *state = machine.driver_data<pbaction_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc000, 0xc000, read8_delegate(FUNC(pbaction_state::pbactio3_prot_kludge_r),state) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc000, 0xc000, read8_delegate(FUNC(pbaction_state::pbactio3_prot_kludge_r),this) );
}
-static DRIVER_INIT( pbactio4 )
+DRIVER_INIT_MEMBER(pbaction_state,pbactio4)
{
/* this one only has the Sega decryption */
- pbaction_decode(machine, "maincpu");
+ pbaction_decode(machine(), "maincpu");
}
-GAME( 1985, pbaction, 0, pbaction, pbaction, pbaction_state, 0, ROT90, "Tehkan", "Pinball Action (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, pbaction2, pbaction, pbaction, pbaction, pbaction_state, 0, ROT90, "Tehkan", "Pinball Action (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, pbaction, 0, pbaction, pbaction, driver_device, 0, ROT90, "Tehkan", "Pinball Action (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, pbaction2, pbaction, pbaction, pbaction, driver_device, 0, ROT90, "Tehkan", "Pinball Action (set 2)", GAME_SUPPORTS_SAVE )
GAME( 1985, pbaction3, pbaction, pbaction, pbaction, pbaction_state, pbactio3, ROT90, "Tehkan", "Pinball Action (set 3, encrypted)", GAME_SUPPORTS_SAVE )
GAME( 1985, pbaction4, pbaction, pbaction, pbaction, pbaction_state, pbactio4, ROT90, "Tehkan", "Pinball Action (set 4, encrypted)", GAME_SUPPORTS_SAVE )
GAME( 1985, pbaction5, pbaction, pbaction, pbaction, pbaction_state, pbactio4, ROT90, "Tehkan", "Pinball Action (set 5, encrypted)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pcat_dyn.c b/src/mame/drivers/pcat_dyn.c
index 670708a7e3f..a22a2ea89ae 100644
--- a/src/mame/drivers/pcat_dyn.c
+++ b/src/mame/drivers/pcat_dyn.c
@@ -43,6 +43,7 @@ public:
pcat_dyn_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ DECLARE_DRIVER_INIT(pcat_dyn);
};
@@ -193,10 +194,10 @@ ROM_START(toursol1)
ROM_LOAD("prom.7", 0xe0000, 0x02000, CRC(154c8092) SHA1(4439ee82f36d5d5c334494ba7bb4848e839213a7))
ROM_END
-static DRIVER_INIT(pcat_dyn)
+DRIVER_INIT_MEMBER(pcat_dyn_state,pcat_dyn)
{
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
}
GAME( 1995, toursol, 0, pcat_dyn, pcat_dyn, pcat_dyn_state, pcat_dyn, ROT0, "Dynamo", "Tournament Solitaire (V1.06, 08/03/95)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/pcat_nit.c b/src/mame/drivers/pcat_nit.c
index 96cbfb8aa8d..1febc80abb0 100644
--- a/src/mame/drivers/pcat_nit.c
+++ b/src/mame/drivers/pcat_nit.c
@@ -110,6 +110,7 @@ public:
DECLARE_WRITE8_MEMBER(pcat_nit_rombank_w);
DECLARE_READ8_MEMBER(pcat_nit_io_r);
DECLARE_WRITE_LINE_MEMBER(at_com_interrupt_1);
+ DECLARE_DRIVER_INIT(pcat_nit);
};
WRITE_LINE_MEMBER(pcat_nit_state::microtouch_out)
@@ -420,14 +421,13 @@ ROM_START(streetg2r5)
ROM_LOAD("8k_nvram.u9", 0x00000, 0x02000, CRC(44be0b89) SHA1(81666dd369d1d85269833293136d61ffe80e940a))
ROM_END
-static DRIVER_INIT(pcat_nit)
+DRIVER_INIT_MEMBER(pcat_nit_state,pcat_nit)
{
- pcat_nit_state *state = machine.driver_data<pcat_nit_state>();
- state->m_banked_nvram = auto_alloc_array(machine, UINT8, 0x2000);
- machine.device<nvram_device>("nvram")->set_base(state->m_banked_nvram, 0x2000);
+ m_banked_nvram = auto_alloc_array(machine(), UINT8, 0x2000);
+ machine().device<nvram_device>("nvram")->set_base(m_banked_nvram, 0x2000);
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
}
GAME( 1993, bonanza, 0, pcat_nit, pcat_nit, pcat_nit_state, pcat_nit, ROT0, "New Image Technologies", "Bonanza (Revision 3)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/pcktgal.c b/src/mame/drivers/pcktgal.c
index 62b45b4f2b8..654d51ad59f 100644
--- a/src/mame/drivers/pcktgal.c
+++ b/src/mame/drivers/pcktgal.c
@@ -409,12 +409,12 @@ ROM_END
/***************************************************************************/
-static DRIVER_INIT( deco222 )
+DRIVER_INIT_MEMBER(pcktgal_state,deco222)
{
int A;
- address_space *space = machine.device("audiocpu")->memory().space(AS_PROGRAM);
- UINT8 *decrypted = auto_alloc_array(machine, UINT8, 0x10000);
- UINT8 *rom = machine.root_device().memregion("audiocpu")->base();
+ address_space *space = machine().device("audiocpu")->memory().space(AS_PROGRAM);
+ UINT8 *decrypted = auto_alloc_array(machine(), UINT8, 0x10000);
+ UINT8 *rom = machine().root_device().memregion("audiocpu")->base();
space->set_decrypted_region(0x8000, 0xffff, decrypted);
@@ -422,17 +422,17 @@ static DRIVER_INIT( deco222 )
for (A = 0x8000;A < 0x18000;A++)
decrypted[A-0x8000] = (rom[A] & 0x9f) | ((rom[A] & 0x20) << 1) | ((rom[A] & 0x40) >> 1);
- machine.root_device().membank("bank3")->configure_entries(0, 2, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
- machine.root_device().membank("bank3")->configure_decrypted_entries(0, 2, &decrypted[0x8000], 0x4000);
+ machine().root_device().membank("bank3")->configure_entries(0, 2, machine().root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank3")->configure_decrypted_entries(0, 2, &decrypted[0x8000], 0x4000);
}
-static DRIVER_INIT( graphics )
+DRIVER_INIT_MEMBER(pcktgal_state,graphics)
{
- UINT8 *rom = machine.root_device().memregion("gfx1")->base();
- int len = machine.root_device().memregion("gfx1")->bytes();
+ UINT8 *rom = machine().root_device().memregion("gfx1")->base();
+ int len = machine().root_device().memregion("gfx1")->bytes();
int i,j,temp[16];
- machine.root_device().membank("bank3")->configure_entries(0, 2, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank3")->configure_entries(0, 2, machine().root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
/* Tile graphics roms have some swapped lines, original version only */
for (i = 0x00000;i < len;i += 32)
@@ -446,7 +446,7 @@ static DRIVER_INIT( graphics )
}
}
-static DRIVER_INIT( pcktgal )
+DRIVER_INIT_MEMBER(pcktgal_state,pcktgal)
{
DRIVER_INIT_CALL(deco222);
DRIVER_INIT_CALL(graphics);
diff --git a/src/mame/drivers/pcxt.c b/src/mame/drivers/pcxt.c
index 45fca6082f6..c5c748c4261 100644
--- a/src/mame/drivers/pcxt.c
+++ b/src/mame/drivers/pcxt.c
@@ -121,6 +121,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(pc_dack3_w);
DECLARE_WRITE_LINE_MEMBER(pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
+ DECLARE_DRIVER_INIT(tetriskr);
+ DECLARE_DRIVER_INIT(filetto);
};
static SCREEN_UPDATE_RGB32( tetriskr )
@@ -814,12 +816,12 @@ ROM_START( tetriskr )
ROM_LOAD( "b-9.u43", 0x70000, 0x10000, CRC(4ea22349) SHA1(14dfd3dbd51f8bd6f3290293b8ea1c165e8cf7fd))
ROM_END
-static DRIVER_INIT( filetto )
+DRIVER_INIT_MEMBER(pcxt_state,filetto)
{
//...
}
-static DRIVER_INIT( tetriskr )
+DRIVER_INIT_MEMBER(pcxt_state,tetriskr)
{
//...
}
diff --git a/src/mame/drivers/pengadvb.c b/src/mame/drivers/pengadvb.c
index 9c6d19b6e2b..7dc8570d05e 100644
--- a/src/mame/drivers/pengadvb.c
+++ b/src/mame/drivers/pengadvb.c
@@ -43,6 +43,7 @@ public:
DECLARE_WRITE8_MEMBER(pengadvb_ppi_port_a_w);
DECLARE_READ8_MEMBER(pengadvb_ppi_port_b_r);
DECLARE_WRITE_LINE_MEMBER(vdp_interrupt);
+ DECLARE_DRIVER_INIT(pengadvb);
};
@@ -312,13 +313,12 @@ static void pengadvb_decrypt(running_machine &machine, const char* region)
auto_free(machine, buf);
}
-static DRIVER_INIT(pengadvb)
+DRIVER_INIT_MEMBER(pengadvb_state,pengadvb)
{
- pengadvb_state *state = machine.driver_data<pengadvb_state>();
- pengadvb_decrypt(machine, "maincpu");
- pengadvb_decrypt(machine, "game");
+ pengadvb_decrypt(machine(), "maincpu");
+ pengadvb_decrypt(machine(), "game");
- state->m_main_mem = auto_alloc_array(machine, UINT8, 0x4000);
+ m_main_mem = auto_alloc_array(machine(), UINT8, 0x4000);
}
ROM_START( pengadvb )
diff --git a/src/mame/drivers/pengo.c b/src/mame/drivers/pengo.c
index 12b29fa2dca..af721515fe6 100644
--- a/src/mame/drivers/pengo.c
+++ b/src/mame/drivers/pengo.c
@@ -75,6 +75,8 @@ public:
: pacman_state(mconfig, type, tag) { }
DECLARE_WRITE8_MEMBER(pengo_coin_counter_w);
DECLARE_WRITE8_MEMBER(irq_mask_w);
+ DECLARE_DRIVER_INIT(penta);
+ DECLARE_DRIVER_INIT(pengo);
};
@@ -642,13 +644,13 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( pengo )
+DRIVER_INIT_MEMBER(pengo_state,pengo)
{
- pengo_decode(machine, "maincpu");
+ pengo_decode(machine(), "maincpu");
}
-static DRIVER_INIT( penta )
+DRIVER_INIT_MEMBER(pengo_state,penta)
{
/*
the values vary, but the translation mask is always laid out like this:
@@ -690,9 +692,9 @@ static DRIVER_INIT( penta )
{ 0x88,0x0a,0x82,0x00,0xa0,0x22,0xaa,0x28 }, /* ...1...1...0.... */
{ 0x88,0x0a,0x82,0x00,0xa0,0x22,0xaa,0x28 } /* ...1...1...1.... */
};
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, 0x8000);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, 0x8000);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int A;
space->set_decrypted_region(0x0000, 0x7fff, decrypt);
@@ -732,9 +734,9 @@ static DRIVER_INIT( penta )
GAME( 1982, pengo, 0, pengo, pengo, pengo_state, pengo, ROT90, "Sega", "Pengo (set 1 rev c)", GAME_SUPPORTS_SAVE )
GAME( 1982, pengo2, pengo, pengo, pengo, pengo_state, pengo, ROT90, "Sega", "Pengo (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pengo2u, pengo, pengo, pengo, pengo_state, 0, ROT90, "Sega", "Pengo (set 2 not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pengo3u, pengo, pengo, pengo, pengo_state, 0, ROT90, "Sega", "Pengo (set 3 not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1982, pengo2u, pengo, pengo, pengo, driver_device, 0, ROT90, "Sega", "Pengo (set 2 not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1982, pengo3u, pengo, pengo, pengo, driver_device, 0, ROT90, "Sega", "Pengo (set 3 not encrypted)", GAME_SUPPORTS_SAVE )
GAME( 1982, pengo4, pengo, pengo, pengo, pengo_state, pengo, ROT90, "Sega", "Pengo (set 4)", GAME_SUPPORTS_SAVE )
GAME( 1982, pengob, pengo, pengo, pengo, pengo_state, penta, ROT90, "bootleg", "Pengo (bootleg)", GAME_SUPPORTS_SAVE )
GAME( 1982, penta, pengo, pengo, pengo, pengo_state, penta, ROT90, "bootleg", "Penta", GAME_SUPPORTS_SAVE )
-GAME( 1983, jrpacmbl, jrpacman, jrpacmbl, jrpacmbl, pengo_state, 0, ROT90, "bootleg", "Jr. Pac-Man (Pengo hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1983, jrpacmbl, jrpacman, jrpacmbl, jrpacmbl, driver_device, 0, ROT90, "bootleg", "Jr. Pac-Man (Pengo hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/peplus.c b/src/mame/drivers/peplus.c
index 9c521365218..0112abeed40 100644
--- a/src/mame/drivers/peplus.c
+++ b/src/mame/drivers/peplus.c
@@ -252,6 +252,9 @@ public:
DECLARE_WRITE8_MEMBER(i2c_nvram_w);
DECLARE_READ8_MEMBER(peplus_input_bank_a_r);
DECLARE_READ8_MEMBER(peplus_input0_r);
+ DECLARE_DRIVER_INIT(peplus);
+ DECLARE_DRIVER_INIT(peplussb);
+ DECLARE_DRIVER_INIT(peplussbw);
};
@@ -1224,34 +1227,31 @@ static void peplus_init(running_machine &machine)
*************************/
/* Normal board */
-static DRIVER_INIT( peplus )
+DRIVER_INIT_MEMBER(peplus_state,peplus)
{
- peplus_state *state = machine.driver_data<peplus_state>();
- state->m_wingboard = FALSE;
- state->m_jumper_e16_e17 = FALSE;
- peplus_init(machine);
+ m_wingboard = FALSE;
+ m_jumper_e16_e17 = FALSE;
+ peplus_init(machine());
}
/* Superboard */
-static DRIVER_INIT( peplussb )
+DRIVER_INIT_MEMBER(peplus_state,peplussb)
{
- peplus_state *state = machine.driver_data<peplus_state>();
- state->m_wingboard = FALSE;
- state->m_jumper_e16_e17 = FALSE;
- peplus_load_superdata(machine, "user1");
+ m_wingboard = FALSE;
+ m_jumper_e16_e17 = FALSE;
+ peplus_load_superdata(machine(), "user1");
- peplus_init(machine);
+ peplus_init(machine());
}
/* Superboard with Attached Wingboard */
-static DRIVER_INIT( peplussbw )
+DRIVER_INIT_MEMBER(peplus_state,peplussbw)
{
- peplus_state *state = machine.driver_data<peplus_state>();
- state->m_wingboard = TRUE;
- state->m_jumper_e16_e17 = TRUE;
- peplus_load_superdata(machine, "user1");
+ m_wingboard = TRUE;
+ m_jumper_e16_e17 = TRUE;
+ peplus_load_superdata(machine(), "user1");
- peplus_init(machine);
+ peplus_init(machine());
}
diff --git a/src/mame/drivers/peyper.c b/src/mame/drivers/peyper.c
index 8918b4e2da5..ca1bcc17653 100644
--- a/src/mame/drivers/peyper.c
+++ b/src/mame/drivers/peyper.c
@@ -19,6 +19,7 @@ public:
DECLARE_WRITE8_MEMBER(lamp7_w);
DECLARE_WRITE8_MEMBER(sol_w);
DECLARE_CUSTOM_INPUT_MEMBER(wolfman_replay_hs_r);
+ DECLARE_DRIVER_INIT(peyper);
};
@@ -545,7 +546,7 @@ static MACHINE_CONFIG_START( peyper, peyper_state )
MACHINE_CONFIG_END
-static DRIVER_INIT( peyper )
+DRIVER_INIT_MEMBER(peyper_state,peyper)
{
}
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c
index ca5daa2478e..a3d4ce95866 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -3656,9 +3656,9 @@ void pgm_basic_init( running_machine &machine, bool set_bank)
state->m_rowscrollram = &state->m_videoram[0x7000/2];
}
-static DRIVER_INIT( pgm )
+DRIVER_INIT_MEMBER(pgm_state,pgm)
{
- pgm_basic_init(machine);
+ pgm_basic_init(machine());
}
diff --git a/src/mame/drivers/pgm2.c b/src/mame/drivers/pgm2.c
index 5c2c6b8a343..a78f1df49b0 100644
--- a/src/mame/drivers/pgm2.c
+++ b/src/mame/drivers/pgm2.c
@@ -31,6 +31,8 @@ public:
: driver_device(mconfig, type, tag)
{ }
+ DECLARE_DRIVER_INIT(kov2nl);
+ DECLARE_DRIVER_INIT(orleg2);
};
static ADDRESS_MAP_START( pgm2_map, AS_PROGRAM, 32, pgm2_state )
@@ -291,17 +293,17 @@ static void iga_u12_decode(UINT16* rom, int len, int ixor)
}
}
-static DRIVER_INIT( orleg2 )
+DRIVER_INIT_MEMBER(pgm2_state,orleg2)
{
- UINT16 *src = (UINT16 *)machine.root_device().memregion("spritesa")->base();
+ UINT16 *src = (UINT16 *)machine().root_device().memregion("spritesa")->base();
iga_u12_decode(src, 0x2000000, 0x4761);
iga_u16_decode(src, 0x2000000, 0xc79f);
}
-static DRIVER_INIT( kov2nl )
+DRIVER_INIT_MEMBER(pgm2_state,kov2nl)
{
- UINT16 *src = (UINT16 *)machine.root_device().memregion("spritesa")->base();
+ UINT16 *src = (UINT16 *)machine().root_device().memregion("spritesa")->base();
iga_u12_decode(src, 0x2000000, 0xa193);
iga_u16_decode(src, 0x2000000, 0xb780);
diff --git a/src/mame/drivers/phoenix.c b/src/mame/drivers/phoenix.c
index 24fe7e1e69c..15c8912d546 100644
--- a/src/mame/drivers/phoenix.c
+++ b/src/mame/drivers/phoenix.c
@@ -1080,37 +1080,37 @@ ROM_START( survival )
ROM_END
-static DRIVER_INIT( condor )
+DRIVER_INIT_MEMBER(phoenix_state,condor)
{
/* additional inputs for coinage */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x5000, 0x5000, "DSW1");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0x5000, 0x5000, "DSW1");
}
-GAME( 1980, phoenix, 0, phoenix, phoenix, phoenix_state, 0, ROT90, "Amstar", "Phoenix (Amstar)", GAME_SUPPORTS_SAVE )
-GAME( 1980, phoenixa, phoenix, phoenix, phoenixa, phoenix_state, 0, ROT90, "Amstar (Centuri license)", "Phoenix (Centuri, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, phoenixb, phoenix, phoenix, phoenixa, phoenix_state, 0, ROT90, "Amstar (Centuri license)", "Phoenix (Centuri, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, phoenixt, phoenix, phoenix, phoenixt, phoenix_state, 0, ROT90, "Amstar (Taito license)", "Phoenix (Taito)", GAME_SUPPORTS_SAVE )
-GAME( 1980, phoenixj, phoenix, phoenix, phoenixt, phoenix_state, 0, ROT90, "Amstar (Taito Japan license)", "Phoenix (Taito Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1980, phoenix3, phoenix, phoenix, phoenix3, phoenix_state, 0, ROT90, "bootleg (T.P.N.)", "Phoenix (T.P.N.)", GAME_SUPPORTS_SAVE )
-GAME( 1981, phoenixc, phoenix, phoenix, phoenixt, phoenix_state, 0, ROT90, "bootleg? (Irecsa / G.G.I Corp)", "Phoenix (Irecsa / G.G.I Corp, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, phoenixc2,phoenix, phoenix, phoenixt, phoenix_state, 0, ROT90, "bootleg? (Irecsa / G.G.I Corp)", "Phoenix (Irecsa / G.G.I Corp, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, phoenix, 0, phoenix, phoenix, driver_device, 0, ROT90, "Amstar", "Phoenix (Amstar)", GAME_SUPPORTS_SAVE )
+GAME( 1980, phoenixa, phoenix, phoenix, phoenixa, driver_device, 0, ROT90, "Amstar (Centuri license)", "Phoenix (Centuri, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1980, phoenixb, phoenix, phoenix, phoenixa, driver_device, 0, ROT90, "Amstar (Centuri license)", "Phoenix (Centuri, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, phoenixt, phoenix, phoenix, phoenixt, driver_device, 0, ROT90, "Amstar (Taito license)", "Phoenix (Taito)", GAME_SUPPORTS_SAVE )
+GAME( 1980, phoenixj, phoenix, phoenix, phoenixt, driver_device, 0, ROT90, "Amstar (Taito Japan license)", "Phoenix (Taito Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1980, phoenix3, phoenix, phoenix, phoenix3, driver_device, 0, ROT90, "bootleg (T.P.N.)", "Phoenix (T.P.N.)", GAME_SUPPORTS_SAVE )
+GAME( 1981, phoenixc, phoenix, phoenix, phoenixt, driver_device, 0, ROT90, "bootleg? (Irecsa / G.G.I Corp)", "Phoenix (Irecsa / G.G.I Corp, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, phoenixc2,phoenix, phoenix, phoenixt, driver_device, 0, ROT90, "bootleg? (Irecsa / G.G.I Corp)", "Phoenix (Irecsa / G.G.I Corp, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1981, condor, phoenix, condor, condor, phoenix_state, condor, ROT90, "bootleg", "Condor (bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
// the following 2 were common bootlegs in england & france respectively
-GAME( 1980, falcon, phoenix, phoenix, phoenixt, phoenix_state, 0, ROT90, "bootleg", "Falcon (bootleg of Phoenix) (8085A CPU)", GAME_SUPPORTS_SAVE )
-GAME( 1980, vautour, phoenix, phoenix, phoenixt, phoenix_state, 0, ROT90, "bootleg (Jeutel)", "Vautour (bootleg of Phoenix) (8085A CPU)", GAME_SUPPORTS_SAVE )
-GAME( 1980, falconz, phoenix, condor, falconz, phoenix_state, 0, ROT90, "bootleg", "Falcon (bootleg of Phoenix) (Z80 CPU)", GAME_SUPPORTS_SAVE )
+GAME( 1980, falcon, phoenix, phoenix, phoenixt, driver_device, 0, ROT90, "bootleg", "Falcon (bootleg of Phoenix) (8085A CPU)", GAME_SUPPORTS_SAVE )
+GAME( 1980, vautour, phoenix, phoenix, phoenixt, driver_device, 0, ROT90, "bootleg (Jeutel)", "Vautour (bootleg of Phoenix) (8085A CPU)", GAME_SUPPORTS_SAVE )
+GAME( 1980, falconz, phoenix, condor, falconz, driver_device, 0, ROT90, "bootleg", "Falcon (bootleg of Phoenix) (Z80 CPU)", GAME_SUPPORTS_SAVE )
GAME( 1980, vautourz, phoenix, condor, condor, phoenix_state, condor, ROT90, "bootleg", "Vautour (bootleg of Phoenix) (Z80 CPU)", GAME_SUPPORTS_SAVE )
// fenix is an italian bootleg based on vautourz
GAME( 1980, fenix, phoenix, condor, condor, phoenix_state, condor, ROT90, "bootleg", "Fenix (bootleg of Phoenix)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
GAME( 1980, griffon, phoenix, condor, condor, phoenix_state, condor, ROT90, "bootleg (Videotron)", "Griffon (bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
// nextfase is a spanish bootleg
-GAME( 1981, nextfase, phoenix, phoenix, nextfase, phoenix_state, 0, ROT90, "bootleg (Petaco S.A.)", "Next Fase (bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
+GAME( 1981, nextfase, phoenix, phoenix, nextfase, driver_device, 0, ROT90, "bootleg (Petaco S.A.)", "Next Fase (bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
-GAME( 1981, pleiads, 0, pleiads, pleiads, phoenix_state, 0, ROT90, "Tehkan", "Pleiads (Tehkan)", GAME_IMPERFECT_COLORS )
-GAME( 1981, pleiadbl, pleiads, pleiads, pleiadbl, phoenix_state, 0, ROT90, "bootleg", "Pleiads (bootleg)", GAME_IMPERFECT_COLORS )
-GAME( 1981, pleiadce, pleiads, pleiads, pleiadce, phoenix_state, 0, ROT90, "Tehkan (Centuri license)", "Pleiads (Centuri)", GAME_IMPERFECT_COLORS )
-GAME( 1981, capitol, pleiads, phoenix, capitol, phoenix_state, 0, ROT90, "bootleg? (Universal Video Spiel)", "Capitol", GAME_IMPERFECT_COLORS )
+GAME( 1981, pleiads, 0, pleiads, pleiads, driver_device, 0, ROT90, "Tehkan", "Pleiads (Tehkan)", GAME_IMPERFECT_COLORS )
+GAME( 1981, pleiadbl, pleiads, pleiads, pleiadbl, driver_device, 0, ROT90, "bootleg", "Pleiads (bootleg)", GAME_IMPERFECT_COLORS )
+GAME( 1981, pleiadce, pleiads, pleiads, pleiadce, driver_device, 0, ROT90, "Tehkan (Centuri license)", "Pleiads (Centuri)", GAME_IMPERFECT_COLORS )
+GAME( 1981, capitol, pleiads, phoenix, capitol, driver_device, 0, ROT90, "bootleg? (Universal Video Spiel)", "Capitol", GAME_IMPERFECT_COLORS )
-GAME( 1982, survival, 0, survival, survival, phoenix_state, 0, ROT90, "Rock-Ola", "Survival", GAME_IMPERFECT_COLORS )
+GAME( 1982, survival, 0, survival, survival, driver_device, 0, ROT90, "Rock-Ola", "Survival", GAME_IMPERFECT_COLORS )
diff --git a/src/mame/drivers/photon.c b/src/mame/drivers/photon.c
index 60e47a5c5f1..a48555ce12f 100644
--- a/src/mame/drivers/photon.c
+++ b/src/mame/drivers/photon.c
@@ -278,6 +278,6 @@ ROM_START( phklad )
ROM_LOAD( "klad.bin", 0x10000, 0x4000, BAD_DUMP CRC(49cc7d65) SHA1(d966cfc1d973a533df8044a71fad37f7177da554) )
ROM_END
-GAME( 19??, phtetris, 0, photon, photon, photon_state, 0, ROT0, "<unknown>", "Tetris (Photon System)", 0 )
-GAME( 1989?, phpython, 0, photon, photon, photon_state, 0, ROT0, "<unknown>", "Python (Photon System)", 0 )
-GAME( 19??, phklad, 0, photon, photon, photon_state, 0, ROT0, "<unknown>", "Klad / Labyrinth (Photon System)", 0 )
+GAME( 19??, phtetris, 0, photon, photon, driver_device, 0, ROT0, "<unknown>", "Tetris (Photon System)", 0 )
+GAME( 1989?, phpython, 0, photon, photon, driver_device, 0, ROT0, "<unknown>", "Python (Photon System)", 0 )
+GAME( 19??, phklad, 0, photon, photon, driver_device, 0, ROT0, "<unknown>", "Klad / Labyrinth (Photon System)", 0 )
diff --git a/src/mame/drivers/photon2.c b/src/mame/drivers/photon2.c
index 6b48401e306..4020ffecd47 100644
--- a/src/mame/drivers/photon2.c
+++ b/src/mame/drivers/photon2.c
@@ -379,6 +379,6 @@ ROM_START( brod )
ROM_LOAD( "brod13.bin", 0xa000, 0x2000, CRC(1177cd17) SHA1(58c5c09a7b857ce6311339c4d0f4d8c1a7e232a3) )
ROM_END
-GAME( 19??, kok, 0, photon2, photon2, photon2_state, 0, ROT0, "bootleg", "Povar / Sobrat' Buran / Agroprom (Arcade multi-game bootleg of ZX Spectrum 'Cookie', 'Jetpac' & 'Pssst')", 0 ) // originals (c)1983 ACG / Ultimate
-GAME( 19??, black, 0, photon2, black, photon2_state, 0, ROT0, "bootleg", "Czernyj Korabl (Arcade bootleg of ZX Spectrum 'Blackbeard')", 0 ) // original (c)1988 Toposoft
-GAME( 19??, brod, 0, photon2, black, photon2_state, 0, ROT0, "bootleg", "Brodjaga (Arcade bootleg of ZX Spectrum 'Inspector Gadget and the Circus of Fear')", 0 ) // original (c)1987 BEAM software
+GAME( 19??, kok, 0, photon2, photon2, driver_device, 0, ROT0, "bootleg", "Povar / Sobrat' Buran / Agroprom (Arcade multi-game bootleg of ZX Spectrum 'Cookie', 'Jetpac' & 'Pssst')", 0 ) // originals (c)1983 ACG / Ultimate
+GAME( 19??, black, 0, photon2, black, driver_device, 0, ROT0, "bootleg", "Czernyj Korabl (Arcade bootleg of ZX Spectrum 'Blackbeard')", 0 ) // original (c)1988 Toposoft
+GAME( 19??, brod, 0, photon2, black, driver_device, 0, ROT0, "bootleg", "Brodjaga (Arcade bootleg of ZX Spectrum 'Inspector Gadget and the Circus of Fear')", 0 ) // original (c)1987 BEAM software
diff --git a/src/mame/drivers/photoply.c b/src/mame/drivers/photoply.c
index 831df0bd60f..c6181400de4 100644
--- a/src/mame/drivers/photoply.c
+++ b/src/mame/drivers/photoply.c
@@ -51,6 +51,7 @@ public:
DECLARE_READ8_MEMBER(get_slave_ack);
DECLARE_WRITE_LINE_MEMBER(at_pit8254_out0_changed);
DECLARE_WRITE_LINE_MEMBER(at_pit8254_out2_changed);
+ DECLARE_DRIVER_INIT(photoply);
};
@@ -375,10 +376,10 @@ ROM_START(photoply)
DISK_IMAGE( "pp201", 0, SHA1(23e1940d485d19401e7d0ad912ddad2cf2ea10b4) )
ROM_END
-static DRIVER_INIT( photoply )
+DRIVER_INIT_MEMBER(photoply_state,photoply)
{
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
}
GAME( 199?, photoply, 0, photoply, photoply, photoply_state, photoply, ROT0, "Funworld", "Photo Play 2000 (v2.01)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/pingpong.c b/src/mame/drivers/pingpong.c
index 18bb68dd19c..b3988575e05 100644
--- a/src/mame/drivers/pingpong.c
+++ b/src/mame/drivers/pingpong.c
@@ -557,9 +557,9 @@ ROM_START( cashquiz )
ROM_LOAD( "pingpong.11j", 0x0120, 0x0100, CRC(09d96b08) SHA1(81405e33eacc47f91ea4c7221d122f7e6f5b1e5d) ) /* sprites */
ROM_END
-static DRIVER_INIT( merlinmm )
+DRIVER_INIT_MEMBER(pingpong_state,merlinmm)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
int i;
/* decrypt program code */
@@ -567,48 +567,47 @@ static DRIVER_INIT( merlinmm )
ROM[i] = BITSWAP8(ROM[i],0,1,2,3,4,5,6,7);
}
-static DRIVER_INIT( cashquiz )
+DRIVER_INIT_MEMBER(pingpong_state,cashquiz)
{
UINT8 *ROM;
int i;
/* decrypt program code */
- ROM = machine.root_device().memregion("maincpu")->base();
+ ROM = machine().root_device().memregion("maincpu")->base();
for( i = 0; i < 0x4000; i++ )
ROM[i] = BITSWAP8(ROM[i],0,1,2,3,4,5,6,7);
/* decrypt questions */
- ROM = machine.root_device().memregion("user1")->base();
+ ROM = machine().root_device().memregion("user1")->base();
for( i = 0; i < 0x40000; i++ )
ROM[i] = BITSWAP8(ROM[i],0,1,2,3,4,5,6,7);
/* questions banking handlers */
- pingpong_state *state = machine.driver_data<pingpong_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4000, 0x4000, write8_delegate(FUNC(pingpong_state::cashquiz_question_bank_high_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4001, 0x4001, write8_delegate(FUNC(pingpong_state::cashquiz_question_bank_low_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4000, 0x4000, write8_delegate(FUNC(pingpong_state::cashquiz_question_bank_high_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4001, 0x4001, write8_delegate(FUNC(pingpong_state::cashquiz_question_bank_low_w),this));
// 8 independents banks for questions
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5000, 0x50ff, "bank1");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5100, 0x51ff, "bank2");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5200, 0x52ff, "bank3");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5300, 0x53ff, "bank4");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5400, 0x54ff, "bank5");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5500, 0x55ff, "bank6");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5600, 0x56ff, "bank7");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5700, 0x57ff, "bank8");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5000, 0x50ff, "bank1");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5100, 0x51ff, "bank2");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5200, 0x52ff, "bank3");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5300, 0x53ff, "bank4");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5400, 0x54ff, "bank5");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5500, 0x55ff, "bank6");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5600, 0x56ff, "bank7");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5700, 0x57ff, "bank8");
// setup default banks
- state->membank("bank1")->set_base(state->memregion("user1")->base() + 0x100*0 );
- state->membank("bank2")->set_base(state->memregion("user1")->base() + 0x100*1 );
- state->membank("bank3")->set_base(state->memregion("user1")->base() + 0x100*2 );
- state->membank("bank4")->set_base(state->memregion("user1")->base() + 0x100*3 );
- state->membank("bank5")->set_base(state->memregion("user1")->base() + 0x100*4 );
- state->membank("bank6")->set_base(state->memregion("user1")->base() + 0x100*5 );
- state->membank("bank7")->set_base(state->memregion("user1")->base() + 0x100*6 );
- state->membank("bank8")->set_base(state->memregion("user1")->base() + 0x100*7 );
+ membank("bank1")->set_base(memregion("user1")->base() + 0x100*0 );
+ membank("bank2")->set_base(memregion("user1")->base() + 0x100*1 );
+ membank("bank3")->set_base(memregion("user1")->base() + 0x100*2 );
+ membank("bank4")->set_base(memregion("user1")->base() + 0x100*3 );
+ membank("bank5")->set_base(memregion("user1")->base() + 0x100*4 );
+ membank("bank6")->set_base(memregion("user1")->base() + 0x100*5 );
+ membank("bank7")->set_base(memregion("user1")->base() + 0x100*6 );
+ membank("bank8")->set_base(memregion("user1")->base() + 0x100*7 );
}
-GAME( 1985, pingpong, 0, pingpong, pingpong, pingpong_state, 0, ROT0, "Konami", "Konami's Ping-Pong", 0 )
+GAME( 1985, pingpong, 0, pingpong, pingpong, driver_device, 0, ROT0, "Konami", "Konami's Ping-Pong", 0 )
GAME( 1986, merlinmm, 0, merlinmm, merlinmm, pingpong_state, merlinmm, ROT90,"Zilec-Zenitone", "Merlins Money Maze", 0 )
GAME( 1986, cashquiz, 0, merlinmm, cashquiz, pingpong_state, cashquiz, ROT0, "Zilec-Zenitone", "Cash Quiz (Type B, Version 5)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/pinkiri8.c b/src/mame/drivers/pinkiri8.c
index e0303550584..b5db4b5d05b 100644
--- a/src/mame/drivers/pinkiri8.c
+++ b/src/mame/drivers/pinkiri8.c
@@ -74,6 +74,7 @@ public:
DECLARE_WRITE8_MEMBER(ronjan_prot_w);
DECLARE_READ8_MEMBER(ronjan_prot_status_r);
DECLARE_READ8_MEMBER(ronjan_patched_prot_r);
+ DECLARE_DRIVER_INIT(ronjan);
};
@@ -1247,14 +1248,13 @@ READ8_MEMBER(pinkiri8_state::ronjan_patched_prot_r)
return 0; //value is read then discarded
}
-static DRIVER_INIT( ronjan )
+DRIVER_INIT_MEMBER(pinkiri8_state,ronjan)
{
- pinkiri8_state *state = machine.driver_data<pinkiri8_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_readwrite_handler(0x90, 0x90, read8_delegate(FUNC(pinkiri8_state::ronjan_prot_r), state), write8_delegate(FUNC(pinkiri8_state::ronjan_prot_w), state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x66, 0x66, read8_delegate(FUNC(pinkiri8_state::ronjan_prot_status_r), state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x9f, 0x9f, read8_delegate(FUNC(pinkiri8_state::ronjan_patched_prot_r), state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_readwrite_handler(0x90, 0x90, read8_delegate(FUNC(pinkiri8_state::ronjan_prot_r), this), write8_delegate(FUNC(pinkiri8_state::ronjan_prot_w), this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x66, 0x66, read8_delegate(FUNC(pinkiri8_state::ronjan_prot_status_r), this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x9f, 0x9f, read8_delegate(FUNC(pinkiri8_state::ronjan_patched_prot_r), this));
}
-GAME( 1992, janshi, 0, pinkiri8, janshi, pinkiri8_state, 0, ROT0, "Eagle", "Janshi", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1992, janshi, 0, pinkiri8, janshi, driver_device, 0, ROT0, "Eagle", "Janshi", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
GAME( 1994, ronjan, 0, pinkiri8, ronjan, pinkiri8_state, ronjan, ROT0, "Wing Co., Ltd", "Ron Jan (Super)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) // 'SUPER' flashes in the middle of the screen
-GAME( 1994, pinkiri8, 0, pinkiri8, pinkiri8, pinkiri8_state, 0, ROT0, "Alta", "Pinkiri 8", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1994, pinkiri8, 0, pinkiri8, pinkiri8, driver_device, 0, ROT0, "Alta", "Pinkiri 8", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/pipedrm.c b/src/mame/drivers/pipedrm.c
index 94c83d4770e..e9af1935bf2 100644
--- a/src/mame/drivers/pipedrm.c
+++ b/src/mame/drivers/pipedrm.c
@@ -874,21 +874,19 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( pipedrm )
+DRIVER_INIT_MEMBER(fromance_state,pipedrm)
{
- fromance_state *state = machine.driver_data<fromance_state>();
/* sprite RAM lives at the end of palette RAM */
- state->m_spriteram.set_target(&state->m_generic_paletteram_8[0xc00], 0x400);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0xcc00, 0xcfff, state->m_spriteram);
+ m_spriteram.set_target(&m_generic_paletteram_8[0xc00], 0x400);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0xcc00, 0xcfff, m_spriteram);
}
-static DRIVER_INIT( hatris )
+DRIVER_INIT_MEMBER(fromance_state,hatris)
{
- fromance_state *state = machine.driver_data<fromance_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_legacy_write_handler(0x20, 0x20, FUNC(sound_command_nonmi_w));
- machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x21, 0x21, write8_delegate(FUNC(fromance_state::fromance_gfxreg_w),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_legacy_write_handler(0x20, 0x20, FUNC(sound_command_nonmi_w));
+ machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x21, 0x21, write8_delegate(FUNC(fromance_state::fromance_gfxreg_w),this));
}
diff --git a/src/mame/drivers/pipeline.c b/src/mame/drivers/pipeline.c
index fbf5813883f..55cb3228ab5 100644
--- a/src/mame/drivers/pipeline.c
+++ b/src/mame/drivers/pipeline.c
@@ -460,4 +460,4 @@ ROM_START( pipeline )
ROM_LOAD( "82s123.u79", 0x00200, 0x00020,CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) )
ROM_END
-GAME( 1990, pipeline, 0, pipeline, pipeline, pipeline_state, 0, ROT0, "Daehyun Electronics", "Pipeline",GAME_NO_SOUND )
+GAME( 1990, pipeline, 0, pipeline, pipeline, driver_device, 0, ROT0, "Daehyun Electronics", "Pipeline",GAME_NO_SOUND )
diff --git a/src/mame/drivers/pirates.c b/src/mame/drivers/pirates.c
index 4a7749ff680..91034f00163 100644
--- a/src/mame/drivers/pirates.c
+++ b/src/mame/drivers/pirates.c
@@ -436,14 +436,14 @@ static void pirates_decrypt_oki(running_machine &machine)
}
-static DRIVER_INIT( pirates )
+DRIVER_INIT_MEMBER(pirates_state,pirates)
{
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
- pirates_decrypt_68k(machine);
- pirates_decrypt_p(machine);
- pirates_decrypt_s(machine);
- pirates_decrypt_oki(machine);
+ pirates_decrypt_68k(machine());
+ pirates_decrypt_p(machine());
+ pirates_decrypt_s(machine());
+ pirates_decrypt_oki(machine());
/* patch out protection check */
rom[0x62c0/2] = 0x6006; // beq -> bra
@@ -451,17 +451,16 @@ static DRIVER_INIT( pirates )
READ16_MEMBER(pirates_state::genix_prot_r){ if(!offset) return 0x0004; else return 0x0000; }
-static DRIVER_INIT( genix )
+DRIVER_INIT_MEMBER(pirates_state,genix)
{
- pirates_decrypt_68k(machine);
- pirates_decrypt_p(machine);
- pirates_decrypt_s(machine);
- pirates_decrypt_oki(machine);
+ pirates_decrypt_68k(machine());
+ pirates_decrypt_p(machine());
+ pirates_decrypt_s(machine());
+ pirates_decrypt_oki(machine());
/* If this value is increased then something has gone wrong and the protection failed */
/* Write-protect it for now */
- pirates_state *state = machine.driver_data<pirates_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x109e98, 0x109e9b, read16_delegate(FUNC(pirates_state::genix_prot_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x109e98, 0x109e9b, read16_delegate(FUNC(pirates_state::genix_prot_r),this));
}
diff --git a/src/mame/drivers/pitnrun.c b/src/mame/drivers/pitnrun.c
index 1cdc6150680..392a273ef6b 100644
--- a/src/mame/drivers/pitnrun.c
+++ b/src/mame/drivers/pitnrun.c
@@ -341,6 +341,6 @@ ROM_START( pitnruna )
ROM_LOAD( "clr.3", 0x0040, 0x0020, CRC(25e70e5e) SHA1(fdb9c69e9568a725dd0e3ac25835270fb4f49280) )
ROM_END
-GAME( 1984, pitnrun, 0, pitnrun, pitnrun, pitnrun_state, 0, ROT90, "Taito Corporation", "Pit & Run - F-1 Race (set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1984, pitnruna, pitnrun, pitnrun, pitnrun, pitnrun_state, 0, ROT90, "Taito Corporation", "Pit & Run - F-1 Race (set 2)", GAME_IMPERFECT_SOUND )
+GAME( 1984, pitnrun, 0, pitnrun, pitnrun, driver_device, 0, ROT90, "Taito Corporation", "Pit & Run - F-1 Race (set 1)", GAME_IMPERFECT_SOUND )
+GAME( 1984, pitnruna, pitnrun, pitnrun, pitnrun, driver_device, 0, ROT90, "Taito Corporation", "Pit & Run - F-1 Race (set 2)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/pkscram.c b/src/mame/drivers/pkscram.c
index b3317c71aa7..0efef4ed02c 100644
--- a/src/mame/drivers/pkscram.c
+++ b/src/mame/drivers/pkscram.c
@@ -345,4 +345,4 @@ ROM_START( pkscram )
ROM_END
-GAME( 1993, pkscram, 0, pkscramble, pkscramble, pkscram_state, 0, ROT0, "Cosmo Electronics Corporation", "PK Scramble", GAME_SUPPORTS_SAVE)
+GAME( 1993, pkscram, 0, pkscramble, pkscramble, driver_device, 0, ROT0, "Cosmo Electronics Corporation", "PK Scramble", GAME_SUPPORTS_SAVE)
diff --git a/src/mame/drivers/pktgaldx.c b/src/mame/drivers/pktgaldx.c
index 821fdcbcf3f..c1f7f6d29b3 100644
--- a/src/mame/drivers/pktgaldx.c
+++ b/src/mame/drivers/pktgaldx.c
@@ -454,12 +454,12 @@ ROM_END
-static DRIVER_INIT( pktgaldx )
+DRIVER_INIT_MEMBER(pktgaldx_state,pktgaldx)
{
- deco56_decrypt_gfx(machine, "gfx1");
- deco102_decrypt_cpu(machine, "maincpu", 0x42ba, 0x00, 0x00);
+ deco56_decrypt_gfx(machine(), "gfx1");
+ deco102_decrypt_cpu(machine(), "maincpu", 0x42ba, 0x00, 0x00);
}
GAME( 1992, pktgaldx, 0, pktgaldx, pktgaldx, pktgaldx_state, pktgaldx, ROT0, "Data East Corporation", "Pocket Gal Deluxe (Euro v3.00)", GAME_SUPPORTS_SAVE )
GAME( 1993, pktgaldxj, pktgaldx, pktgaldx, pktgaldx, pktgaldx_state, pktgaldx, ROT0, "Data East Corporation (Nihon System license)", "Pocket Gal Deluxe (Japan v3.00)", GAME_SUPPORTS_SAVE )
-GAME( 1992, pktgaldxb, pktgaldx, pktgaldb, pktgaldx, pktgaldx_state, 0, ROT0, "bootleg", "Pocket Gal Deluxe (Euro v3.00, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, pktgaldxb, pktgaldx, pktgaldb, pktgaldx, driver_device, 0, ROT0, "bootleg", "Pocket Gal Deluxe (Euro v3.00, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/play_1.c b/src/mame/drivers/play_1.c
index b0187d18ac8..5d761582774 100644
--- a/src/mame/drivers/play_1.c
+++ b/src/mame/drivers/play_1.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(play_1);
};
static ADDRESS_MAP_START( play_1_map, AS_PROGRAM, 8, play_1_state )
@@ -34,7 +36,7 @@ void play_1_state::machine_reset()
{
}
-static DRIVER_INIT( play_1 )
+DRIVER_INIT_MEMBER(play_1_state,play_1)
{
}
diff --git a/src/mame/drivers/play_2.c b/src/mame/drivers/play_2.c
index 03530f3c0ed..40cef89e13f 100644
--- a/src/mame/drivers/play_2.c
+++ b/src/mame/drivers/play_2.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(play_2);
};
static ADDRESS_MAP_START( play_2_map, AS_PROGRAM, 8, play_2_state )
@@ -34,7 +36,7 @@ void play_2_state::machine_reset()
{
}
-static DRIVER_INIT( play_2 )
+DRIVER_INIT_MEMBER(play_2_state,play_2)
{
}
diff --git a/src/mame/drivers/play_3.c b/src/mame/drivers/play_3.c
index 65bf8fa8f54..94d41109db2 100644
--- a/src/mame/drivers/play_3.c
+++ b/src/mame/drivers/play_3.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(play_3);
};
@@ -35,7 +37,7 @@ void play_3_state::machine_reset()
{
}
-static DRIVER_INIT( play_3 )
+DRIVER_INIT_MEMBER(play_3_state,play_3)
{
}
diff --git a/src/mame/drivers/play_5.c b/src/mame/drivers/play_5.c
index 2a9d521b31c..bc9c28b3dae 100644
--- a/src/mame/drivers/play_5.c
+++ b/src/mame/drivers/play_5.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(play_5);
};
@@ -35,7 +37,7 @@ void play_5_state::machine_reset()
{
}
-static DRIVER_INIT( play_5 )
+DRIVER_INIT_MEMBER(play_5_state,play_5)
{
}
diff --git a/src/mame/drivers/playmark.c b/src/mame/drivers/playmark.c
index b216b8e81b9..59c951a8e2b 100644
--- a/src/mame/drivers/playmark.c
+++ b/src/mame/drivers/playmark.c
@@ -1675,17 +1675,16 @@ static UINT8 playmark_asciitohex(UINT8 data)
}
-static DRIVER_INIT( bigtwin )
+DRIVER_INIT_MEMBER(playmark_state,bigtwin)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- UINT8 *playmark_PICROM_HEX = state->memregion("user1")->base();
- UINT16 *playmark_PICROM = (UINT16 *)state->memregion("audiocpu")->base();
+ UINT8 *playmark_PICROM_HEX = memregion("user1")->base();
+ UINT16 *playmark_PICROM = (UINT16 *)memregion("audiocpu")->base();
INT32 offs, data;
UINT16 src_pos = 0;
UINT16 dst_pos = 0;
UINT8 data_hi, data_lo;
- state->m_snd_flag = 0;
+ m_snd_flag = 0;
/**** Convert the PIC16C57 ASCII HEX dumps to pure HEX ****/
do
@@ -1733,7 +1732,7 @@ static DRIVER_INIT( bigtwin )
data_lo = playmark_asciitohex((playmark_PICROM_HEX[src_pos + 3]));
data |= (data_hi << 12) | (data_lo << 8);
- pic16c5x_set_config(machine.device("audiocpu"), data);
+ pic16c5x_set_config(machine().device("audiocpu"), data);
src_pos = 0x7fff; /* Force Exit */
}
@@ -1743,10 +1742,10 @@ static DRIVER_INIT( bigtwin )
GAME( 1995, bigtwin, 0, bigtwin, bigtwin, playmark_state, bigtwin, ROT0, "Playmark", "Big Twin", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1995, bigtwinb, bigtwin, bigtwinb, bigtwinb, playmark_state, bigtwin, ROT0, "Playmark", "Big Twin (No Girls Conversion)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, wbeachvl, 0, wbeachvl, wbeachvl, playmark_state, 0, ROT0, "Playmark", "World Beach Volley (set 1)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, wbeachvl2, wbeachvl, wbeachvl, wbeachvl, playmark_state, 0, ROT0, "Playmark", "World Beach Volley (set 2)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, wbeachvl3, wbeachvl, wbeachvl, wbeachvl, playmark_state, 0, ROT0, "Playmark", "World Beach Volley (set 3)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, wbeachvl, 0, wbeachvl, wbeachvl, driver_device, 0, ROT0, "Playmark", "World Beach Volley (set 1)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, wbeachvl2, wbeachvl, wbeachvl, wbeachvl, driver_device, 0, ROT0, "Playmark", "World Beach Volley (set 2)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, wbeachvl3, wbeachvl, wbeachvl, wbeachvl, driver_device, 0, ROT0, "Playmark", "World Beach Volley (set 3)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1996, excelsr, 0, excelsr, excelsr, playmark_state, bigtwin, ROT0, "Playmark", "Excelsior", GAME_SUPPORTS_SAVE )
GAME( 1995, hotmind, 0, hotmind, hotmind, playmark_state, bigtwin, ROT0, "Playmark", "Hot Mind", GAME_SUPPORTS_SAVE )
-GAME( 1994, hrdtimes, 0, hrdtimes, hrdtimes, playmark_state, 0, ROT0, "Playmark", "Hard Times (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1994, hrdtimesa, hrdtimes, hrdtimes, hrdtimes, playmark_state, 0, ROT0, "Playmark", "Hard Times (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1994, hrdtimes, 0, hrdtimes, hrdtimes, driver_device, 0, ROT0, "Playmark", "Hard Times (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1994, hrdtimesa, hrdtimes, hrdtimes, hrdtimes, driver_device, 0, ROT0, "Playmark", "Hard Times (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pluto5.c b/src/mame/drivers/pluto5.c
index c4f85835276..e17bc1c09d5 100644
--- a/src/mame/drivers/pluto5.c
+++ b/src/mame/drivers/pluto5.c
@@ -196,7 +196,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
-
+public:
+ DECLARE_DRIVER_INIT(hb);
};
READ32_MEMBER(pluto5_state::pluto5_mem_r)
@@ -576,20 +577,20 @@ extern void astra_addresslines( UINT16* src, size_t srcsize, int small );
-static DRIVER_INIT( hb )
+DRIVER_INIT_MEMBER(pluto5_state,hb)
{
- astra_addresslines( (UINT16*)machine.root_device().memregion( "maincpu" )->base(), machine.root_device().memregion( "maincpu" )->bytes(), 0 );
+ astra_addresslines( (UINT16*)machine().root_device().memregion( "maincpu" )->base(), machine().root_device().memregion( "maincpu" )->bytes(), 0 );
#if 0
{
- UINT8* ROM = machine.root_device().memregion( "maincpu" )->base();
+ UINT8* ROM = machine().root_device().memregion( "maincpu" )->base();
FILE *fp;
char filename[256];
- sprintf(filename,"%s", machine.system().name);
+ sprintf(filename,"%s", machine().system().name);
fp=fopen(filename, "w+b");
if (fp)
{
- fwrite(ROM, machine.root_device().memregion( "maincpu" )->bytes(), 1, fp);
+ fwrite(ROM, machine().root_device().memregion( "maincpu" )->bytes(), 1, fp);
fclose(fp);
}
}
diff --git a/src/mame/drivers/plygonet.c b/src/mame/drivers/plygonet.c
index bd6ee5d1c86..d83dd6b6b2f 100644
--- a/src/mame/drivers/plygonet.c
+++ b/src/mame/drivers/plygonet.c
@@ -725,32 +725,31 @@ INPUT_PORTS_END
/**********************************************************************************/
-static DRIVER_INIT(polygonet)
+DRIVER_INIT_MEMBER(polygonet_state,polygonet)
{
- polygonet_state *state = machine.driver_data<polygonet_state>();
/* Set default bankswitch */
- state->m_cur_sound_region = 2;
- reset_sound_region(machine);
+ m_cur_sound_region = 2;
+ reset_sound_region(machine());
/* Allocate space for the dsp56k banking */
- memset(state->m_dsp56k_bank00_ram, 0, sizeof(state->m_dsp56k_bank00_ram));
- memset(state->m_dsp56k_bank01_ram, 0, sizeof(state->m_dsp56k_bank01_ram));
- memset(state->m_dsp56k_bank02_ram, 0, sizeof(state->m_dsp56k_bank02_ram));
- memset(state->m_dsp56k_shared_ram_16, 0, sizeof(state->m_dsp56k_shared_ram_16));
- memset(state->m_dsp56k_bank04_ram, 0, sizeof(state->m_dsp56k_bank04_ram));
+ memset(m_dsp56k_bank00_ram, 0, sizeof(m_dsp56k_bank00_ram));
+ memset(m_dsp56k_bank01_ram, 0, sizeof(m_dsp56k_bank01_ram));
+ memset(m_dsp56k_bank02_ram, 0, sizeof(m_dsp56k_bank02_ram));
+ memset(m_dsp56k_shared_ram_16, 0, sizeof(m_dsp56k_shared_ram_16));
+ memset(m_dsp56k_bank04_ram, 0, sizeof(m_dsp56k_bank04_ram));
/* The dsp56k occasionally executes out of mapped memory */
- address_space *space = machine.device<dsp56k_device>("dsp")->space(AS_PROGRAM);
- state->m_dsp56k_update_handler = space->set_direct_update_handler(direct_update_delegate(FUNC(polygonet_state::plygonet_dsp56k_direct_handler), state));
+ address_space *space = machine().device<dsp56k_device>("dsp")->space(AS_PROGRAM);
+ m_dsp56k_update_handler = space->set_direct_update_handler(direct_update_delegate(FUNC(polygonet_state::plygonet_dsp56k_direct_handler), this));
/* save states */
- state->save_item(NAME(state->m_dsp56k_bank00_ram));
- state->save_item(NAME(state->m_dsp56k_bank01_ram));
- state->save_item(NAME(state->m_dsp56k_bank02_ram));
- state->save_item(NAME(state->m_dsp56k_shared_ram_16));
- state->save_item(NAME(state->m_dsp56k_bank04_ram));
- state->save_item(NAME(state->m_cur_sound_region));
+ save_item(NAME(m_dsp56k_bank00_ram));
+ save_item(NAME(m_dsp56k_bank01_ram));
+ save_item(NAME(m_dsp56k_bank02_ram));
+ save_item(NAME(m_dsp56k_shared_ram_16));
+ save_item(NAME(m_dsp56k_bank04_ram));
+ save_item(NAME(m_cur_sound_region));
}
diff --git a/src/mame/drivers/pntnpuzl.c b/src/mame/drivers/pntnpuzl.c
index 3ae39bace02..56f37a8f389 100644
--- a/src/mame/drivers/pntnpuzl.c
+++ b/src/mame/drivers/pntnpuzl.c
@@ -152,6 +152,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_READ16_MEMBER(pntnpuzl_eeprom_r);
DECLARE_WRITE16_MEMBER(pntnpuzl_eeprom_w);
+ DECLARE_DRIVER_INIT(pip);
};
@@ -378,13 +379,13 @@ ROM_START( pntnpuzl )
ROM_END
-static DRIVER_INIT(pip)
+DRIVER_INIT_MEMBER(pntnpuzl_state,pip)
{
-// UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+// UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// rom[0x2696/2] = 0x4e71;
// rom[0x26a0/2] = 0x4e71;
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0x3a0000, machine.device("maincpu")->memory().space(AS_PROGRAM), 0x3c0000);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0x3a0000, machine().device("maincpu")->memory().space(AS_PROGRAM), 0x3c0000);
}
diff --git a/src/mame/drivers/pokechmp.c b/src/mame/drivers/pokechmp.c
index 1e119103f84..b1b79776a49 100644
--- a/src/mame/drivers/pokechmp.c
+++ b/src/mame/drivers/pokechmp.c
@@ -240,16 +240,16 @@ static MACHINE_CONFIG_START( pokechmp, pokechmp_state )
MCFG_DEVICE_ADDRESS_MAP(AS_0, pokechmp_oki_map)
MACHINE_CONFIG_END
-static DRIVER_INIT( pokechmp )
+DRIVER_INIT_MEMBER(pokechmp_state,pokechmp)
{
// default sound rom bank
- machine.root_device().membank("bank3")->configure_entries(0, 2, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank3")->configure_entries(0, 2, machine().root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
// default fixed area for main CPU
- machine.root_device().membank("fixed")->set_base( machine.root_device().memregion("maincpu")->base() + 0x18000 );
+ machine().root_device().membank("fixed")->set_base( machine().root_device().memregion("maincpu")->base() + 0x18000 );
// default OKI sample bank
- machine.root_device().membank("okibank")->set_base( machine.root_device().memregion("oki")->base() + 0x40000 );
+ machine().root_device().membank("okibank")->set_base( machine().root_device().memregion("oki")->base() + 0x40000 );
}
diff --git a/src/mame/drivers/poker72.c b/src/mame/drivers/poker72.c
index 34923290576..25b9b081ce4 100644
--- a/src/mame/drivers/poker72.c
+++ b/src/mame/drivers/poker72.c
@@ -29,6 +29,7 @@ public:
DECLARE_WRITE8_MEMBER(poker72_paletteram_w);
DECLARE_WRITE8_MEMBER(output_w);
DECLARE_WRITE8_MEMBER(tile_bank_w);
+ DECLARE_DRIVER_INIT(poker72);
};
@@ -391,9 +392,9 @@ ROM_START( poker72 )
ROM_LOAD( "270138.bin", 0x60000, 0x20000, CRC(d689313d) SHA1(8b9661b3af0e2ced7fe9fa487641e445ce7835b8) )
ROM_END
-static DRIVER_INIT( poker72 )
+DRIVER_INIT_MEMBER(poker72_state,poker72)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
rom[0x4a9] = 0x28;
}
diff --git a/src/mame/drivers/polepos.c b/src/mame/drivers/polepos.c
index 77d0c7ac752..538c3a50e83 100644
--- a/src/mame/drivers/polepos.c
+++ b/src/mame/drivers/polepos.c
@@ -1975,19 +1975,18 @@ ROM_END
* Initialization routines
*********************************************************************/
-static DRIVER_INIT( topracern )
+DRIVER_INIT_MEMBER(polepos_state,topracern)
{
/* extra direct mapped inputs read */
- machine.device("maincpu")->memory().space(AS_IO)->install_read_port(0x02, 0x02, "STEER");
- machine.device("maincpu")->memory().space(AS_IO)->install_read_port(0x03, 0x03, "IN0");
- machine.device("maincpu")->memory().space(AS_IO)->install_read_port(0x04, 0x04, "DSWA");
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_port(0x02, 0x02, "STEER");
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_port(0x03, 0x03, "IN0");
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_port(0x04, 0x04, "DSWA");
}
-static DRIVER_INIT( polepos2 )
+DRIVER_INIT_MEMBER(polepos_state,polepos2)
{
- polepos_state *state = machine.driver_data<polepos_state>();
/* note that the bootleg version doesn't need this custom IC; it has a hacked ROM in its place */
- machine.device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x4000, 0x5fff, read16_delegate(FUNC(polepos_state::polepos2_ic25_r),state));
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x4000, 0x5fff, read16_delegate(FUNC(polepos_state::polepos2_ic25_r),this));
}
@@ -1995,14 +1994,14 @@ static DRIVER_INIT( polepos2 )
* Game drivers
*********************************************************************/
-GAME( 1982, polepos, 0, polepos, polepos, polepos_state, 0, ROT0, "Namco", "Pole Position", 0 )
-GAME( 1982, poleposa, polepos, polepos, poleposa, polepos_state, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 2)", 0 )
-GAME( 1982, polepos1, polepos, polepos, poleposa, polepos_state, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 1)", 0 )
-GAME( 1984, topracer, polepos, polepos, polepos, polepos_state, 0, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, 1984)", 0 ) // the NAMCO customs have been cloned on these bootlegs
-GAME( 1983, topracera, polepos, polepos, polepos, polepos_state, 0, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, 1983)", 0 ) // the only difference between them is the year displayed on the title screen
+GAME( 1982, polepos, 0, polepos, polepos, driver_device, 0, ROT0, "Namco", "Pole Position", 0 )
+GAME( 1982, poleposa, polepos, polepos, poleposa, driver_device, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 2)", 0 )
+GAME( 1982, polepos1, polepos, polepos, poleposa, driver_device, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 1)", 0 )
+GAME( 1984, topracer, polepos, polepos, polepos, driver_device, 0, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, 1984)", 0 ) // the NAMCO customs have been cloned on these bootlegs
+GAME( 1983, topracera, polepos, polepos, polepos, driver_device, 0, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, 1983)", 0 ) // the only difference between them is the year displayed on the title screen
GAME( 1982, topracern, polepos, topracern, topracern, polepos_state,topracern,ROT0, "bootleg", "Top Racer (no MB8841 + MB8842)", 0 )
GAME( 1983, polepos2, 0, polepos, polepos2, polepos_state, polepos2, ROT0, "Namco", "Pole Position II", 0 )
GAME( 1983, polepos2a, polepos2, polepos, polepos2, polepos_state, polepos2, ROT0, "Namco (Atari license)", "Pole Position II (Atari)", 0 )
-GAME( 1983, polepos2b, polepos2, polepos, polepos2, polepos_state, 0, ROT0, "bootleg", "Pole Position II (bootleg)", 0 )
+GAME( 1983, polepos2b, polepos2, polepos, polepos2, driver_device, 0, ROT0, "bootleg", "Pole Position II (bootleg)", 0 )
GAME( 1984, polepos2bi, polepos2, polepos2bi, topracern, polepos_state,topracern,ROT0, "bootleg", "Gran Premio F1 (Italian bootleg of Pole Position II)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND ) // should have italian voices
diff --git a/src/mame/drivers/policetr.c b/src/mame/drivers/policetr.c
index de7d9593836..8d395995847 100644
--- a/src/mame/drivers/policetr.c
+++ b/src/mame/drivers/policetr.c
@@ -696,33 +696,29 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( policetr )
+DRIVER_INIT_MEMBER(policetr_state,policetr)
{
- policetr_state *state = machine.driver_data<policetr_state>();
- state->m_speedup_data = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00000fc8, 0x00000fcb, write32_delegate(FUNC(policetr_state::speedup_w),state));
- state->m_speedup_pc = 0x1fc028ac;
+ m_speedup_data = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00000fc8, 0x00000fcb, write32_delegate(FUNC(policetr_state::speedup_w),this));
+ m_speedup_pc = 0x1fc028ac;
}
-static DRIVER_INIT( plctr13b )
+DRIVER_INIT_MEMBER(policetr_state,plctr13b)
{
- policetr_state *state = machine.driver_data<policetr_state>();
- state->m_speedup_data = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00000fc8, 0x00000fcb, write32_delegate(FUNC(policetr_state::speedup_w),state));
- state->m_speedup_pc = 0x1fc028bc;
+ m_speedup_data = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00000fc8, 0x00000fcb, write32_delegate(FUNC(policetr_state::speedup_w),this));
+ m_speedup_pc = 0x1fc028bc;
}
-static DRIVER_INIT( sshooter )
+DRIVER_INIT_MEMBER(policetr_state,sshooter)
{
- policetr_state *state = machine.driver_data<policetr_state>();
- state->m_speedup_data = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00018fd8, 0x00018fdb, write32_delegate(FUNC(policetr_state::speedup_w),state));
- state->m_speedup_pc = 0x1fc03470;
+ m_speedup_data = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00018fd8, 0x00018fdb, write32_delegate(FUNC(policetr_state::speedup_w),this));
+ m_speedup_pc = 0x1fc03470;
}
-static DRIVER_INIT( sshoot12 )
+DRIVER_INIT_MEMBER(policetr_state,sshoot12)
{
- policetr_state *state = machine.driver_data<policetr_state>();
- state->m_speedup_data = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00018fd8, 0x00018fdb, write32_delegate(FUNC(policetr_state::speedup_w),state));
- state->m_speedup_pc = 0x1fc033e0;
+ m_speedup_data = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00018fd8, 0x00018fdb, write32_delegate(FUNC(policetr_state::speedup_w),this));
+ m_speedup_pc = 0x1fc033e0;
}
diff --git a/src/mame/drivers/polyplay.c b/src/mame/drivers/polyplay.c
index 32f6a5c6cd7..56c87726a0b 100644
--- a/src/mame/drivers/polyplay.c
+++ b/src/mame/drivers/polyplay.c
@@ -353,4 +353,4 @@ static TIMER_DEVICE_CALLBACK( polyplay_timer_callback )
}
/* game driver */
-GAME( 1985, polyplay, 0, polyplay, polyplay, polyplay_state, 0, ROT0, "VEB Polytechnik Karl-Marx-Stadt", "Poly-Play", 0 )
+GAME( 1985, polyplay, 0, polyplay, polyplay, driver_device, 0, ROT0, "VEB Polytechnik Karl-Marx-Stadt", "Poly-Play", 0 )
diff --git a/src/mame/drivers/pong.c b/src/mame/drivers/pong.c
index e73a7406422..44dbe9ad0e2 100644
--- a/src/mame/drivers/pong.c
+++ b/src/mame/drivers/pong.c
@@ -671,5 +671,5 @@ ROM_START( pongf ) /* dummy to satisfy game entry*/
ROM_END
-GAME( 1972, pong, 0, pong, pong, pong_state, 0, ROT0, "Atari", "Pong (Rev E)", 0 )
-GAME( 1972, pongf, 0, pongf, pong, pong_state, 0, ROT0, "Atari", "Pong (Rev E), no subcycles", 0 )
+GAME( 1972, pong, 0, pong, pong, driver_device, 0, ROT0, "Atari", "Pong (Rev E)", 0 )
+GAME( 1972, pongf, 0, pongf, pong, driver_device, 0, ROT0, "Atari", "Pong (Rev E), no subcycles", 0 )
diff --git a/src/mame/drivers/poo.c b/src/mame/drivers/poo.c
index 2bcef38b0b5..e70fae50f9e 100644
--- a/src/mame/drivers/poo.c
+++ b/src/mame/drivers/poo.c
@@ -387,4 +387,4 @@ ROM_START( unclepoo )
ROM_LOAD( "diatec_l.bin", 0x100, 0x100, CRC(b04d466a) SHA1(1438abeae76ef807ba34bd6d3e4c44f707dbde6e) )
ROM_END
-GAME( 1983, unclepoo, 0, unclepoo, unclepoo, poo_state, 0, ROT90, "Diatec", "Uncle Poo", GAME_NO_COCKTAIL )
+GAME( 1983, unclepoo, 0, unclepoo, unclepoo, driver_device, 0, ROT90, "Diatec", "Uncle Poo", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/poolshrk.c b/src/mame/drivers/poolshrk.c
index 6981a45eead..eff616300f6 100644
--- a/src/mame/drivers/poolshrk.c
+++ b/src/mame/drivers/poolshrk.c
@@ -12,10 +12,10 @@ Atari Poolshark Driver
-static DRIVER_INIT( poolshrk )
+DRIVER_INIT_MEMBER(poolshrk_state,poolshrk)
{
- UINT8* pSprite = machine.root_device().memregion("gfx1")->base();
- UINT8* pOffset = machine.root_device().memregion("proms")->base();
+ UINT8* pSprite = machine().root_device().memregion("gfx1")->base();
+ UINT8* pOffset = machine().root_device().memregion("proms")->base();
int i;
int j;
diff --git a/src/mame/drivers/pooyan.c b/src/mame/drivers/pooyan.c
index 15360bbeda0..6fe8f17199d 100644
--- a/src/mame/drivers/pooyan.c
+++ b/src/mame/drivers/pooyan.c
@@ -308,6 +308,6 @@ ROM_END
*************************************/
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1982, pooyan, 0, pooyan, pooyan, pooyan_state, 0, ROT90, "Konami", "Pooyan", GAME_SUPPORTS_SAVE )
-GAME( 1982, pooyans, pooyan, pooyan, pooyan, pooyan_state, 0, ROT90, "Konami (Stern Electronics license)", "Pooyan (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pootan, pooyan, pooyan, pooyan, pooyan_state, 0, ROT90, "bootleg", "Pootan", GAME_SUPPORTS_SAVE )
+GAME( 1982, pooyan, 0, pooyan, pooyan, driver_device, 0, ROT90, "Konami", "Pooyan", GAME_SUPPORTS_SAVE )
+GAME( 1982, pooyans, pooyan, pooyan, pooyan, driver_device, 0, ROT90, "Konami (Stern Electronics license)", "Pooyan (Stern Electronics)", GAME_SUPPORTS_SAVE )
+GAME( 1982, pootan, pooyan, pooyan, pooyan, driver_device, 0, ROT90, "bootleg", "Pootan", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/popeye.c b/src/mame/drivers/popeye.c
index 89bf7a68ff3..43871efcfda 100644
--- a/src/mame/drivers/popeye.c
+++ b/src/mame/drivers/popeye.c
@@ -614,48 +614,46 @@ ROM_END
-static DRIVER_INIT( skyskipr )
+DRIVER_INIT_MEMBER(popeye_state,skyskipr)
{
- popeye_state *state = machine.driver_data<popeye_state>();
UINT8 *buffer;
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
int len = 0x10000;
/* decrypt the program ROMs */
- buffer = auto_alloc_array(machine, UINT8, len);
+ buffer = auto_alloc_array(machine(), UINT8, len);
{
int i;
for (i = 0;i < len; i++)
buffer[i] = BITSWAP8(rom[BITSWAP16(i,15,14,13,12,11,10,8,7,0,1,2,4,5,9,3,6) ^ 0xfc],3,4,2,5,1,6,0,7);
memcpy(rom,buffer,len);
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
- state_save_register_global(machine, state->m_prot0);
- state_save_register_global(machine, state->m_prot1);
- state_save_register_global(machine, state->m_prot_shift);
+ state_save_register_global(machine(), m_prot0);
+ state_save_register_global(machine(), m_prot1);
+ state_save_register_global(machine(), m_prot_shift);
}
-static DRIVER_INIT( popeye )
+DRIVER_INIT_MEMBER(popeye_state,popeye)
{
- popeye_state *state = machine.driver_data<popeye_state>();
UINT8 *buffer;
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
int len = 0x10000;
/* decrypt the program ROMs */
- buffer = auto_alloc_array(machine, UINT8, len);
+ buffer = auto_alloc_array(machine(), UINT8, len);
{
int i;
for (i = 0;i < len; i++)
buffer[i] = BITSWAP8(rom[BITSWAP16(i,15,14,13,12,11,10,8,7,6,3,9,5,4,2,1,0) ^ 0x3f],3,4,2,5,1,6,0,7);
memcpy(rom,buffer,len);
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
- state_save_register_global(machine, state->m_prot0);
- state_save_register_global(machine, state->m_prot1);
- state_save_register_global(machine, state->m_prot_shift);
+ state_save_register_global(machine(), m_prot0);
+ state_save_register_global(machine(), m_prot1);
+ state_save_register_global(machine(), m_prot_shift);
}
@@ -663,4 +661,4 @@ GAME( 1981, skyskipr, 0, skyskipr, skyskipr, popeye_state, skyskipr, ROT0,
GAME( 1982, popeye, 0, popeye, popeye, popeye_state, popeye, ROT0, "Nintendo", "Popeye (revision D)", GAME_SUPPORTS_SAVE )
GAME( 1982, popeyeu, popeye, popeye, popeye, popeye_state, popeye, ROT0, "Nintendo", "Popeye (revision D not protected)", GAME_SUPPORTS_SAVE )
GAME( 1982, popeyef, popeye, popeye, popeyef, popeye_state, popeye, ROT0, "Nintendo", "Popeye (revision F)", GAME_SUPPORTS_SAVE )
-GAME( 1982, popeyebl, popeye, popeyebl, popeye, popeye_state, 0, ROT0, "bootleg", "Popeye (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1982, popeyebl, popeye, popeyebl, popeye, driver_device, 0, ROT0, "bootleg", "Popeye (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/popobear.c b/src/mame/drivers/popobear.c
index e75c01ab551..743d2467bad 100644
--- a/src/mame/drivers/popobear.c
+++ b/src/mame/drivers/popobear.c
@@ -501,4 +501,4 @@ ROM_START( popobear )
ROM_LOAD( "popobear_ta-a-901.u9", 0x00000, 0x40000, CRC(f1e94926) SHA1(f4d6f5b5811d90d0069f6efbb44d725ff0d07e1c) )
ROM_END
-GAME( 2000, popobear, 0, popobear, popobear, popobear_state, 0, ROT0, "BMC", "PoPo Bear", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, popobear, 0, popobear, popobear, driver_device, 0, ROT0, "BMC", "PoPo Bear", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/popper.c b/src/mame/drivers/popper.c
index 92a5f719cd4..65afdb88100 100644
--- a/src/mame/drivers/popper.c
+++ b/src/mame/drivers/popper.c
@@ -414,4 +414,4 @@ ROM_END
*
*************************************/
-GAME( 1983, popper, 0, popper, popper, popper_state, 0, ROT90, "Omori Electric Co., Ltd.", "Popper", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1983, popper, 0, popper, popper, driver_device, 0, ROT90, "Omori Electric Co., Ltd.", "Popper", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/portrait.c b/src/mame/drivers/portrait.c
index 0abb8c32393..96496abaa72 100644
--- a/src/mame/drivers/portrait.c
+++ b/src/mame/drivers/portrait.c
@@ -381,5 +381,5 @@ ROM_END
-GAME( 1983, portrait, 0, portrait, portrait, portrait_state, 0, ROT270, "Olympia", "Portraits (set 1)", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS )
-GAME( 1983, portraita,portrait, portrait, portrait, portrait_state, 0, ROT270, "Olympia", "Portraits (set 2)", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS )
+GAME( 1983, portrait, 0, portrait, portrait, driver_device, 0, ROT270, "Olympia", "Portraits (set 1)", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS )
+GAME( 1983, portraita,portrait, portrait, portrait, driver_device, 0, ROT270, "Olympia", "Portraits (set 2)", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS )
diff --git a/src/mame/drivers/potgoldu.c b/src/mame/drivers/potgoldu.c
index c08fafbcb74..e279c30fa20 100644
--- a/src/mame/drivers/potgoldu.c
+++ b/src/mame/drivers/potgoldu.c
@@ -113,5 +113,5 @@ ROM_START( potgoldu )
ROM_END
-GAME( 200?, potgoldu, 0, potgold, potgold, potgold_state, 0, ROT0, "U.S. Games Inc.", "Pot O' Gold (U.S. Games, v400x?)", GAME_IS_SKELETON | GAME_NO_SOUND )
+GAME( 200?, potgoldu, 0, potgold, potgold, driver_device, 0, ROT0, "U.S. Games Inc.", "Pot O' Gold (U.S. Games, v400x?)", GAME_IS_SKELETON | GAME_NO_SOUND )
diff --git a/src/mame/drivers/powerbal.c b/src/mame/drivers/powerbal.c
index 89c82700742..436791c9d95 100644
--- a/src/mame/drivers/powerbal.c
+++ b/src/mame/drivers/powerbal.c
@@ -679,20 +679,18 @@ ROM_START( hotminda )
ROM_LOAD( "rom10.rom", 0x00000, 0x40000, CRC(0bf3a3e5) SHA1(2ae06f37a6bcd20bc5fbaa90d970aba2ebf3cf5a) )
ROM_END
-static DRIVER_INIT( powerbal )
+DRIVER_INIT_MEMBER(playmark_state,powerbal)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->m_bg_yoffset = 16;
- state->m_yoffset = -8;
+ m_bg_yoffset = 16;
+ m_yoffset = -8;
}
-static DRIVER_INIT( magicstk )
+DRIVER_INIT_MEMBER(playmark_state,magicstk)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->m_bg_yoffset = 0;
- state->m_yoffset = -5;
+ m_bg_yoffset = 0;
+ m_yoffset = -5;
}
/*************************
diff --git a/src/mame/drivers/powerins.c b/src/mame/drivers/powerins.c
index 638ccc11822..d0716f5bffc 100644
--- a/src/mame/drivers/powerins.c
+++ b/src/mame/drivers/powerins.c
@@ -717,7 +717,7 @@ ROM_END
/* all supported sets give a 93.10.20 date */
-GAME( 1993, powerins, 0, powerins, powerins, powerins_state, 0, ROT0, "Atlus", "Power Instinct (USA)", 0 )
-GAME( 1993, powerinsj, powerins, powerins, powerinj, powerins_state, 0, ROT0, "Atlus", "Gouketsuji Ichizoku (Japan)", 0 )
-GAME( 1993, powerinsa, powerins, powerina, powerins, powerins_state, 0, ROT0, "bootleg", "Power Instinct (USA, bootleg set 1)", 0 )
-GAME( 1993, powerinsb, powerins, powerinb, powerins, powerins_state, 0, ROT0, "bootleg", "Power Instinct (USA, bootleg set 2)", 0 )
+GAME( 1993, powerins, 0, powerins, powerins, driver_device, 0, ROT0, "Atlus", "Power Instinct (USA)", 0 )
+GAME( 1993, powerinsj, powerins, powerins, powerinj, driver_device, 0, ROT0, "Atlus", "Gouketsuji Ichizoku (Japan)", 0 )
+GAME( 1993, powerinsa, powerins, powerina, powerins, driver_device, 0, ROT0, "bootleg", "Power Instinct (USA, bootleg set 1)", 0 )
+GAME( 1993, powerinsb, powerins, powerinb, powerins, driver_device, 0, ROT0, "bootleg", "Power Instinct (USA, bootleg set 2)", 0 )
diff --git a/src/mame/drivers/ppmast93.c b/src/mame/drivers/ppmast93.c
index b24e644cd42..8b161892966 100644
--- a/src/mame/drivers/ppmast93.c
+++ b/src/mame/drivers/ppmast93.c
@@ -415,4 +415,4 @@ ROM_START( ppmast93 )
ROM_LOAD( "prom1.ug26", 0x200, 0x100, CRC(d979c64e) SHA1(172c9579013d58e35a5b4f732e360811ac36295e) )
ROM_END
-GAME( 1993, ppmast93, 0, ppmast93, ppmast93, ppmast93_state, 0, ROT0, "Electronic Devices S.R.L.", "Ping Pong Masters '93", GAME_IMPERFECT_SOUND )
+GAME( 1993, ppmast93, 0, ppmast93, ppmast93, driver_device, 0, ROT0, "Electronic Devices S.R.L.", "Ping Pong Masters '93", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/prehisle.c b/src/mame/drivers/prehisle.c
index 18f1bf7db7c..57292653f19 100644
--- a/src/mame/drivers/prehisle.c
+++ b/src/mame/drivers/prehisle.c
@@ -357,7 +357,7 @@ ROM_END
/******************************************************************************/
-GAME( 1989, prehisle, 0, prehisle, prehisle, prehisle_state, 0, ROT0, "SNK", "Prehistoric Isle in 1930 (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, prehisleu,prehisle, prehisle, prehisle, prehisle_state, 0, ROT0, "SNK", "Prehistoric Isle in 1930 (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, prehislek,prehisle, prehisle, prehisle, prehisle_state, 0, ROT0, "SNK (Victor license)", "Prehistoric Isle in 1930 (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1989, gensitou, prehisle, prehisle, prehisle, prehisle_state, 0, ROT0, "SNK", "Genshi-Tou 1930's", GAME_SUPPORTS_SAVE )
+GAME( 1989, prehisle, 0, prehisle, prehisle, driver_device, 0, ROT0, "SNK", "Prehistoric Isle in 1930 (World)", GAME_SUPPORTS_SAVE )
+GAME( 1989, prehisleu,prehisle, prehisle, prehisle, driver_device, 0, ROT0, "SNK", "Prehistoric Isle in 1930 (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, prehislek,prehisle, prehisle, prehisle, driver_device, 0, ROT0, "SNK (Victor license)", "Prehistoric Isle in 1930 (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1989, gensitou, prehisle, prehisle, prehisle, driver_device, 0, ROT0, "SNK", "Genshi-Tou 1930's", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/proconn.c b/src/mame/drivers/proconn.c
index d1f281c81fd..fc7c79f993d 100644
--- a/src/mame/drivers/proconn.c
+++ b/src/mame/drivers/proconn.c
@@ -168,7 +168,8 @@ protected:
required_device<z80ctc_device> m_z80ctc;
required_device<z80sio_device> m_z80sio;
required_device<ay8910_device> m_ay;
-
+public:
+ DECLARE_DRIVER_INIT(proconn);
};
static ADDRESS_MAP_START( proconn_map, AS_PROGRAM, 8, proconn_state )
@@ -1267,7 +1268,7 @@ ROM_START( pr_trktp )
ROM_LOAD( "305a30pn.990", 0x00000, 0x010000, CRC(5448e7d5) SHA1(81414083341364c011ab814a3f57d0831edb3036) )
ROM_END
-DRIVER_INIT( proconn )
+DRIVER_INIT_MEMBER(proconn_state,proconn)
{
}
diff --git a/src/mame/drivers/progolf.c b/src/mame/drivers/progolf.c
index 5d7e1bec782..37c5b07c5a4 100644
--- a/src/mame/drivers/progolf.c
+++ b/src/mame/drivers/progolf.c
@@ -82,6 +82,8 @@ public:
DECLARE_READ8_MEMBER(progolf_videoram_r);
DECLARE_WRITE8_MEMBER(progolf_videoram_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(progolfa);
+ DECLARE_DRIVER_INIT(progolf);
};
@@ -498,12 +500,12 @@ ROM_START( progolfa )
ROM_END
-static DRIVER_INIT( progolf )
+DRIVER_INIT_MEMBER(progolf_state,progolf)
{
int A;
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8* decrypted = auto_alloc_array(machine, UINT8, 0x10000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8* decrypted = auto_alloc_array(machine(), UINT8, 0x10000);
space->set_decrypted_region(0x0000,0xffff, decrypted);
@@ -512,12 +514,12 @@ static DRIVER_INIT( progolf )
decrypted[A] = BITSWAP8(rom[A],7,5,6,4,3,2,1,0);
}
-static DRIVER_INIT( progolfa )
+DRIVER_INIT_MEMBER(progolf_state,progolfa)
{
int A;
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8* decrypted = auto_alloc_array(machine, UINT8, 0x10000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8* decrypted = auto_alloc_array(machine(), UINT8, 0x10000);
space->set_decrypted_region(0x0000,0xffff, decrypted);
diff --git a/src/mame/drivers/psattack.c b/src/mame/drivers/psattack.c
index aaff85d2bc3..bf77888f93f 100644
--- a/src/mame/drivers/psattack.c
+++ b/src/mame/drivers/psattack.c
@@ -86,6 +86,7 @@ public:
: driver_device(mconfig, type, tag) { }
DECLARE_READ32_MEMBER(psattack_unk_r);
+ DECLARE_DRIVER_INIT(psattack);
};
@@ -215,7 +216,7 @@ ROM_END
-static DRIVER_INIT(psattack)
+DRIVER_INIT_MEMBER(psattack_state,psattack)
{
}
diff --git a/src/mame/drivers/psikyo.c b/src/mame/drivers/psikyo.c
index 20ad3e4e81f..b747fbf3d8f 100644
--- a/src/mame/drivers/psikyo.c
+++ b/src/mame/drivers/psikyo.c
@@ -1806,13 +1806,12 @@ ROM_END
***************************************************************************/
-static DRIVER_INIT( sngkace )
+DRIVER_INIT_MEMBER(psikyo_state,sngkace)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
{
- UINT8 *RAM = state->memregion("ymsnd")->base();
- int len = state->memregion("ymsnd")->bytes();
+ UINT8 *RAM = memregion("ymsnd")->base();
+ int len = memregion("ymsnd")->bytes();
int i;
/* Bit 6&7 of the samples are swapped. Naughty, naughty... */
@@ -1824,21 +1823,21 @@ static DRIVER_INIT( sngkace )
}
/* input ports */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::sngkace_input_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::sngkace_input_r),this));
/* sound latch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::psikyo_soundlatch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::psikyo_soundlatch_w),this));
- state->m_ka302c_banking = 0; // SH201B doesn't have any gfx banking
+ m_ka302c_banking = 0; // SH201B doesn't have any gfx banking
/* setup audiocpu banks */
- state->membank("bank1")->configure_entries(0, 4, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0x8000);
+ membank("bank1")->configure_entries(0, 4, machine().root_device().memregion("audiocpu")->base() + 0x10000, 0x8000);
/* Enable other regions */
#if 0
- if (!strcmp(machine.system().name,"sngkace"))
+ if (!strcmp(machine().system().name,"sngkace"))
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x995] = 0x4e;
ROM[0x994] = 0x71;
ROM[0x997] = 0x4e;
@@ -1872,147 +1871,140 @@ static void s1945_mcu_init( running_machine &machine )
state->save_item(NAME(state->m_s1945_mcu_bctrl));
}
-static DRIVER_INIT( tengai )
+DRIVER_INIT_MEMBER(psikyo_state,tengai)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
/* input ports */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::s1945_input_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::s1945_input_r),this));
/* sound latch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),this));
/* protection */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00004, 0xc0000b, write32_delegate(FUNC(psikyo_state::s1945_mcu_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00004, 0xc0000b, write32_delegate(FUNC(psikyo_state::s1945_mcu_w),this));
- s1945_mcu_init(machine);
- state->m_s1945_mcu_table = 0;
+ s1945_mcu_init(machine());
+ m_s1945_mcu_table = 0;
- state->m_ka302c_banking = 0; // Banking is controlled by mcu
+ m_ka302c_banking = 0; // Banking is controlled by mcu
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- state->membank("bank1")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
-static DRIVER_INIT( gunbird )
+DRIVER_INIT_MEMBER(psikyo_state,gunbird)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
/* input ports */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::gunbird_input_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::gunbird_input_r),this));
/* sound latch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::psikyo_soundlatch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::psikyo_soundlatch_w),this));
- state->m_ka302c_banking = 1;
+ m_ka302c_banking = 1;
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- state->membank("bank1")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
-static DRIVER_INIT( s1945 )
+DRIVER_INIT_MEMBER(psikyo_state,s1945)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
/* input ports */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::s1945_input_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::s1945_input_r),this));
/* sound latch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),this));
/* protection and tile bank switching */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00004, 0xc0000b, write32_delegate(FUNC(psikyo_state::s1945_mcu_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00004, 0xc0000b, write32_delegate(FUNC(psikyo_state::s1945_mcu_w),this));
- s1945_mcu_init(machine);
- state->m_s1945_mcu_table = s1945_table;
+ s1945_mcu_init(machine());
+ m_s1945_mcu_table = s1945_table;
- state->m_ka302c_banking = 0; // Banking is controlled by mcu
+ m_ka302c_banking = 0; // Banking is controlled by mcu
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- state->membank("bank1")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
-static DRIVER_INIT( s1945a )
+DRIVER_INIT_MEMBER(psikyo_state,s1945a)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
/* input ports */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::s1945_input_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::s1945_input_r),this));
/* sound latch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),this));
/* protection and tile bank switching */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00004, 0xc0000b, write32_delegate(FUNC(psikyo_state::s1945_mcu_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00004, 0xc0000b, write32_delegate(FUNC(psikyo_state::s1945_mcu_w),this));
- s1945_mcu_init(machine);
- state->m_s1945_mcu_table = s1945a_table;
+ s1945_mcu_init(machine());
+ m_s1945_mcu_table = s1945a_table;
- state->m_ka302c_banking = 0; // Banking is controlled by mcu
+ m_ka302c_banking = 0; // Banking is controlled by mcu
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- state->membank("bank1")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
-static DRIVER_INIT( s1945j )
+DRIVER_INIT_MEMBER(psikyo_state,s1945j)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
/* input ports*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::s1945_input_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::s1945_input_r),this));
/* sound latch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),this));
/* protection and tile bank switching */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00004, 0xc0000b, write32_delegate(FUNC(psikyo_state::s1945_mcu_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00004, 0xc0000b, write32_delegate(FUNC(psikyo_state::s1945_mcu_w),this));
- s1945_mcu_init(machine);
- state->m_s1945_mcu_table = s1945j_table;
+ s1945_mcu_init(machine());
+ m_s1945_mcu_table = s1945j_table;
- state->m_ka302c_banking = 0; // Banking is controlled by mcu
+ m_ka302c_banking = 0; // Banking is controlled by mcu
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- state->membank("bank1")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
-static DRIVER_INIT( s1945jn )
+DRIVER_INIT_MEMBER(psikyo_state,s1945jn)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
/* input ports */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::gunbird_input_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::gunbird_input_r),this));
/* sound latch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),this));
- state->m_ka302c_banking = 1;
+ m_ka302c_banking = 1;
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- state->membank("bank1")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
-static DRIVER_INIT( s1945bl )
+DRIVER_INIT_MEMBER(psikyo_state,s1945bl)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
/* input ports */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::gunbird_input_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::gunbird_input_r),this));
/* sound latch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),this));
- state->m_ka302c_banking = 1;
+ m_ka302c_banking = 1;
- state->membank("okibank")->configure_entries(0, 4, state->memregion("oki")->base() + 0x30000, 0x10000);
- state->membank("okibank")->set_entry(0);
+ membank("okibank")->configure_entries(0, 4, memregion("oki")->base() + 0x30000, 0x10000);
+ membank("okibank")->set_entry(0);
}
diff --git a/src/mame/drivers/psikyo4.c b/src/mame/drivers/psikyo4.c
index 79c0ba10b5c..a073b8b4d26 100644
--- a/src/mame/drivers/psikyo4.c
+++ b/src/mame/drivers/psikyo4.c
@@ -969,11 +969,11 @@ static void install_hotgmck_pcm_bank(running_machine &machine)
machine.save().register_postload(save_prepost_delegate(FUNC(hotgmck_pcm_bank_postload), &machine));
}
-static DRIVER_INIT( hotgmck )
+DRIVER_INIT_MEMBER(psikyo4_state,hotgmck)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->set_base(&RAM[0x100000]);
- install_hotgmck_pcm_bank(machine); // Banked PCM ROM
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->set_base(&RAM[0x100000]);
+ install_hotgmck_pcm_bank(machine()); // Banked PCM ROM
}
@@ -983,6 +983,6 @@ GAME( 1998, hgkairak, 0, ps4big, hotgmck, psikyo4_state, hotgmck, RO
GAME( 1999, hotgmck3, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick 3 Digital Surfing (Japan)", 0 )
GAME( 2000, hotgm4ev, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick 4 Ever (Japan)", 0 )
GAME( 2001, hotgmcki, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Mahjong Hot Gimmick Integral (Japan)", 0 )
-GAME( 2000, loderndf, 0, ps4small, loderndf, psikyo4_state, 0, ROT0, "Psikyo", "Lode Runner - The Dig Fight (ver. B)", 0 )
-GAME( 2000, loderndfa,loderndf, ps4small, loderndf, psikyo4_state, 0, ROT0, "Psikyo", "Lode Runner - The Dig Fight (ver. A)", 0 )
-GAME( 2000, hotdebut, 0, ps4small, hotdebut, psikyo4_state, 0, ROT0, "Psikyo / Moss", "Quiz de Idol! Hot Debut (Japan)", 0 )
+GAME( 2000, loderndf, 0, ps4small, loderndf, driver_device, 0, ROT0, "Psikyo", "Lode Runner - The Dig Fight (ver. B)", 0 )
+GAME( 2000, loderndfa,loderndf, ps4small, loderndf, driver_device, 0, ROT0, "Psikyo", "Lode Runner - The Dig Fight (ver. A)", 0 )
+GAME( 2000, hotdebut, 0, ps4small, hotdebut, driver_device, 0, ROT0, "Psikyo / Moss", "Quiz de Idol! Hot Debut (Japan)", 0 )
diff --git a/src/mame/drivers/psikyosh.c b/src/mame/drivers/psikyosh.c
index bf988c55ce2..2e80da12597 100644
--- a/src/mame/drivers/psikyosh.c
+++ b/src/mame/drivers/psikyosh.c
@@ -1207,63 +1207,62 @@ ROM_START( tgm2p )
ROM_END
-static DRIVER_INIT( soldivid )
+DRIVER_INIT_MEMBER(psikyosh_state,soldivid)
{
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
-static DRIVER_INIT( s1945ii )
+DRIVER_INIT_MEMBER(psikyosh_state,s1945ii)
{
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
-static DRIVER_INIT( daraku )
+DRIVER_INIT_MEMBER(psikyosh_state,daraku)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->set_base(&RAM[0x100000]);
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->set_base(&RAM[0x100000]);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
-static DRIVER_INIT( sbomberb )
+DRIVER_INIT_MEMBER(psikyosh_state,sbomberb)
{
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
-static DRIVER_INIT( gunbird2 )
+DRIVER_INIT_MEMBER(psikyosh_state,gunbird2)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->set_base(&RAM[0x100000]);
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->set_base(&RAM[0x100000]);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
-static DRIVER_INIT( s1945iii )
+DRIVER_INIT_MEMBER(psikyosh_state,s1945iii)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->set_base(&RAM[0x100000]);
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->set_base(&RAM[0x100000]);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
-static DRIVER_INIT( dragnblz )
+DRIVER_INIT_MEMBER(psikyosh_state,dragnblz)
{
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
-static DRIVER_INIT( gnbarich )
+DRIVER_INIT_MEMBER(psikyosh_state,gnbarich)
{
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
-static DRIVER_INIT( tgm2 )
+DRIVER_INIT_MEMBER(psikyosh_state,tgm2)
{
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
-static DRIVER_INIT( mjgtaste )
+DRIVER_INIT_MEMBER(psikyosh_state,mjgtaste)
{
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_FASTEST_OPTIONS);
/* needs to install mahjong controls too (can select joystick in test mode tho) */
- psikyosh_state *state = machine.driver_data<psikyosh_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x03000000, 0x03000003, read32_delegate(FUNC(psikyosh_state::mjgtaste_input_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x03000000, 0x03000003, read32_delegate(FUNC(psikyosh_state::mjgtaste_input_r),this));
}
diff --git a/src/mame/drivers/psychic5.c b/src/mame/drivers/psychic5.c
index 7f1bd498b4b..81778499fed 100644
--- a/src/mame/drivers/psychic5.c
+++ b/src/mame/drivers/psychic5.c
@@ -903,6 +903,6 @@ ROM_START( bombsa )
ROM_END
-GAME( 1987, psychic5, 0, psychic5, psychic5, psychic5_state, 0, ROT270, "Jaleco", "Psychic 5 (set 1)", 0 )
-GAME( 1987, psychic5a, psychic5, psychic5, psychic5, psychic5_state, 0, ROT270, "Jaleco", "Psychic 5 (set 2)", 0 ) // player doesn't die as early in attract mode on this set..
-GAME( 1988, bombsa, 0, bombsa, bombsa, psychic5_state, 0, ROT270, "Jaleco", "Bombs Away", GAME_NOT_WORKING )
+GAME( 1987, psychic5, 0, psychic5, psychic5, driver_device, 0, ROT270, "Jaleco", "Psychic 5 (set 1)", 0 )
+GAME( 1987, psychic5a, psychic5, psychic5, psychic5, driver_device, 0, ROT270, "Jaleco", "Psychic 5 (set 2)", 0 ) // player doesn't die as early in attract mode on this set..
+GAME( 1988, bombsa, 0, bombsa, bombsa, driver_device, 0, ROT270, "Jaleco", "Bombs Away", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/pturn.c b/src/mame/drivers/pturn.c
index 0c2b3380f42..3e074a1b6b3 100644
--- a/src/mame/drivers/pturn.c
+++ b/src/mame/drivers/pturn.c
@@ -112,6 +112,7 @@ public:
DECLARE_READ8_MEMBER(pturn_custom_r);
DECLARE_READ8_MEMBER(pturn_protection_r);
DECLARE_READ8_MEMBER(pturn_protection2_r);
+ DECLARE_DRIVER_INIT(pturn);
};
@@ -553,11 +554,11 @@ ROM_START( pturn )
ROM_END
-static DRIVER_INIT(pturn)
+DRIVER_INIT_MEMBER(pturn_state,pturn)
{
/*
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc0dd, 0xc0dd, FUNC(pturn_protection_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc0db, 0xc0db, FUNC(pturn_protection2_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc0dd, 0xc0dd, FUNC(pturn_protection_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc0db, 0xc0db, FUNC(pturn_protection2_r));
*/
}
diff --git a/src/mame/drivers/puckpkmn.c b/src/mame/drivers/puckpkmn.c
index 2e93fdfc4d7..05bf00a6068 100644
--- a/src/mame/drivers/puckpkmn.c
+++ b/src/mame/drivers/puckpkmn.c
@@ -378,10 +378,10 @@ Screenshots available on my site at http://guru.mameworld.info/oldnews2001.html
****************************************************************************/
-static DRIVER_INIT( puckpkmn )
+DRIVER_INIT_MEMBER(md_boot_state,puckpkmn)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- size_t len = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ size_t len = machine().root_device().memregion("maincpu")->bytes();
int i;
for (i = 0; i < len; i++)
diff --git a/src/mame/drivers/pushman.c b/src/mame/drivers/pushman.c
index 065447868ac..8769281e287 100644
--- a/src/mame/drivers/pushman.c
+++ b/src/mame/drivers/pushman.c
@@ -687,8 +687,8 @@ ROM_START( bballs )
ROM_LOAD( "bb_prom.e9", 0x0000, 0x0100, CRC(ec80ae36) SHA1(397ec8fc1b106c8b8d4bf6798aa429e8768a101a) ) /* priority (not used) N82S129 BPROM */
ROM_END
-GAME( 1990, pushman, 0, pushman, pushman, pushman_state, 0, ROT0, "Comad", "Pushman (Korea, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pushmana, pushman, pushman, pushman, pushman_state, 0, ROT0, "Comad", "Pushman (Korea, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pushmans, pushman, pushman, pushman, pushman_state, 0, ROT0, "Comad (American Sammy license)", "Pushman (American Sammy license)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pushmant, pushman, pushman, pushman, pushman_state, 0, ROT0, "Comad (Top Tronic license)", "Pushman (Top Tronic license)", GAME_SUPPORTS_SAVE )
-GAME( 1991, bballs, 0, bballs, bballs, pushman_state, 0, ROT0, "Comad", "Bouncing Balls", GAME_SUPPORTS_SAVE )
+GAME( 1990, pushman, 0, pushman, pushman, driver_device, 0, ROT0, "Comad", "Pushman (Korea, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pushmana, pushman, pushman, pushman, driver_device, 0, ROT0, "Comad", "Pushman (Korea, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pushmans, pushman, pushman, pushman, driver_device, 0, ROT0, "Comad (American Sammy license)", "Pushman (American Sammy license)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pushmant, pushman, pushman, pushman, driver_device, 0, ROT0, "Comad (Top Tronic license)", "Pushman (Top Tronic license)", GAME_SUPPORTS_SAVE )
+GAME( 1991, bballs, 0, bballs, bballs, driver_device, 0, ROT0, "Comad", "Bouncing Balls", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pyson.c b/src/mame/drivers/pyson.c
index 316c51a1089..a99f0f11ee5 100644
--- a/src/mame/drivers/pyson.c
+++ b/src/mame/drivers/pyson.c
@@ -255,6 +255,6 @@ ROM_START( wswe2k3 )
ROM_END
-GAME(2002, pyson, 0, pyson, pyson, pyson_state, 0, ROT0, "Konami", "Konami Pyson BIOS", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT)
-GAME(2002, wswe, pyson, pyson, pyson, pyson_state, 0, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game Style", GAME_IS_SKELETON)
-GAME(2003, wswe2k3, pyson, pyson, pyson, pyson_state, 0, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game 2003", GAME_IS_SKELETON)
+GAME(2002, pyson, 0, pyson, pyson, driver_device, 0, ROT0, "Konami", "Konami Pyson BIOS", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT)
+GAME(2002, wswe, pyson, pyson, pyson, driver_device, 0, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game Style", GAME_IS_SKELETON)
+GAME(2003, wswe2k3, pyson, pyson, pyson, driver_device, 0, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game 2003", GAME_IS_SKELETON)
diff --git a/src/mame/drivers/pzletime.c b/src/mame/drivers/pzletime.c
index 312e2d00135..da9084eeea2 100644
--- a/src/mame/drivers/pzletime.c
+++ b/src/mame/drivers/pzletime.c
@@ -391,4 +391,4 @@ ROM_START( pzletime )
ROM_LOAD( "pzletime.nv", 0x0000, 0x0080, CRC(e5ed3d40) SHA1(8c163a6e5839e5c82d52f046d3268202fdf9f4d1) )
ROM_END
-GAME( 199?, pzletime, 0, pzletime, pzletime, pzletime_state, 0, ROT0, "Elettronica Video-Games S.R.L.", "Puzzle Time (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 199?, pzletime, 0, pzletime, pzletime, driver_device, 0, ROT0, "Elettronica Video-Games S.R.L.", "Puzzle Time (prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/qdrmfgp.c b/src/mame/drivers/qdrmfgp.c
index 5cca8f9d140..96baa291625 100644
--- a/src/mame/drivers/qdrmfgp.c
+++ b/src/mame/drivers/qdrmfgp.c
@@ -789,5 +789,5 @@ ROM_END
*************************************/
/* year rom clone machine inputs init */
-GAME( 1994, qdrmfgp, 0, qdrmfgp, qdrmfgp, qdrmfgp_state, 0, ROT0, "Konami", "Quiz Do Re Mi Fa Grand Prix (Japan)", 0 )
-GAME( 1995, qdrmfgp2, 0, qdrmfgp2, qdrmfgp2, qdrmfgp_state, 0, ROT0, "Konami", "Quiz Do Re Mi Fa Grand Prix 2 - Shin-Kyoku Nyuukadayo (Japan)", 0 )
+GAME( 1994, qdrmfgp, 0, qdrmfgp, qdrmfgp, driver_device, 0, ROT0, "Konami", "Quiz Do Re Mi Fa Grand Prix (Japan)", 0 )
+GAME( 1995, qdrmfgp2, 0, qdrmfgp2, qdrmfgp2, driver_device, 0, ROT0, "Konami", "Quiz Do Re Mi Fa Grand Prix 2 - Shin-Kyoku Nyuukadayo (Japan)", 0 )
diff --git a/src/mame/drivers/qix.c b/src/mame/drivers/qix.c
index 93336da38c8..be1a4c1b630 100644
--- a/src/mame/drivers/qix.c
+++ b/src/mame/drivers/qix.c
@@ -1255,10 +1255,10 @@ static int kram3_decrypt(int address, int value)
return ((bits2 & 0xe) << 4) | ((bits1 & 0x8) << 1) | ((bits2 & 0x1) << 3) | ((bits1 & 0x7) << 0);
}
-static DRIVER_INIT( kram3 )
+DRIVER_INIT_MEMBER(qix_state,kram3)
{
- address_space *mainspace = machine.device("maincpu")->memory().space(AS_PROGRAM);
- address_space *videospace = machine.device("videocpu")->memory().space(AS_PROGRAM);
+ address_space *mainspace = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *videospace = machine().device("videocpu")->memory().space(AS_PROGRAM);
//const UINT8 *patch;
UINT8 *rom, *decrypted;
int i;
@@ -1278,9 +1278,9 @@ static DRIVER_INIT( kram3 )
********************************/
i = 0;
- //patch = machine.root_device().memregion("user1")->base();
- rom = machine.root_device().memregion("maincpu")->base();
- decrypted = auto_alloc_array(machine, UINT8, 0x6000);
+ //patch = machine().root_device().memregion("user1")->base();
+ rom = machine().root_device().memregion("maincpu")->base();
+ decrypted = auto_alloc_array(machine(), UINT8, 0x6000);
mainspace->set_decrypted_region(0xa000, 0xffff, decrypted);
@@ -1291,9 +1291,9 @@ static DRIVER_INIT( kram3 )
}
i = 0;
- //patch = machine.root_device().memregion("user2")->base();
- rom = machine.root_device().memregion("videocpu")->base();
- decrypted = auto_alloc_array(machine, UINT8, 0x6000);
+ //patch = machine().root_device().memregion("user2")->base();
+ rom = machine().root_device().memregion("videocpu")->base();
+ decrypted = auto_alloc_array(machine(), UINT8, 0x6000);
videospace->set_decrypted_region(0xa000, 0xffff, decrypted);
@@ -1305,16 +1305,16 @@ static DRIVER_INIT( kram3 )
}
-static DRIVER_INIT( zookeep )
+DRIVER_INIT_MEMBER(qix_state,zookeep)
{
/* configure the banking */
- machine.root_device().membank("bank1")->configure_entry(0, machine.root_device().memregion("videocpu")->base() + 0xa000);
- machine.root_device().membank("bank1")->configure_entry(1, machine.root_device().memregion("videocpu")->base() + 0x10000);
- machine.root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank1")->configure_entry(0, machine().root_device().memregion("videocpu")->base() + 0xa000);
+ machine().root_device().membank("bank1")->configure_entry(1, machine().root_device().memregion("videocpu")->base() + 0x10000);
+ machine().root_device().membank("bank1")->set_entry(0);
}
-static DRIVER_INIT( slither )
+DRIVER_INIT_MEMBER(qix_state,slither)
{
}
@@ -1326,20 +1326,20 @@ static DRIVER_INIT( slither )
*
*************************************/
-GAME( 1981, qix, 0, qix, qix, qix_state, 0, ROT270, "Taito America Corporation", "Qix (Rev 2)", GAME_SUPPORTS_SAVE ) // newest set? closest to 'qix2'
-GAME( 1981, qixa, qix, qix, qix, qix_state, 0, ROT270, "Taito America Corporation", "Qix (set 2, smaller roms)", GAME_SUPPORTS_SAVE )
-GAME( 1981, qixb, qix, qix, qix, qix_state, 0, ROT270, "Taito America Corporation", "Qix (set 2, larger roms)", GAME_SUPPORTS_SAVE )
-GAME( 1981, qixo, qix, qix, qix, qix_state, 0, ROT270, "Taito America Corporation", "Qix (set 3, earlier)", GAME_SUPPORTS_SAVE ) // oldest set / prototype? has incorrect spelling 'deutch' and doesn't allow language selection to be changed
-GAME( 1981, qix2, qix, qix, qix, qix_state, 0, ROT270, "Taito America Corporation", "Qix II (Tournament)", GAME_SUPPORTS_SAVE )
-GAME( 1981, sdungeon, 0, mcu, sdungeon, qix_state, 0, ROT270, "Taito America Corporation", "Space Dungeon", GAME_SUPPORTS_SAVE )
-GAMEL(1982, elecyoyo, 0, mcu, elecyoyo, qix_state, 0, ROT270, "Taito America Corporation", "The Electric Yo-Yo (set 1)", GAME_SUPPORTS_SAVE, layout_elecyoyo )
-GAMEL(1982, elecyoyo2,elecyoyo, mcu, elecyoyo, qix_state, 0, ROT270, "Taito America Corporation", "The Electric Yo-Yo (set 2)", GAME_SUPPORTS_SAVE, layout_elecyoyo )
-GAME( 1982, kram, 0, mcu, kram, qix_state, 0, ROT0, "Taito America Corporation", "Kram (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, kram2, kram, mcu, kram, qix_state, 0, ROT0, "Taito America Corporation", "Kram (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, qix, 0, qix, qix, driver_device, 0, ROT270, "Taito America Corporation", "Qix (Rev 2)", GAME_SUPPORTS_SAVE ) // newest set? closest to 'qix2'
+GAME( 1981, qixa, qix, qix, qix, driver_device, 0, ROT270, "Taito America Corporation", "Qix (set 2, smaller roms)", GAME_SUPPORTS_SAVE )
+GAME( 1981, qixb, qix, qix, qix, driver_device, 0, ROT270, "Taito America Corporation", "Qix (set 2, larger roms)", GAME_SUPPORTS_SAVE )
+GAME( 1981, qixo, qix, qix, qix, driver_device, 0, ROT270, "Taito America Corporation", "Qix (set 3, earlier)", GAME_SUPPORTS_SAVE ) // oldest set / prototype? has incorrect spelling 'deutch' and doesn't allow language selection to be changed
+GAME( 1981, qix2, qix, qix, qix, driver_device, 0, ROT270, "Taito America Corporation", "Qix II (Tournament)", GAME_SUPPORTS_SAVE )
+GAME( 1981, sdungeon, 0, mcu, sdungeon, driver_device, 0, ROT270, "Taito America Corporation", "Space Dungeon", GAME_SUPPORTS_SAVE )
+GAMEL(1982, elecyoyo, 0, mcu, elecyoyo, driver_device, 0, ROT270, "Taito America Corporation", "The Electric Yo-Yo (set 1)", GAME_SUPPORTS_SAVE, layout_elecyoyo )
+GAMEL(1982, elecyoyo2,elecyoyo, mcu, elecyoyo, driver_device, 0, ROT270, "Taito America Corporation", "The Electric Yo-Yo (set 2)", GAME_SUPPORTS_SAVE, layout_elecyoyo )
+GAME( 1982, kram, 0, mcu, kram, driver_device, 0, ROT0, "Taito America Corporation", "Kram (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, kram2, kram, mcu, kram, driver_device, 0, ROT0, "Taito America Corporation", "Kram (set 2)", GAME_SUPPORTS_SAVE )
GAME( 1982, kram3, kram, qix, kram, qix_state, kram3, ROT0, "Taito America Corporation", "Kram (encrypted)", GAME_SUPPORTS_SAVE )
GAME( 1982, zookeep, 0, zookeep, zookeep, qix_state, zookeep, ROT0, "Taito America Corporation", "Zoo Keeper (set 1)", GAME_SUPPORTS_SAVE )
GAME( 1982, zookeep2, zookeep, zookeep, zookeep, qix_state, zookeep, ROT0, "Taito America Corporation", "Zoo Keeper (set 2)", GAME_SUPPORTS_SAVE )
GAME( 1982, zookeep3, zookeep, zookeep, zookeep, qix_state, zookeep, ROT0, "Taito America Corporation", "Zoo Keeper (set 3)", GAME_SUPPORTS_SAVE )
GAME( 1982, slither, 0, slither, slither, qix_state, slither, ROT270, "Century II", "Slither (set 1)", GAME_SUPPORTS_SAVE )
GAME( 1982, slithera, slither, slither, slither, qix_state, slither, ROT270, "Century II", "Slither (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, complexx, 0, qix, complexx, qix_state, 0, ROT270, "Taito America Corporation", "Complex X", GAME_SUPPORTS_SAVE )
+GAME( 1984, complexx, 0, qix, complexx, driver_device, 0, ROT270, "Taito America Corporation", "Complex X", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/quakeat.c b/src/mame/drivers/quakeat.c
index a978a522c23..f224a835d66 100644
--- a/src/mame/drivers/quakeat.c
+++ b/src/mame/drivers/quakeat.c
@@ -199,4 +199,4 @@ ROM_START(quake)
ROM_END
-GAME( 1998, quake, 0, quake, quake, quakeat_state, 0, ROT0, "Lazer-Tron / iD Software", "Quake Arcade Tournament (Release Beta 2)", GAME_IS_SKELETON )
+GAME( 1998, quake, 0, quake, quake, driver_device, 0, ROT0, "Lazer-Tron / iD Software", "Quake Arcade Tournament (Release Beta 2)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/quantum.c b/src/mame/drivers/quantum.c
index 19fb283743c..5b3a8536c46 100644
--- a/src/mame/drivers/quantum.c
+++ b/src/mame/drivers/quantum.c
@@ -393,6 +393,6 @@ ROM_END
*
*************************************/
-GAME( 1982, quantum, 0, quantum, quantum, quantum_state, 0, ROT270, "General Computer Corporation (Atari license)", "Quantum (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, quantum1, quantum, quantum, quantum, quantum_state, 0, ROT270, "General Computer Corporation (Atari license)", "Quantum (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, quantump, quantum, quantum, quantum, quantum_state, 0, ROT270, "General Computer Corporation (Atari license)", "Quantum (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1982, quantum, 0, quantum, quantum, driver_device, 0, ROT270, "General Computer Corporation (Atari license)", "Quantum (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, quantum1, quantum, quantum, quantum, driver_device, 0, ROT270, "General Computer Corporation (Atari license)", "Quantum (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, quantump, quantum, quantum, quantum, driver_device, 0, ROT270, "General Computer Corporation (Atari license)", "Quantum (prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/quasar.c b/src/mame/drivers/quasar.c
index 4ebd641507f..4760dfbb394 100644
--- a/src/mame/drivers/quasar.c
+++ b/src/mame/drivers/quasar.c
@@ -427,5 +427,5 @@ ROM_START( quasara )
ROM_END
-GAME( 1980, quasar, 0, quasar, quasar, quasar_state, 0, ROT90, "Zaccaria / Zelco", "Quasar (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, quasara, quasar, quasar, quasar, quasar_state, 0, ROT90, "Zaccaria / Zelco", "Quasar (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, quasar, 0, quasar, quasar, driver_device, 0, ROT90, "Zaccaria / Zelco", "Quasar (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, quasara, quasar, quasar, quasar, driver_device, 0, ROT90, "Zaccaria / Zelco", "Quasar (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/queen.c b/src/mame/drivers/queen.c
index 96da4136436..9626b37e47f 100644
--- a/src/mame/drivers/queen.c
+++ b/src/mame/drivers/queen.c
@@ -715,4 +715,4 @@ ROM_START( queen )
ROM_END
-GAME( 2002?, queen, 0, queen, at_keyboard, queen_state, 0, ROT0, "STG", "Queen?", GAME_IS_SKELETON )
+GAME( 2002?, queen, 0, queen, at_keyboard, driver_device, 0, ROT0, "STG", "Queen?", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/quizdna.c b/src/mame/drivers/quizdna.c
index 224df5f8f1c..aa0d24fbe6e 100644
--- a/src/mame/drivers/quizdna.c
+++ b/src/mame/drivers/quizdna.c
@@ -573,6 +573,6 @@ ROM_START( gekiretu )
ROM_LOAD( "quiz3.148", 0x000000, 0x000020, CRC(91267e8a) SHA1(ae5bd8efea5322c4d9986d06680a781392f9a642) )
ROM_END
-GAME( 1991, gakupara, 0, gakupara, gakupara, quizdna_state, 0, ROT0, "NMK", "Quiz Gakuen Paradise (Japan)", 0 )
-GAME( 1992, quizdna, 0, quizdna, quizdna, quizdna_state, 0, ROT0, "Face", "Quiz DNA no Hanran (Japan)", 0 )
-GAME( 1992, gekiretu, 0, gekiretu, gekiretu, quizdna_state, 0, ROT0, "Face", "Quiz Gekiretsu Scramble (Japan)", 0 )
+GAME( 1991, gakupara, 0, gakupara, gakupara, driver_device, 0, ROT0, "NMK", "Quiz Gakuen Paradise (Japan)", 0 )
+GAME( 1992, quizdna, 0, quizdna, quizdna, driver_device, 0, ROT0, "Face", "Quiz DNA no Hanran (Japan)", 0 )
+GAME( 1992, gekiretu, 0, gekiretu, gekiretu, driver_device, 0, ROT0, "Face", "Quiz Gekiretsu Scramble (Japan)", 0 )
diff --git a/src/mame/drivers/quizo.c b/src/mame/drivers/quizo.c
index 1f81e010398..e75a0517d43 100644
--- a/src/mame/drivers/quizo.c
+++ b/src/mame/drivers/quizo.c
@@ -40,6 +40,7 @@ public:
DECLARE_WRITE8_MEMBER(vram_w);
DECLARE_WRITE8_MEMBER(port70_w);
DECLARE_WRITE8_MEMBER(port60_w);
+ DECLARE_DRIVER_INIT(quizo);
};
@@ -257,10 +258,9 @@ ROM_START( quizoa )
ROM_END
-static DRIVER_INIT(quizo)
+DRIVER_INIT_MEMBER(quizo_state,quizo)
{
- quizo_state *state = machine.driver_data<quizo_state>();
- state->m_videoram=auto_alloc_array(machine, UINT8, 0x4000*2);
+ m_videoram=auto_alloc_array(machine(), UINT8, 0x4000*2);
}
GAME( 1985, quizo, 0, quizo, quizo, quizo_state, quizo, ROT0, "Seoul Coin Corp.", "Quiz Olympic (set 1)", 0 )
diff --git a/src/mame/drivers/quizpani.c b/src/mame/drivers/quizpani.c
index cd2f2d66f96..b664f877cbe 100644
--- a/src/mame/drivers/quizpani.c
+++ b/src/mame/drivers/quizpani.c
@@ -247,4 +247,4 @@ ROM_START( quizpani )
ROM_LOAD( "qz8.121", 0x200, 0x100, CRC(b4c19741) SHA1(a6d3686bad6ef2336463b89bc2d249003d9b4bcc) ) /* unknown */
ROM_END
-GAME( 1993, quizpani, 0, quizpani, quizpani, quizpani_state, 0, ROT0, "NMK", "Quiz Panicuru Fantasy", 0 )
+GAME( 1993, quizpani, 0, quizpani, quizpani, driver_device, 0, ROT0, "NMK", "Quiz Panicuru Fantasy", 0 )
diff --git a/src/mame/drivers/quizpun2.c b/src/mame/drivers/quizpun2.c
index 7a0873ce5f7..8ae814f0dd1 100644
--- a/src/mame/drivers/quizpun2.c
+++ b/src/mame/drivers/quizpun2.c
@@ -599,5 +599,5 @@ ROM_START( quizpun )
ROM_END
-GAME( 1988, quizpun, 0, quizpun2, quizpun2, quizpun2_state, 0, ROT270, "Space Computer", "Quiz Punch", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1989, quizpun2, 0, quizpun2, quizpun2, quizpun2_state, 0, ROT270, "Space Computer", "Quiz Punch 2", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1988, quizpun, 0, quizpun2, quizpun2, driver_device, 0, ROT270, "Space Computer", "Quiz Punch", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1989, quizpun2, 0, quizpun2, quizpun2, driver_device, 0, ROT270, "Space Computer", "Quiz Punch 2", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/quizshow.c b/src/mame/drivers/quizshow.c
index 1c01ed4dc24..0a041e65ed2 100644
--- a/src/mame/drivers/quizshow.c
+++ b/src/mame/drivers/quizshow.c
@@ -58,6 +58,7 @@ public:
DECLARE_WRITE8_MEMBER(quizshow_main_ram_w);
DECLARE_CUSTOM_INPUT_MEMBER(quizshow_tape_headpos_r);
DECLARE_INPUT_CHANGED_MEMBER(quizshow_category_select);
+ DECLARE_DRIVER_INIT(quizshow);
};
@@ -423,10 +424,10 @@ ROM_START( quizshow )
ROM_END
-static DRIVER_INIT( quizshow )
+DRIVER_INIT_MEMBER(quizshow_state,quizshow)
{
- UINT8 *gfxdata = machine.root_device().memregion("user1")->base();
- UINT8 *dest = machine.root_device().memregion("gfx1")->base();
+ UINT8 *gfxdata = machine().root_device().memregion("user1")->base();
+ UINT8 *dest = machine().root_device().memregion("gfx1")->base();
int tile, line;
diff --git a/src/mame/drivers/r2dtank.c b/src/mame/drivers/r2dtank.c
index d7d894c66fe..468cf6c3c0e 100644
--- a/src/mame/drivers/r2dtank.c
+++ b/src/mame/drivers/r2dtank.c
@@ -596,4 +596,4 @@ ROM_END
*
*************************************/
-GAME( 1980, r2dtank, 0, r2dtank, r2dtank, r2dtank_state, 0, ROT270, "Sigma Enterprises Inc.", "R2D Tank", GAME_SUPPORTS_SAVE)
+GAME( 1980, r2dtank, 0, r2dtank, r2dtank, driver_device, 0, ROT270, "Sigma Enterprises Inc.", "R2D Tank", GAME_SUPPORTS_SAVE)
diff --git a/src/mame/drivers/r2dx_v33.c b/src/mame/drivers/r2dx_v33.c
index 672accb6d79..727a4f0d7e8 100644
--- a/src/mame/drivers/r2dx_v33.c
+++ b/src/mame/drivers/r2dx_v33.c
@@ -48,6 +48,9 @@ public:
DECLARE_WRITE16_MEMBER(mcu_prog_w2);
DECLARE_WRITE16_MEMBER(mcu_prog_offs_w);
DECLARE_WRITE16_MEMBER(rdx_v33_eeprom_w);
+ DECLARE_DRIVER_INIT(rdx_v33);
+ DECLARE_DRIVER_INIT(nzerotea);
+ DECLARE_DRIVER_INIT(zerotm2k);
};
@@ -732,32 +735,32 @@ static MACHINE_CONFIG_START( nzerotea, r2dx_v33_state )
MACHINE_CONFIG_END
-static DRIVER_INIT(rdx_v33)
+DRIVER_INIT_MEMBER(r2dx_v33_state,rdx_v33)
{
- machine.root_device().membank("bank1")->configure_entries(0, 0x20, machine.root_device().memregion("mainprg")->base(), 0x20000);
+ machine().root_device().membank("bank1")->configure_entries(0, 0x20, machine().root_device().memregion("mainprg")->base(), 0x20000);
- raiden2_decrypt_sprites(machine);
+ raiden2_decrypt_sprites(machine());
- machine.root_device().membank("bank1")->set_entry(1);
+ machine().root_device().membank("bank1")->set_entry(1);
}
-static DRIVER_INIT(nzerotea)
+DRIVER_INIT_MEMBER(r2dx_v33_state,nzerotea)
{
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("mainprg")->base(), 0x20000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("mainprg")->base(), 0x20000);
- zeroteam_decrypt_sprites(machine);
+ zeroteam_decrypt_sprites(machine());
- machine.root_device().membank("bank1")->set_entry(1);
+ machine().root_device().membank("bank1")->set_entry(1);
}
-static DRIVER_INIT(zerotm2k)
+DRIVER_INIT_MEMBER(r2dx_v33_state,zerotm2k)
{
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("mainprg")->base(), 0x20000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("mainprg")->base(), 0x20000);
// sprites are NOT encrypted
- //zeroteam_decrypt_sprites(machine);
+ //zeroteam_decrypt_sprites(machine());
- machine.root_device().membank("bank1")->set_entry(1);
+ machine().root_device().membank("bank1")->set_entry(1);
}
diff --git a/src/mame/drivers/rabbit.c b/src/mame/drivers/rabbit.c
index d132d775227..c25fe846f69 100644
--- a/src/mame/drivers/rabbit.c
+++ b/src/mame/drivers/rabbit.c
@@ -131,6 +131,7 @@ public:
DECLARE_WRITE32_MEMBER(rabbit_rombank_w);
DECLARE_WRITE32_MEMBER(rabbit_blitter_w);
DECLARE_WRITE32_MEMBER(rabbit_eeprom_write);
+ DECLARE_DRIVER_INIT(rabbit);
};
@@ -905,12 +906,11 @@ MACHINE_CONFIG_END
-static DRIVER_INIT(rabbit)
+DRIVER_INIT_MEMBER(rabbit_state,rabbit)
{
- rabbit_state *state = machine.driver_data<rabbit_state>();
- state->m_banking = 1;
- state->m_vblirqlevel = 6;
- state->m_bltirqlevel = 4;
+ m_banking = 1;
+ m_vblirqlevel = 6;
+ m_bltirqlevel = 4;
/* 5 and 1 are also valid and might be raster related */
}
diff --git a/src/mame/drivers/raiden.c b/src/mame/drivers/raiden.c
index 251256d7944..d3adc97f878 100644
--- a/src/mame/drivers/raiden.c
+++ b/src/mame/drivers/raiden.c
@@ -604,30 +604,30 @@ static void common_decrypt(running_machine &machine)
/***************************************************************************/
-static DRIVER_INIT( raidena ) /* Decrypt NOTHING! */
+DRIVER_INIT_MEMBER(raiden_state,raidena)
{
#ifdef SYNC_HACK
- machine.device("sub")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4008, 0x4009, FUNC(sub_cpu_spin_r));
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4008, 0x4009, FUNC(sub_cpu_spin_r));
#endif
}
-static DRIVER_INIT( raiden ) /* Decrypt Main / Sub / Sound code */
+DRIVER_INIT_MEMBER(raiden_state,raiden)
{
DRIVER_INIT_CALL(raidena);
- common_decrypt(machine);
- seibu_sound_decrypt(machine,"audiocpu",0x20000);
+ common_decrypt(machine());
+ seibu_sound_decrypt(machine(),"audiocpu",0x20000);
}
-static DRIVER_INIT( raidenk ) /* Decrypt Main / Sub code */
+DRIVER_INIT_MEMBER(raiden_state,raidenk)
{
DRIVER_INIT_CALL(raidena);
- common_decrypt(machine);
+ common_decrypt(machine());
}
-static DRIVER_INIT( raidenu ) /* Decrypt Sound only code */
+DRIVER_INIT_MEMBER(raiden_state,raidenu)
{
DRIVER_INIT_CALL(raidena);
- seibu_sound_decrypt(machine,"audiocpu",0x20000);
+ seibu_sound_decrypt(machine(),"audiocpu",0x20000);
}
diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c
index 3b240956dc8..35d4a11a38a 100644
--- a/src/mame/drivers/raiden2.c
+++ b/src/mame/drivers/raiden2.c
@@ -2895,28 +2895,28 @@ ROM_START( xsedae )
ROM_REGION( 0x100000, "oki2", ROMREGION_ERASEFF ) /* ADPCM samples */
ROM_END
-static DRIVER_INIT (raiden2)
+DRIVER_INIT_MEMBER(raiden2_state,raiden2)
{
- machine.root_device().membank("mainbank")->configure_entries(0, 2, machine.root_device().memregion("mainprg")->base(), 0x20000);
- raiden2_decrypt_sprites(machine);
+ machine().root_device().membank("mainbank")->configure_entries(0, 2, machine().root_device().memregion("mainprg")->base(), 0x20000);
+ raiden2_decrypt_sprites(machine());
}
-static DRIVER_INIT (raidendx)
+DRIVER_INIT_MEMBER(raiden2_state,raidendx)
{
- machine.root_device().membank("mainbank")->configure_entries(0, 0x10, machine.root_device().memregion("mainprg")->base(), 0x20000);
- raiden2_decrypt_sprites(machine);
+ machine().root_device().membank("mainbank")->configure_entries(0, 0x10, machine().root_device().memregion("mainprg")->base(), 0x20000);
+ raiden2_decrypt_sprites(machine());
}
-static DRIVER_INIT (xsedae)
+DRIVER_INIT_MEMBER(raiden2_state,xsedae)
{
/* doesn't have banking */
- //machine.root_device().membank("mainbank")->configure_entries(0, 2, machine.root_device().memregion("mainprg")->base(), 0x20000);
+ //machine().root_device().membank("mainbank")->configure_entries(0, 2, machine().root_device().memregion("mainprg")->base(), 0x20000);
}
-static DRIVER_INIT (zeroteam)
+DRIVER_INIT_MEMBER(raiden2_state,zeroteam)
{
- machine.root_device().membank("mainbank")->configure_entries(0, 2, machine.root_device().memregion("mainprg")->base(), 0x20000);
- zeroteam_decrypt_sprites(machine);
+ machine().root_device().membank("mainbank")->configure_entries(0, 2, machine().root_device().memregion("mainprg")->base(), 0x20000);
+ zeroteam_decrypt_sprites(machine());
}
/* GAME DRIVERS */
diff --git a/src/mame/drivers/rainbow.c b/src/mame/drivers/rainbow.c
index 5e9a84ec231..49c99cfe42d 100644
--- a/src/mame/drivers/rainbow.c
+++ b/src/mame/drivers/rainbow.c
@@ -873,29 +873,28 @@ ROM_START( jumping )
ROM_END
-static DRIVER_INIT( rbisland )
+DRIVER_INIT_MEMBER(rbisland_state,rbisland)
{
- UINT8 *ROM = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("audiocpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
- rbisland_cchip_init(machine, 0);
+ rbisland_cchip_init(machine(), 0);
}
-static DRIVER_INIT( rbislande )
+DRIVER_INIT_MEMBER(rbisland_state,rbislande)
{
- UINT8 *ROM = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("audiocpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
- rbisland_cchip_init(machine, 1);
+ rbisland_cchip_init(machine(), 1);
}
-static DRIVER_INIT( jumping )
+DRIVER_INIT_MEMBER(rbisland_state,jumping)
{
- rbisland_state *state = machine.driver_data<rbisland_state>();
- state->m_jumping_latch = 0;
- state->save_item(NAME(state->m_jumping_latch));
+ m_jumping_latch = 0;
+ save_item(NAME(m_jumping_latch));
}
diff --git a/src/mame/drivers/rallyx.c b/src/mame/drivers/rallyx.c
index 54cc8fc78eb..46f0362267a 100644
--- a/src/mame/drivers/rallyx.c
+++ b/src/mame/drivers/rallyx.c
@@ -1411,18 +1411,18 @@ ROM_END
*
*************************************/
-GAME( 1980, rallyx, 0, rallyx, rallyx, rallyx_state, 0, ROT0, "Namco", "Rally X (32k Ver.?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, rallyxa, rallyx, rallyx, rallyx, rallyx_state, 0, ROT0, "Namco", "Rally X", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, rallyxm, rallyx, rallyx, rallyx, rallyx_state, 0, ROT0, "Namco (Midway license)", "Rally X (Midway)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, nrallyx, 0, rallyx, nrallyx, rallyx_state, 0, ROT0, "Namco", "New Rally X", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, nrallyxb, nrallyx, rallyx, nrallyx, rallyx_state, 0, ROT0, "Namco", "New Rally X (bootleg?) ", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, jungler, 0, jungler, jungler, rallyx_state, 0, ROT90, "Konami", "Jungler", GAME_SUPPORTS_SAVE )
-GAME( 1981, junglers, jungler, jungler, jungler, rallyx_state, 0, ROT90, "Konami (Stern Electronics license)", "Jungler (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1981, savanna, jungler, jungler, jungler, rallyx_state, 0, ROT90, "bootleg (Olympia)", "Savanna (Jungler bootleg)", GAME_SUPPORTS_SAVE ) // or licensed from Konami?
-GAME( 1982, tactcian, 0, tactcian, tactcian, rallyx_state, 0, ROT90, "Konami (Sega license)", "Tactician (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, tactcian2,tactcian, tactcian, tactcian, rallyx_state, 0, ROT90, "Konami (Sega license)", "Tactician (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, locomotn, 0, locomotn, locomotn, rallyx_state, 0, ROT90, "Konami (Centuri license)", "Loco-Motion", GAME_SUPPORTS_SAVE )
-GAME( 1982, gutangtn, locomotn, locomotn, locomotn, rallyx_state, 0, ROT90, "Konami (Sega license)", "Guttang Gottong", GAME_SUPPORTS_SAVE )
-GAME( 1982, cottong, locomotn, locomotn, locomotn, rallyx_state, 0, ROT90, "bootleg", "Cotocoto Cottong", GAME_SUPPORTS_SAVE )
-GAME( 1982, locoboot, locomotn, locomotn, locomotn, rallyx_state, 0, ROT90, "bootleg", "Loco-Motion (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1983, commsega, 0, commsega, commsega, rallyx_state, 0, ROT90, "Sega", "Commando (Sega)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, rallyx, 0, rallyx, rallyx, driver_device, 0, ROT0, "Namco", "Rally X (32k Ver.?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, rallyxa, rallyx, rallyx, rallyx, driver_device, 0, ROT0, "Namco", "Rally X", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, rallyxm, rallyx, rallyx, rallyx, driver_device, 0, ROT0, "Namco (Midway license)", "Rally X (Midway)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, nrallyx, 0, rallyx, nrallyx, driver_device, 0, ROT0, "Namco", "New Rally X", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, nrallyxb, nrallyx, rallyx, nrallyx, driver_device, 0, ROT0, "Namco", "New Rally X (bootleg?) ", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, jungler, 0, jungler, jungler, driver_device, 0, ROT90, "Konami", "Jungler", GAME_SUPPORTS_SAVE )
+GAME( 1981, junglers, jungler, jungler, jungler, driver_device, 0, ROT90, "Konami (Stern Electronics license)", "Jungler (Stern Electronics)", GAME_SUPPORTS_SAVE )
+GAME( 1981, savanna, jungler, jungler, jungler, driver_device, 0, ROT90, "bootleg (Olympia)", "Savanna (Jungler bootleg)", GAME_SUPPORTS_SAVE ) // or licensed from Konami?
+GAME( 1982, tactcian, 0, tactcian, tactcian, driver_device, 0, ROT90, "Konami (Sega license)", "Tactician (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, tactcian2,tactcian, tactcian, tactcian, driver_device, 0, ROT90, "Konami (Sega license)", "Tactician (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, locomotn, 0, locomotn, locomotn, driver_device, 0, ROT90, "Konami (Centuri license)", "Loco-Motion", GAME_SUPPORTS_SAVE )
+GAME( 1982, gutangtn, locomotn, locomotn, locomotn, driver_device, 0, ROT90, "Konami (Sega license)", "Guttang Gottong", GAME_SUPPORTS_SAVE )
+GAME( 1982, cottong, locomotn, locomotn, locomotn, driver_device, 0, ROT90, "bootleg", "Cotocoto Cottong", GAME_SUPPORTS_SAVE )
+GAME( 1982, locoboot, locomotn, locomotn, locomotn, driver_device, 0, ROT90, "bootleg", "Loco-Motion (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1983, commsega, 0, commsega, commsega, driver_device, 0, ROT90, "Sega", "Commando (Sega)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/rampart.c b/src/mame/drivers/rampart.c
index 0ee8cae1fca..b552a8d95a2 100644
--- a/src/mame/drivers/rampart.c
+++ b/src/mame/drivers/rampart.c
@@ -477,12 +477,12 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( rampart )
+DRIVER_INIT_MEMBER(rampart_state,rampart)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
memcpy(&rom[0x140000], &rom[0x40000], 0x8000);
- atarigen_slapstic_init(machine.device("maincpu"), 0x140000, 0x438000, 118);
+ atarigen_slapstic_init(machine().device("maincpu"), 0x140000, 0x438000, 118);
}
diff --git a/src/mame/drivers/rastan.c b/src/mame/drivers/rastan.c
index 6c95d77351c..b744e517a3f 100644
--- a/src/mame/drivers/rastan.c
+++ b/src/mame/drivers/rastan.c
@@ -684,12 +684,12 @@ ROM_START( rastsagaa )
ROM_END
/* Newer revised code base */
-GAME( 1987, rastan, 0, rastan, rastan, rastan_state, 0, ROT0, "Taito Corporation Japan", "Rastan (World Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rastana, rastan, rastan, rastsaga, rastan_state, 0, ROT0, "Taito Corporation Japan", "Rastan (World)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rastanu, rastan, rastan, rastsaga, rastan_state, 0, ROT0, "Taito America Corporation", "Rastan (US Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rastanua, rastan, rastan, rastsaga, rastan_state, 0, ROT0, "Taito America Corporation", "Rastan (US)", GAME_SUPPORTS_SAVE )
+GAME( 1987, rastan, 0, rastan, rastan, driver_device, 0, ROT0, "Taito Corporation Japan", "Rastan (World Rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, rastana, rastan, rastan, rastsaga, driver_device, 0, ROT0, "Taito Corporation Japan", "Rastan (World)", GAME_SUPPORTS_SAVE )
+GAME( 1987, rastanu, rastan, rastan, rastsaga, driver_device, 0, ROT0, "Taito America Corporation", "Rastan (US Rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, rastanua, rastan, rastan, rastsaga, driver_device, 0, ROT0, "Taito America Corporation", "Rastan (US)", GAME_SUPPORTS_SAVE )
/* Based on earliest code base */
-GAME( 1987, rastanub, rastan, rastan, rastsaga, rastan_state, 0, ROT0, "Taito America Corporation", "Rastan (US, Earlier code base)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rastsaga, rastan, rastan, rastsaga, rastan_state, 0, ROT0, "Taito Corporation", "Rastan Saga (Japan Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rastsagaa, rastan, rastan, rastsaga, rastan_state, 0, ROT0, "Taito Corporation", "Rastan Saga (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, rastanub, rastan, rastan, rastsaga, driver_device, 0, ROT0, "Taito America Corporation", "Rastan (US, Earlier code base)", GAME_SUPPORTS_SAVE )
+GAME( 1987, rastsaga, rastan, rastan, rastsaga, driver_device, 0, ROT0, "Taito Corporation", "Rastan Saga (Japan Rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, rastsagaa, rastan, rastan, rastsaga, driver_device, 0, ROT0, "Taito Corporation", "Rastan Saga (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/rbmk.c b/src/mame/drivers/rbmk.c
index a270e507a8b..7db67bebbeb 100644
--- a/src/mame/drivers/rbmk.c
+++ b/src/mame/drivers/rbmk.c
@@ -594,4 +594,4 @@ ROM_START( rbmk )
ROM_END
-GAME( 1998, rbmk, 0, rbmk, rbmk, rbmk_state,0, ROT0, "GMS", "Real Battle Mahjong King", GAME_NOT_WORKING )
+GAME( 1998, rbmk, 0, rbmk, rbmk, driver_device,0, ROT0, "GMS", "Real Battle Mahjong King", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/rcorsair.c b/src/mame/drivers/rcorsair.c
index 320b90b8b09..8f0b584eabc 100644
--- a/src/mame/drivers/rcorsair.c
+++ b/src/mame/drivers/rcorsair.c
@@ -169,4 +169,4 @@ ROM_START( rcorsair )
ROM_END
-GAME( 1984, rcorsair, 0, rcorsair, inports, rcorsair_state, 0, ROT90, "Nakasawa", "Red Corsair", GAME_IS_SKELETON )
+GAME( 1984, rcorsair, 0, rcorsair, inports, driver_device, 0, ROT90, "Nakasawa", "Red Corsair", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/re900.c b/src/mame/drivers/re900.c
index 5ddc1d18142..2ad1fc7575a 100644
--- a/src/mame/drivers/re900.c
+++ b/src/mame/drivers/re900.c
@@ -104,6 +104,7 @@ public:
DECLARE_WRITE8_MEMBER(re_mux_port_A_w);
DECLARE_WRITE8_MEMBER(re_mux_port_B_w);
DECLARE_WRITE_LINE_MEMBER(vdp_interrupt);
+ DECLARE_DRIVER_INIT(re900);
};
@@ -452,12 +453,11 @@ ROM_END
* Driver Init *
************************/
-static DRIVER_INIT( re900 )
+DRIVER_INIT_MEMBER(re900_state,re900)
{
- re900_state *state = machine.driver_data<re900_state>();
- state->m_player = 1;
- state->m_stat_a = 1;
- state->m_psg_pa = state->m_psg_pb = state->m_mux_data = state->m_ledant = 0;
+ m_player = 1;
+ m_stat_a = 1;
+ m_psg_pa = m_psg_pb = m_mux_data = m_ledant = 0;
}
diff --git a/src/mame/drivers/realbrk.c b/src/mame/drivers/realbrk.c
index c630248a741..3883110e84e 100644
--- a/src/mame/drivers/realbrk.c
+++ b/src/mame/drivers/realbrk.c
@@ -1241,9 +1241,9 @@ ROM_START( dai2kaku_alt_rom_size )
ROM_END
#endif
-GAME( 1998, pkgnsh, 0, pkgnsh, pkgnsh, realbrk_state, 0, ROT0, "Nakanihon / Dynax", "Pachinko Gindama Shoubu (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, pkgnshdx, 0, pkgnshdx, pkgnshdx, realbrk_state, 0, ROT0, "Nakanihon / Dynax", "Pachinko Gindama Shoubu DX (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, realbrk, 0, realbrk, realbrk, realbrk_state, 0, ROT0, "Nakanihon", "Billiard Academy Real Break (Europe)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, realbrkj, realbrk, realbrk, realbrk, realbrk_state, 0, ROT0, "Nakanihon", "Billiard Academy Real Break (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, realbrkk, realbrk, realbrk, realbrk, realbrk_state, 0, ROT0, "Nakanihon", "Billiard Academy Real Break (Korea)", GAME_IMPERFECT_GRAPHICS )
-GAME( 2004, dai2kaku, 0, dai2kaku, dai2kaku, realbrk_state, 0, ROT0, "SystemBit", "Dai-Dai-Kakumei (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, pkgnsh, 0, pkgnsh, pkgnsh, driver_device, 0, ROT0, "Nakanihon / Dynax", "Pachinko Gindama Shoubu (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, pkgnshdx, 0, pkgnshdx, pkgnshdx, driver_device, 0, ROT0, "Nakanihon / Dynax", "Pachinko Gindama Shoubu DX (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, realbrk, 0, realbrk, realbrk, driver_device, 0, ROT0, "Nakanihon", "Billiard Academy Real Break (Europe)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, realbrkj, realbrk, realbrk, realbrk, driver_device, 0, ROT0, "Nakanihon", "Billiard Academy Real Break (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, realbrkk, realbrk, realbrk, realbrk, driver_device, 0, ROT0, "Nakanihon", "Billiard Academy Real Break (Korea)", GAME_IMPERFECT_GRAPHICS )
+GAME( 2004, dai2kaku, 0, dai2kaku, dai2kaku, driver_device, 0, ROT0, "SystemBit", "Dai-Dai-Kakumei (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/redalert.c b/src/mame/drivers/redalert.c
index 59c35a58b3f..f9d117d151e 100644
--- a/src/mame/drivers/redalert.c
+++ b/src/mame/drivers/redalert.c
@@ -536,7 +536,7 @@ ROM_END
*
*************************************/
-GAME( 1981, panther, 0, panther, panther, redalert_state, 0, ROT270, "Irem", "Panther", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, redalert, 0, redalert, redalert, redalert_state, 0, ROT270, "Irem (GDI license)", "Red Alert", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, ww3, redalert, ww3, redalert, redalert_state, 0, ROT270, "Irem", "WW III", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, demoneye, 0, demoneye, demoneye, redalert_state, 0, ROT270, "Irem", "Demoneye-X", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, panther, 0, panther, panther, driver_device, 0, ROT270, "Irem", "Panther", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, redalert, 0, redalert, redalert, driver_device, 0, ROT270, "Irem (GDI license)", "Red Alert", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, ww3, redalert, ww3, redalert, driver_device, 0, ROT270, "Irem", "WW III", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, demoneye, 0, demoneye, demoneye, driver_device, 0, ROT270, "Irem", "Demoneye-X", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/redclash.c b/src/mame/drivers/redclash.c
index e9d1e6db101..613a36532f8 100644
--- a/src/mame/drivers/redclash.c
+++ b/src/mame/drivers/redclash.c
@@ -538,12 +538,12 @@ ROM_START( redclashk )
ROM_LOAD( "3.11e", 0x0040, 0x0020, CRC(27fa3a50) SHA1(7cf59b7a37c156640d6ea91554d1c4276c1780e0) ) /* 6331.6w */
ROM_END
-static DRIVER_INIT( redclash )
+DRIVER_INIT_MEMBER(ladybug_state,redclash)
{
int i,j;
- const UINT8 *src = machine.root_device().memregion("gfx2")->base();
- UINT8 *dst = machine.root_device().memregion("gfx3")->base();
- int len = machine.root_device().memregion("gfx3")->bytes();
+ const UINT8 *src = machine().root_device().memregion("gfx2")->base();
+ UINT8 *dst = machine().root_device().memregion("gfx3")->base();
+ int len = machine().root_device().memregion("gfx3")->bytes();
/* rearrange the sprite graphics */
for (i = 0;i < len;i++)
diff --git a/src/mame/drivers/relief.c b/src/mame/drivers/relief.c
index 86c63b8bf27..9ed481f4b47 100644
--- a/src/mame/drivers/relief.c
+++ b/src/mame/drivers/relief.c
@@ -442,9 +442,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( relief )
+DRIVER_INIT_MEMBER(relief_state,relief)
{
- UINT8 *sound_base = machine.root_device().memregion("oki")->base();
+ UINT8 *sound_base = machine().root_device().memregion("oki")->base();
/* expand the ADPCM data to avoid lots of memcpy's during gameplay */
/* the upper 128k is fixed, the lower 128k is bankswitched */
diff --git a/src/mame/drivers/renegade.c b/src/mame/drivers/renegade.c
index dcd30ad420c..9aed459b1a9 100644
--- a/src/mame/drivers/renegade.c
+++ b/src/mame/drivers/renegade.c
@@ -257,26 +257,24 @@ static MACHINE_START( renegade )
machine.save().register_postload(save_prepost_delegate(FUNC(setbank), &machine));
}
-static DRIVER_INIT( renegade )
+DRIVER_INIT_MEMBER(renegade_state,renegade)
{
- renegade_state *state = machine.driver_data<renegade_state>();
- state->m_mcu_sim = FALSE;
+ m_mcu_sim = FALSE;
}
-static DRIVER_INIT( kuniokun )
+DRIVER_INIT_MEMBER(renegade_state,kuniokun)
{
- renegade_state *state = machine.driver_data<renegade_state>();
- state->m_mcu_sim = TRUE;
- state->m_mcu_checksum = 0x85;
- state->m_mcu_encrypt_table = kuniokun_xor_table;
- state->m_mcu_encrypt_table_len = 0x2a;
+ m_mcu_sim = TRUE;
+ m_mcu_checksum = 0x85;
+ m_mcu_encrypt_table = kuniokun_xor_table;
+ m_mcu_encrypt_table_len = 0x2a;
- machine.device<cpu_device>("mcu")->suspend(SUSPEND_REASON_DISABLE, 1);
+ machine().device<cpu_device>("mcu")->suspend(SUSPEND_REASON_DISABLE, 1);
}
-static DRIVER_INIT( kuniokunb )
+DRIVER_INIT_MEMBER(renegade_state,kuniokunb)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* Remove the MCU handlers */
space->unmap_readwrite(0x3804, 0x3804);
diff --git a/src/mame/drivers/retofinv.c b/src/mame/drivers/retofinv.c
index 3af484f3043..d8bd0add2fb 100644
--- a/src/mame/drivers/retofinv.c
+++ b/src/mame/drivers/retofinv.c
@@ -504,6 +504,6 @@ ROM_END
-GAME( 1985, retofinv, 0, retofinv, retofinv, retofinv_state, 0, ROT90, "Taito Corporation", "Return of the Invaders", 0 )
-GAME( 1985, retofinv1,retofinv, retofinb, retofinv, retofinv_state, 0, ROT90, "bootleg", "Return of the Invaders (bootleg set 1)", 0 )
-GAME( 1985, retofinv2,retofinv, retofinb, retofin2, retofinv_state, 0, ROT90, "bootleg", "Return of the Invaders (bootleg set 2)", 0 )
+GAME( 1985, retofinv, 0, retofinv, retofinv, driver_device, 0, ROT90, "Taito Corporation", "Return of the Invaders", 0 )
+GAME( 1985, retofinv1,retofinv, retofinb, retofinv, driver_device, 0, ROT90, "bootleg", "Return of the Invaders (bootleg set 1)", 0 )
+GAME( 1985, retofinv2,retofinv, retofinb, retofin2, driver_device, 0, ROT90, "bootleg", "Return of the Invaders (bootleg set 2)", 0 )
diff --git a/src/mame/drivers/rgum.c b/src/mame/drivers/rgum.c
index 65eb755372d..307ebf095b7 100644
--- a/src/mame/drivers/rgum.c
+++ b/src/mame/drivers/rgum.c
@@ -316,4 +316,4 @@ ROM_START( rgum )
ROM_END
-GAME( 199?, rgum, 0, rgum, rgum, rgum_state, 0, ROT0, "<unknown>", "Royal Gum (Italy)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, rgum, 0, rgum, rgum, driver_device, 0, ROT0, "<unknown>", "Royal Gum (Italy)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/rltennis.c b/src/mame/drivers/rltennis.c
index 5322beed546..279149ddcfd 100644
--- a/src/mame/drivers/rltennis.c
+++ b/src/mame/drivers/rltennis.c
@@ -237,4 +237,4 @@ ROM_START( rltennis )
ROM_LOAD( "tennis_3.u52", 0x00000, 0x80000, CRC(517dcd0e) SHA1(b2703e185ee8cf7e115ea07151e7bee8be34948b) )
ROM_END
-GAME( 1993, rltennis, 0, rltennis, rltennis, rltennis_state, 0, ROT0, "TCH", "Reality Tennis", GAME_IMPERFECT_GRAPHICS)
+GAME( 1993, rltennis, 0, rltennis, rltennis, driver_device, 0, ROT0, "TCH", "Reality Tennis", GAME_IMPERFECT_GRAPHICS)
diff --git a/src/mame/drivers/rmhaihai.c b/src/mame/drivers/rmhaihai.c
index 7a7530ccd37..a79c4425013 100644
--- a/src/mame/drivers/rmhaihai.c
+++ b/src/mame/drivers/rmhaihai.c
@@ -55,6 +55,7 @@ public:
DECLARE_WRITE8_MEMBER(ctrl_w);
DECLARE_WRITE8_MEMBER(themj_rombank_w);
DECLARE_WRITE8_MEMBER(adpcm_w);
+ DECLARE_DRIVER_INIT(rmhaihai);
};
@@ -665,10 +666,10 @@ ROM_START( themj )
ROM_END
-static DRIVER_INIT( rmhaihai )
+DRIVER_INIT_MEMBER(rmhaihai_state,rmhaihai)
{
- UINT8 *rom = machine.root_device().memregion("gfx1")->base();
- int size = machine.root_device().memregion("gfx1")->bytes();
+ UINT8 *rom = machine().root_device().memregion("gfx1")->base();
+ int size = machine().root_device().memregion("gfx1")->bytes();
int a,b;
size /= 2;
diff --git a/src/mame/drivers/rockrage.c b/src/mame/drivers/rockrage.c
index e3e44b97e41..3ca34c087ed 100644
--- a/src/mame/drivers/rockrage.c
+++ b/src/mame/drivers/rockrage.c
@@ -394,6 +394,6 @@ ROM_END
***************************************************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1986, rockrage, 0, rockrage, rockrage, rockrage_state, 0, ROT0, "Konami", "Rock'n Rage (World)", GAME_SUPPORTS_SAVE )
-GAME( 1986, rockragea, rockrage, rockrage, rockrage, rockrage_state, 0, ROT0, "Konami", "Rock'n Rage (prototype?)", GAME_SUPPORTS_SAVE )
-GAME( 1986, rockragej, rockrage, rockrage, rockrage, rockrage_state, 0, ROT0, "Konami", "Koi no Hotrock (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, rockrage, 0, rockrage, rockrage, driver_device, 0, ROT0, "Konami", "Rock'n Rage (World)", GAME_SUPPORTS_SAVE )
+GAME( 1986, rockragea, rockrage, rockrage, rockrage, driver_device, 0, ROT0, "Konami", "Rock'n Rage (prototype?)", GAME_SUPPORTS_SAVE )
+GAME( 1986, rockragej, rockrage, rockrage, rockrage, driver_device, 0, ROT0, "Konami", "Koi no Hotrock (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/rocnrope.c b/src/mame/drivers/rocnrope.c
index b2caa562418..ab9c3857af6 100644
--- a/src/mame/drivers/rocnrope.c
+++ b/src/mame/drivers/rocnrope.c
@@ -343,16 +343,16 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( rocnrope )
+DRIVER_INIT_MEMBER(rocnrope_state,rocnrope)
{
- UINT8 *decrypted = konami1_decode(machine, "maincpu");
+ UINT8 *decrypted = konami1_decode(machine(), "maincpu");
decrypted[0x703d] = 0x98; /* fix one instruction */
}
-static DRIVER_INIT( rocnropk )
+DRIVER_INIT_MEMBER(rocnrope_state,rocnropk)
{
- konami1_decode(machine, "maincpu");
+ konami1_decode(machine(), "maincpu");
}
diff --git a/src/mame/drivers/rohga.c b/src/mame/drivers/rohga.c
index a84471c11ce..6e3c7a27368 100644
--- a/src/mame/drivers/rohga.c
+++ b/src/mame/drivers/rohga.c
@@ -1531,42 +1531,42 @@ ROM_END
/**********************************************************************************/
-static DRIVER_INIT( rohga )
+DRIVER_INIT_MEMBER(rohga_state,rohga)
{
- deco56_decrypt_gfx(machine, "gfx1");
- deco56_decrypt_gfx(machine, "gfx2");
+ deco56_decrypt_gfx(machine(), "gfx1");
+ deco56_decrypt_gfx(machine(), "gfx2");
- decoprot_reset(machine);
+ decoprot_reset(machine());
}
-static DRIVER_INIT( wizdfire )
+DRIVER_INIT_MEMBER(rohga_state,wizdfire)
{
- deco74_decrypt_gfx(machine, "gfx1");
- deco74_decrypt_gfx(machine, "gfx2");
- deco74_decrypt_gfx(machine, "gfx3");
+ deco74_decrypt_gfx(machine(), "gfx1");
+ deco74_decrypt_gfx(machine(), "gfx2");
+ deco74_decrypt_gfx(machine(), "gfx3");
}
-static DRIVER_INIT( nitrobal )
+DRIVER_INIT_MEMBER(rohga_state,nitrobal)
{
- deco56_decrypt_gfx(machine, "gfx1");
- deco56_decrypt_gfx(machine, "gfx2");
- deco74_decrypt_gfx(machine, "gfx3");
+ deco56_decrypt_gfx(machine(), "gfx1");
+ deco56_decrypt_gfx(machine(), "gfx2");
+ deco74_decrypt_gfx(machine(), "gfx3");
- decoprot_reset(machine);
+ decoprot_reset(machine());
}
-static DRIVER_INIT( schmeisr )
+DRIVER_INIT_MEMBER(rohga_state,schmeisr)
{
- const UINT8 *src = machine.root_device().memregion("gfx2")->base();
- UINT8 *dst = machine.root_device().memregion("gfx1")->base();
+ const UINT8 *src = machine().root_device().memregion("gfx2")->base();
+ UINT8 *dst = machine().root_device().memregion("gfx1")->base();
memcpy(dst, src, 0x20000);
memcpy(dst + 0x20000, src + 0x80000, 0x20000);
- deco74_decrypt_gfx(machine, "gfx1");
- deco74_decrypt_gfx(machine, "gfx2");
+ deco74_decrypt_gfx(machine(), "gfx1");
+ deco74_decrypt_gfx(machine(), "gfx2");
- decoprot_reset(machine);
+ decoprot_reset(machine());
}
GAME( 1991, rohga, 0, rohga, rohga, rohga_state, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (Asia/Europe v5.0)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/rollerg.c b/src/mame/drivers/rollerg.c
index 2b303b3026a..3c6b3524191 100644
--- a/src/mame/drivers/rollerg.c
+++ b/src/mame/drivers/rollerg.c
@@ -377,5 +377,5 @@ static KONAMI_SETLINES_CALLBACK( rollerg_banking )
}
-GAME( 1991, rollerg, 0, rollerg, rollerg, rollerg_state, 0, ROT0, "Konami", "Rollergames (US)", GAME_SUPPORTS_SAVE )
-GAME( 1991, rollergj, rollerg, rollerg, rollerg, rollerg_state, 0, ROT0, "Konami", "Rollergames (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, rollerg, 0, rollerg, rollerg, driver_device, 0, ROT0, "Konami", "Rollergames (US)", GAME_SUPPORTS_SAVE )
+GAME( 1991, rollergj, rollerg, rollerg, rollerg, driver_device, 0, ROT0, "Konami", "Rollergames (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/rollrace.c b/src/mame/drivers/rollrace.c
index 0fa7cb91bb6..f56e4da7551 100644
--- a/src/mame/drivers/rollrace.c
+++ b/src/mame/drivers/rollrace.c
@@ -419,6 +419,6 @@ ROM_START( rollace2 )
ROM_END
-GAME( 1983, fightrol, 0, rollrace, rollrace, rollrace_state, 0, ROT270, "Kaneko (Taito license)", "Fighting Roller", GAME_IMPERFECT_SOUND )
-GAME( 1983, rollace, fightrol, rollrace, rollrace, rollrace_state, 0, ROT270, "Kaneko (Williams license)", "Roller Aces (set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1983, rollace2, fightrol, rollace2, rollrace, rollrace_state, 0, ROT90, "Kaneko (Williams license)", "Roller Aces (set 2)", GAME_IMPERFECT_SOUND )
+GAME( 1983, fightrol, 0, rollrace, rollrace, driver_device, 0, ROT270, "Kaneko (Taito license)", "Fighting Roller", GAME_IMPERFECT_SOUND )
+GAME( 1983, rollace, fightrol, rollrace, rollrace, driver_device, 0, ROT270, "Kaneko (Williams license)", "Roller Aces (set 1)", GAME_IMPERFECT_SOUND )
+GAME( 1983, rollace2, fightrol, rollace2, rollrace, driver_device, 0, ROT90, "Kaneko (Williams license)", "Roller Aces (set 2)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/rotaryf.c b/src/mame/drivers/rotaryf.c
index 79e92091601..f03320421f0 100644
--- a/src/mame/drivers/rotaryf.c
+++ b/src/mame/drivers/rotaryf.c
@@ -194,4 +194,4 @@ ROM_START( rotaryf )
ROM_END
-GAME( 1979, rotaryf, 0, rotaryf, rotaryf, rotaryf_state, 0, ROT270, "Kasco", "Rotary Fighter", GAME_NO_SOUND )
+GAME( 1979, rotaryf, 0, rotaryf, rotaryf, driver_device, 0, ROT270, "Kasco", "Rotary Fighter", GAME_NO_SOUND )
diff --git a/src/mame/drivers/roul.c b/src/mame/drivers/roul.c
index 23aec69fb05..b046db14ca2 100644
--- a/src/mame/drivers/roul.c
+++ b/src/mame/drivers/roul.c
@@ -318,4 +318,4 @@ ROM_START(roul)
ROM_LOAD( "roul.u38", 0x0020, 0x0020, CRC(23ae22c1) SHA1(bf0383462976ec6341ffa8a173264ce820bc654a) )
ROM_END
-GAMEL( 1990, roul, 0, roul, roul, roul_state, 0, ROT0, "bootleg", "Super Lucky Roulette", GAME_IMPERFECT_GRAPHICS, layout_roul )
+GAMEL( 1990, roul, 0, roul, roul, driver_device, 0, ROT0, "bootleg", "Super Lucky Roulette", GAME_IMPERFECT_GRAPHICS, layout_roul )
diff --git a/src/mame/drivers/route16.c b/src/mame/drivers/route16.c
index fb196c3cd90..87faf56069c 100644
--- a/src/mame/drivers/route16.c
+++ b/src/mame/drivers/route16.c
@@ -955,9 +955,9 @@ READ8_MEMBER(route16_state::routex_prot_read)
*
*************************************/
-static DRIVER_INIT( route16 )
+DRIVER_INIT_MEMBER(route16_state,route16)
{
- UINT8 *ROM = machine.root_device().memregion("cpu1")->base();
+ UINT8 *ROM = machine().root_device().memregion("cpu1")->base();
/* Is this actually a bootleg? some of the protection has
been removed */
@@ -970,9 +970,9 @@ static DRIVER_INIT( route16 )
}
-static DRIVER_INIT( route16a )
+DRIVER_INIT_MEMBER(route16_state,route16a)
{
- UINT8 *ROM = machine.root_device().memregion("cpu1")->base();
+ UINT8 *ROM = machine().root_device().memregion("cpu1")->base();
/* TO DO : Replace these patches with simulation of the protection device */
/* patch the protection */
@@ -1001,12 +1001,12 @@ static DRIVER_INIT( route16a )
GAME( 1981, route16, 0, route16, route16, route16_state, route16, ROT270, "Tehkan / Sun Electronics (Centuri license)", "Route 16 (set 1)", 0 )
GAME( 1981, route16a, route16, route16, route16, route16_state, route16a, ROT270, "Tehkan / Sun Electronics (Centuri license)", "Route 16 (set 2)", 0 )
-GAME( 1981, route16b, route16, route16, route16, route16_state, 0, ROT270, "bootleg", "Route 16 (bootleg)", 0 )
-GAME( 1981, routex, route16, routex, route16, route16_state, 0, ROT270, "bootleg", "Route X (bootleg)", 0 )
-GAME( 1980, speakres, 0, speakres, speakres, route16_state, 0, ROT270, "Sun Electronics", "Speak & Rescue", 0 )
-GAME( 1980, speakresb,speakres, speakres, speakres, route16_state, 0, ROT270, "bootleg", "Speak & Rescue (bootleg)", 0 )
-GAME( 1980, stratvox, speakres, stratvox, stratvox, route16_state, 0, ROT270, "Sun Electronics (Taito license)", "Stratovox", 0 )
-GAME( 1980, stratvoxb,speakres, stratvox, stratvox, route16_state, 0, ROT270, "bootleg", "Stratovox (bootleg)", 0 )
-GAME( 1980, spacecho, speakres, spacecho, spacecho, route16_state, 0, ROT270, "bootleg", "Space Echo (set 1)", 0 )
-GAME( 1980, spacecho2,speakres, spacecho, spacecho, route16_state, 0, ROT270, "bootleg", "Space Echo (set 2)", 0 )
-GAME( 1981, ttmahjng, 0, ttmahjng, ttmahjng, route16_state, 0, ROT0, "Taito", "T.T Mahjong", 0 )
+GAME( 1981, route16b, route16, route16, route16, driver_device, 0, ROT270, "bootleg", "Route 16 (bootleg)", 0 )
+GAME( 1981, routex, route16, routex, route16, driver_device, 0, ROT270, "bootleg", "Route X (bootleg)", 0 )
+GAME( 1980, speakres, 0, speakres, speakres, driver_device, 0, ROT270, "Sun Electronics", "Speak & Rescue", 0 )
+GAME( 1980, speakresb,speakres, speakres, speakres, driver_device, 0, ROT270, "bootleg", "Speak & Rescue (bootleg)", 0 )
+GAME( 1980, stratvox, speakres, stratvox, stratvox, driver_device, 0, ROT270, "Sun Electronics (Taito license)", "Stratovox", 0 )
+GAME( 1980, stratvoxb,speakres, stratvox, stratvox, driver_device, 0, ROT270, "bootleg", "Stratovox (bootleg)", 0 )
+GAME( 1980, spacecho, speakres, spacecho, spacecho, driver_device, 0, ROT270, "bootleg", "Space Echo (set 1)", 0 )
+GAME( 1980, spacecho2,speakres, spacecho, spacecho, driver_device, 0, ROT270, "bootleg", "Space Echo (set 2)", 0 )
+GAME( 1981, ttmahjng, 0, ttmahjng, ttmahjng, driver_device, 0, ROT0, "Taito", "T.T Mahjong", 0 )
diff --git a/src/mame/drivers/rowamet.c b/src/mame/drivers/rowamet.c
index f34563d18a0..131116dd10a 100644
--- a/src/mame/drivers/rowamet.c
+++ b/src/mame/drivers/rowamet.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(rowamet);
};
@@ -31,7 +33,7 @@ void rowamet_state::machine_reset()
{
}
-static DRIVER_INIT( rowamet )
+DRIVER_INIT_MEMBER(rowamet_state,rowamet)
{
}
diff --git a/src/mame/drivers/royalmah.c b/src/mame/drivers/royalmah.c
index 773c73922a5..cd0ccf10fdb 100644
--- a/src/mame/drivers/royalmah.c
+++ b/src/mame/drivers/royalmah.c
@@ -192,6 +192,8 @@ public:
DECLARE_READ8_MEMBER(royalmah_player_2_port_r);
DECLARE_WRITE_LINE_MEMBER(janptr96_rtc_irq);
DECLARE_WRITE_LINE_MEMBER(mjtensin_rtc_irq);
+ DECLARE_DRIVER_INIT(janptr96);
+ DECLARE_DRIVER_INIT(ippatsu);
};
@@ -4708,49 +4710,51 @@ ROM_START( jansoua )
ROM_END
-static DRIVER_INIT( ippatsu ) { machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base() + 0x8000 ); }
+DRIVER_INIT_MEMBER(royalmah_state,ippatsu)
+{
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base() + 0x8000 );
+}
-static DRIVER_INIT( janptr96 )
+DRIVER_INIT_MEMBER(royalmah_state,janptr96)
{
- royalmah_state *state = machine.driver_data<royalmah_state>();
- state->m_janptr96_nvram = auto_alloc_array(machine, UINT8, 0x1000 * 9);
- state->membank("bank3")->set_base(state->m_janptr96_nvram);
- machine.device<nvram_device>("nvram")->set_base(state->m_janptr96_nvram, 0x1000 * 9);
+ m_janptr96_nvram = auto_alloc_array(machine(), UINT8, 0x1000 * 9);
+ membank("bank3")->set_base(m_janptr96_nvram);
+ machine().device<nvram_device>("nvram")->set_base(m_janptr96_nvram, 0x1000 * 9);
}
-GAME( 1981, royalmj, 0, royalmah, royalmah, royalmah_state, 0, ROT0, "Nichibutsu", "Royal Mahjong (Japan, v1.13)", 0 )
-GAME( 1981?, openmj, royalmj, royalmah, royalmah, royalmah_state, 0, ROT0, "Sapporo Mechanic", "Open Mahjong [BET] (Japan)", 0 )
-GAME( 1982, royalmah, royalmj, royalmah, royalmah, royalmah_state, 0, ROT0, "bootleg", "Royal Mahjong (Falcon bootleg, v1.01)", 0 )
-GAME( 1983, janyoup2, royalmj, ippatsu, janyoup2, royalmah_state, 0, ROT0, "Cosmo Denshi", "Janyou Part II (ver 7.03, July 1 1983)",0 )
-GAME( 1981, janputer, 0, royalmah, royalmah, royalmah_state, 0, ROT0, "Public Software Ltd. / Mes", "New Double Bet Mahjong (Japan)", 0 )
-GAME( 1984, janoh, 0, royalmah, royalmah, royalmah_state, 0, ROT0, "Toaplan", "Jan Oh (set 1)", GAME_NOT_WORKING )
-GAME( 1984, janoha, janoh, janoh, royalmah, royalmah_state, 0, ROT0, "Toaplan", "Jan Oh (set 2)", GAME_NOT_WORKING ) // this one is complete?
-GAME( 1985, jansou, 0, jansou, jansou, royalmah_state, 0, ROT180, "Dyna", "Jansou (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1985, jansoua, jansou, jansou, jansou, royalmah_state, 0, ROT180, "Dyna", "Jansou (set 2)", 0 )
-GAME( 1986, dondenmj, 0, dondenmj, majs101b, royalmah_state, 0, ROT0, "Dyna Electronics", "Don Den Mahjong [BET] (Japan)", 0 )
+GAME( 1981, royalmj, 0, royalmah, royalmah, driver_device, 0, ROT0, "Nichibutsu", "Royal Mahjong (Japan, v1.13)", 0 )
+GAME( 1981?, openmj, royalmj, royalmah, royalmah, driver_device, 0, ROT0, "Sapporo Mechanic", "Open Mahjong [BET] (Japan)", 0 )
+GAME( 1982, royalmah, royalmj, royalmah, royalmah, driver_device, 0, ROT0, "bootleg", "Royal Mahjong (Falcon bootleg, v1.01)", 0 )
+GAME( 1983, janyoup2, royalmj, ippatsu, janyoup2, driver_device, 0, ROT0, "Cosmo Denshi", "Janyou Part II (ver 7.03, July 1 1983)",0 )
+GAME( 1981, janputer, 0, royalmah, royalmah, driver_device, 0, ROT0, "Public Software Ltd. / Mes", "New Double Bet Mahjong (Japan)", 0 )
+GAME( 1984, janoh, 0, royalmah, royalmah, driver_device, 0, ROT0, "Toaplan", "Jan Oh (set 1)", GAME_NOT_WORKING )
+GAME( 1984, janoha, janoh, janoh, royalmah, driver_device, 0, ROT0, "Toaplan", "Jan Oh (set 2)", GAME_NOT_WORKING ) // this one is complete?
+GAME( 1985, jansou, 0, jansou, jansou, driver_device, 0, ROT180, "Dyna", "Jansou (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1985, jansoua, jansou, jansou, jansou, driver_device, 0, ROT180, "Dyna", "Jansou (set 2)", 0 )
+GAME( 1986, dondenmj, 0, dondenmj, majs101b, driver_device, 0, ROT0, "Dyna Electronics", "Don Den Mahjong [BET] (Japan)", 0 )
GAME( 1986, ippatsu, 0, ippatsu, ippatsu, royalmah_state, ippatsu, ROT0, "Public Software / Paradais", "Ippatsu Gyakuten [BET] (Japan)", 0 )
-GAME( 1986, suzume, 0, suzume, suzume, royalmah_state, 0, ROT0, "Dyna Electronics", "Watashiha Suzumechan (Japan)", 0 )
-GAME( 1986, mjsiyoub, 0, royalmah, royalmah, royalmah_state, 0, ROT0, "Visco", "Mahjong Shiyou (Japan)", GAME_NOT_WORKING )
-GAME( 1986, mjsenka, 0, royalmah, royalmah, royalmah_state, 0, ROT0, "Visco", "Mahjong Senka (Japan)", GAME_NOT_WORKING )
-GAME( 1986, mjyarou, 0, royalmah, royalmah, royalmah_state, 0, ROT0, "Visco / Video System", "Mahjong Yarou [BET] (Japan)", GAME_NOT_WORKING )
-GAME( 1986?, mjclub, 0, mjclub, mjclub, royalmah_state, 0, ROT0, "Xex", "Mahjong Club [BET] (Japan)", 0 )
-GAME( 1987, mjdiplob, 0, mjdiplob, mjdiplob, royalmah_state, 0, ROT0, "Dynax", "Mahjong Diplomat [BET] (Japan)", 0 )
-GAME( 1987, tontonb, 0, tontonb, tontonb, royalmah_state, 0, ROT0, "Dynax", "Tonton [BET] (Japan set 1)", 0 )
-GAME( 1987, makaijan, 0, makaijan, makaijan, royalmah_state, 0, ROT0, "Dynax", "Makaijan [BET] (Japan)", 0 )
-GAME( 1988, majs101b, 0, majs101b, majs101b, royalmah_state, 0, ROT0, "Dynax", "Mahjong Studio 101 [BET] (Japan)", 0 )
-GAME( 1988, mjapinky, 0, mjapinky, mjapinky, royalmah_state, 0, ROT0, "Dynax", "Almond Pinky [BET] (Japan)", 0 )
-GAME( 1989, mjdejavu, 0, mjdejavu, mjdejavu, royalmah_state, 0, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu (Japan)", 0 )
-GAME( 1989, mjdejav2, mjdejavu, mjdejavu, mjdejavu, royalmah_state, 0, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu 2 (Japan)", 0 )
-GAME( 1989, mjderngr, 0, mjderngr, majs101b, royalmah_state, 0, ROT0, "Dynax", "Mahjong Derringer (Japan)", 0 )
-GAME( 1989, daisyari, 0, daisyari, daisyari, royalmah_state, 0, ROT0, "Best System", "Daisyarin [BET] (Japan)", 0 )
-GAME( 1990, mjifb, 0, mjifb, mjifb, royalmah_state, 0, ROT0, "Dynax", "Mahjong If...? [BET]", 0 )
-GAME( 1990, mjifb2, mjifb, mjifb, mjifb, royalmah_state, 0, ROT0, "Dynax", "Mahjong If...? [BET](2921)", 0 )
-GAME( 1990, mjifb3, mjifb, mjifb, mjifb, royalmah_state, 0, ROT0, "Dynax", "Mahjong If...? [BET](2931)", 0 )
-GAME( 1991, mjvegasa, 0, mjvegasa, mjvegasa, royalmah_state, 0, ROT0, "Dynax", "Mahjong Vegas (Japan, unprotected)", 0 )
-GAME( 1991, mjvegas, mjvegasa, mjvegasa, mjvegasa, royalmah_state, 0, ROT0, "Dynax", "Mahjong Vegas (Japan)", GAME_NOT_WORKING )
-GAME( 1992, cafetime, 0, cafetime, cafetime, royalmah_state, 0, ROT0, "Dynax", "Mahjong Cafe Time", 0 )
-GAME( 1993, cafedoll, 0, mjifb, mjifb, royalmah_state, 0, ROT0, "Dynax", "Mahjong Cafe Doll (Japan)", GAME_NOT_WORKING )
-GAME( 1995, mjtensin, 0, mjtensin, mjtensin, royalmah_state, 0, ROT0, "Dynax", "Mahjong Tensinhai (Japan)", GAME_NOT_WORKING )
+GAME( 1986, suzume, 0, suzume, suzume, driver_device, 0, ROT0, "Dyna Electronics", "Watashiha Suzumechan (Japan)", 0 )
+GAME( 1986, mjsiyoub, 0, royalmah, royalmah, driver_device, 0, ROT0, "Visco", "Mahjong Shiyou (Japan)", GAME_NOT_WORKING )
+GAME( 1986, mjsenka, 0, royalmah, royalmah, driver_device, 0, ROT0, "Visco", "Mahjong Senka (Japan)", GAME_NOT_WORKING )
+GAME( 1986, mjyarou, 0, royalmah, royalmah, driver_device, 0, ROT0, "Visco / Video System", "Mahjong Yarou [BET] (Japan)", GAME_NOT_WORKING )
+GAME( 1986?, mjclub, 0, mjclub, mjclub, driver_device, 0, ROT0, "Xex", "Mahjong Club [BET] (Japan)", 0 )
+GAME( 1987, mjdiplob, 0, mjdiplob, mjdiplob, driver_device, 0, ROT0, "Dynax", "Mahjong Diplomat [BET] (Japan)", 0 )
+GAME( 1987, tontonb, 0, tontonb, tontonb, driver_device, 0, ROT0, "Dynax", "Tonton [BET] (Japan set 1)", 0 )
+GAME( 1987, makaijan, 0, makaijan, makaijan, driver_device, 0, ROT0, "Dynax", "Makaijan [BET] (Japan)", 0 )
+GAME( 1988, majs101b, 0, majs101b, majs101b, driver_device, 0, ROT0, "Dynax", "Mahjong Studio 101 [BET] (Japan)", 0 )
+GAME( 1988, mjapinky, 0, mjapinky, mjapinky, driver_device, 0, ROT0, "Dynax", "Almond Pinky [BET] (Japan)", 0 )
+GAME( 1989, mjdejavu, 0, mjdejavu, mjdejavu, driver_device, 0, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu (Japan)", 0 )
+GAME( 1989, mjdejav2, mjdejavu, mjdejavu, mjdejavu, driver_device, 0, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu 2 (Japan)", 0 )
+GAME( 1989, mjderngr, 0, mjderngr, majs101b, driver_device, 0, ROT0, "Dynax", "Mahjong Derringer (Japan)", 0 )
+GAME( 1989, daisyari, 0, daisyari, daisyari, driver_device, 0, ROT0, "Best System", "Daisyarin [BET] (Japan)", 0 )
+GAME( 1990, mjifb, 0, mjifb, mjifb, driver_device, 0, ROT0, "Dynax", "Mahjong If...? [BET]", 0 )
+GAME( 1990, mjifb2, mjifb, mjifb, mjifb, driver_device, 0, ROT0, "Dynax", "Mahjong If...? [BET](2921)", 0 )
+GAME( 1990, mjifb3, mjifb, mjifb, mjifb, driver_device, 0, ROT0, "Dynax", "Mahjong If...? [BET](2931)", 0 )
+GAME( 1991, mjvegasa, 0, mjvegasa, mjvegasa, driver_device, 0, ROT0, "Dynax", "Mahjong Vegas (Japan, unprotected)", 0 )
+GAME( 1991, mjvegas, mjvegasa, mjvegasa, mjvegasa, driver_device, 0, ROT0, "Dynax", "Mahjong Vegas (Japan)", GAME_NOT_WORKING )
+GAME( 1992, cafetime, 0, cafetime, cafetime, driver_device, 0, ROT0, "Dynax", "Mahjong Cafe Time", 0 )
+GAME( 1993, cafedoll, 0, mjifb, mjifb, driver_device, 0, ROT0, "Dynax", "Mahjong Cafe Doll (Japan)", GAME_NOT_WORKING )
+GAME( 1995, mjtensin, 0, mjtensin, mjtensin, driver_device, 0, ROT0, "Dynax", "Mahjong Tensinhai (Japan)", GAME_NOT_WORKING )
GAME( 1996, janptr96, 0, janptr96, janptr96, royalmah_state, janptr96, ROT0, "Dynax", "Janputer '96 (Japan)", 0 )
GAME( 1997, janptrsp, 0, janptr96, janptr96, royalmah_state, janptr96, ROT0, "Dynax", "Janputer Special (Japan)", 0 )
-GAME( 1999, cafebrk, 0, mjifb, mjifb, royalmah_state, 0, ROT0, "Nakanihon / Dynax", "Mahjong Cafe Break", GAME_NOT_WORKING )
+GAME( 1999, cafebrk, 0, mjifb, mjifb, driver_device, 0, ROT0, "Nakanihon / Dynax", "Mahjong Cafe Break", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/rpunch.c b/src/mame/drivers/rpunch.c
index e19c96f03c3..d648095a2b5 100644
--- a/src/mame/drivers/rpunch.c
+++ b/src/mame/drivers/rpunch.c
@@ -693,20 +693,18 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( rabiolep )
+DRIVER_INIT_MEMBER(rpunch_state,rabiolep)
{
- rpunch_state *state = machine.driver_data<rpunch_state>();
- state->m_sprite_palette = 0x300;
+ m_sprite_palette = 0x300;
}
-static DRIVER_INIT( svolley )
+DRIVER_INIT_MEMBER(rpunch_state,svolley)
{
- rpunch_state *state = machine.driver_data<rpunch_state>();
/* the main differences between Super Volleyball and Rabbit Punch are */
/* the lack of direct-mapped bitmap and a different palette base for sprites */
- state->m_sprite_palette = 0x080;
- state->m_bitmapram.set_target(NULL, 0);
+ m_sprite_palette = 0x080;
+ m_bitmapram.set_target(NULL, 0);
}
diff --git a/src/mame/drivers/runaway.c b/src/mame/drivers/runaway.c
index 192152c6047..71bbd2b4620 100644
--- a/src/mame/drivers/runaway.c
+++ b/src/mame/drivers/runaway.c
@@ -429,5 +429,5 @@ ROM_START( qwak )
ROM_END
-GAME( 1982, qwak, 0, qwak, qwak, runaway_state, 0, ROT270, "Atari", "Qwak (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1982, runaway, 0, runaway, runaway, runaway_state, 0, ROT0, "Atari", "Runaway (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1982, qwak, 0, qwak, qwak, driver_device, 0, ROT270, "Atari", "Qwak (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1982, runaway, 0, runaway, runaway, driver_device, 0, ROT0, "Atari", "Runaway (prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/rungun.c b/src/mame/drivers/rungun.c
index 1e1d8e0f6c9..10daa76b023 100644
--- a/src/mame/drivers/rungun.c
+++ b/src/mame/drivers/rungun.c
@@ -651,8 +651,8 @@ ROM_START( slmdunkj )
ROM_END
-GAME( 1993, rungun, 0, rng, rng, rungun_state, 0, ROT0, "Konami", "Run and Gun (ver EAA 1993 10.8)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1993, runguna, rungun, rng, rng, rungun_state, 0, ROT0, "Konami", "Run and Gun (ver EAA 1993 10.4)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1993, rungunu, rungun, rng, rng, rungun_state, 0, ROT0, "Konami", "Run and Gun (ver UAB 1993 10.12)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) // runs twice as fast as it should, broken inputs!
-GAME( 1993, rungunua, rungun, rng, rng, rungun_state, 0, ROT0, "Konami", "Run and Gun (ver UBA 1993 10.8)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) // runs twice as fast as it should, broken inputs! broken attract!
-GAME( 1993, slmdunkj, rungun, rng, rng, rungun_state, 0, ROT0, "Konami", "Slam Dunk (ver JAA 1993 10.8)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1993, rungun, 0, rng, rng, driver_device, 0, ROT0, "Konami", "Run and Gun (ver EAA 1993 10.8)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1993, runguna, rungun, rng, rng, driver_device, 0, ROT0, "Konami", "Run and Gun (ver EAA 1993 10.4)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1993, rungunu, rungun, rng, rng, driver_device, 0, ROT0, "Konami", "Run and Gun (ver UAB 1993 10.12)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) // runs twice as fast as it should, broken inputs!
+GAME( 1993, rungunua, rungun, rng, rng, driver_device, 0, ROT0, "Konami", "Run and Gun (ver UBA 1993 10.8)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) // runs twice as fast as it should, broken inputs! broken attract!
+GAME( 1993, slmdunkj, rungun, rng, rng, driver_device, 0, ROT0, "Konami", "Slam Dunk (ver JAA 1993 10.8)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/s11.c b/src/mame/drivers/s11.c
index ad4878b3535..43291f57d4e 100644
--- a/src/mame/drivers/s11.c
+++ b/src/mame/drivers/s11.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s11);
};
@@ -35,7 +37,7 @@ void williams_s11_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s11 )
+DRIVER_INIT_MEMBER(williams_s11_state,williams_s11)
{
}
diff --git a/src/mame/drivers/s11a.c b/src/mame/drivers/s11a.c
index 787e67866cb..2f7a31b73e8 100644
--- a/src/mame/drivers/s11a.c
+++ b/src/mame/drivers/s11a.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s11a);
};
@@ -35,7 +37,7 @@ void williams_s11a_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s11a )
+DRIVER_INIT_MEMBER(williams_s11a_state,williams_s11a)
{
}
diff --git a/src/mame/drivers/s11b.c b/src/mame/drivers/s11b.c
index 50993ccd0db..73d5e70827c 100644
--- a/src/mame/drivers/s11b.c
+++ b/src/mame/drivers/s11b.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s11b);
};
@@ -35,7 +37,7 @@ void williams_s11b_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s11b )
+DRIVER_INIT_MEMBER(williams_s11b_state,williams_s11b)
{
}
diff --git a/src/mame/drivers/s11c.c b/src/mame/drivers/s11c.c
index 9d3c36feeb5..9553c9737fc 100644
--- a/src/mame/drivers/s11c.c
+++ b/src/mame/drivers/s11c.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s11c);
};
@@ -35,7 +37,7 @@ void williams_s11c_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s11c )
+DRIVER_INIT_MEMBER(williams_s11c_state,williams_s11c)
{
}
diff --git a/src/mame/drivers/s3.c b/src/mame/drivers/s3.c
index 749b3ec8b4e..7f1c3b6d490 100644
--- a/src/mame/drivers/s3.c
+++ b/src/mame/drivers/s3.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s3);
};
static ADDRESS_MAP_START( williams_s3_map, AS_PROGRAM, 8, williams_s3_state )
@@ -38,7 +40,7 @@ void williams_s3_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s3 )
+DRIVER_INIT_MEMBER(williams_s3_state,williams_s3)
{
}
static MACHINE_CONFIG_START( williams_s3, williams_s3_state )
diff --git a/src/mame/drivers/s4.c b/src/mame/drivers/s4.c
index 0d051cc79c3..659b3561d4c 100644
--- a/src/mame/drivers/s4.c
+++ b/src/mame/drivers/s4.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s4);
};
static ADDRESS_MAP_START( williams_s4_map, AS_PROGRAM, 8, williams_s4_state )
@@ -34,7 +36,7 @@ void williams_s4_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s4 )
+DRIVER_INIT_MEMBER(williams_s4_state,williams_s4)
{
}
diff --git a/src/mame/drivers/s6.c b/src/mame/drivers/s6.c
index c726fbb2115..10116d4029f 100644
--- a/src/mame/drivers/s6.c
+++ b/src/mame/drivers/s6.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s6);
};
@@ -35,7 +37,7 @@ void williams_s6_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s6 )
+DRIVER_INIT_MEMBER(williams_s6_state,williams_s6)
{
}
diff --git a/src/mame/drivers/s6a.c b/src/mame/drivers/s6a.c
index 99a4f645253..5b533d0d33a 100644
--- a/src/mame/drivers/s6a.c
+++ b/src/mame/drivers/s6a.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s6a);
};
@@ -35,7 +37,7 @@ void williams_s6a_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s6a )
+DRIVER_INIT_MEMBER(williams_s6a_state,williams_s6a)
{
}
diff --git a/src/mame/drivers/s7.c b/src/mame/drivers/s7.c
index f6755747f7c..7dccd64800c 100644
--- a/src/mame/drivers/s7.c
+++ b/src/mame/drivers/s7.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s7);
};
@@ -35,7 +37,7 @@ void williams_s7_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s7 )
+DRIVER_INIT_MEMBER(williams_s7_state,williams_s7)
{
}
diff --git a/src/mame/drivers/s8.c b/src/mame/drivers/s8.c
index 808e29dfd3e..b6138f93402 100644
--- a/src/mame/drivers/s8.c
+++ b/src/mame/drivers/s8.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s8);
};
@@ -35,7 +37,7 @@ void williams_s8_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s8 )
+DRIVER_INIT_MEMBER(williams_s8_state,williams_s8)
{
}
diff --git a/src/mame/drivers/s9.c b/src/mame/drivers/s9.c
index 5f96c186072..d7e89dc73d6 100644
--- a/src/mame/drivers/s9.c
+++ b/src/mame/drivers/s9.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(williams_s9);
};
@@ -35,7 +37,7 @@ void williams_s9_state::machine_reset()
{
}
-static DRIVER_INIT( williams_s9 )
+DRIVER_INIT_MEMBER(williams_s9_state,williams_s9)
{
}
diff --git a/src/mame/drivers/safarir.c b/src/mame/drivers/safarir.c
index 5eab5abb04d..98353cdeb79 100644
--- a/src/mame/drivers/safarir.c
+++ b/src/mame/drivers/safarir.c
@@ -485,4 +485,4 @@ ROM_END
*
*************************************/
-GAME( 1979, safarir, 0, safarir, safarir, safarir_state, 0, ROT90, "SNK", "Safari Rally (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1979, safarir, 0, safarir, safarir, driver_device, 0, ROT90, "SNK", "Safari Rally (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/sandscrp.c b/src/mame/drivers/sandscrp.c
index 471d737eaa3..71569b1ff14 100644
--- a/src/mame/drivers/sandscrp.c
+++ b/src/mame/drivers/sandscrp.c
@@ -610,6 +610,6 @@ ROM_START( sandscrpb ) /* Different rev PCB */
ROM_END
-GAME( 1992, sandscrp, 0, sandscrp, sandscrp, sandscrp_state, 0, ROT90, "Face", "Sand Scorpion", 0 )
-GAME( 1992, sandscrpa, sandscrp, sandscrp, sandscrp, sandscrp_state, 0, ROT90, "Face", "Sand Scorpion (Earlier)", 0 )
-GAME( 1992, sandscrpb, sandscrp, sandscrp, sandscrp, sandscrp_state, 0, ROT90, "Face", "Sand Scorpion (Chinese Title Screen, Revised Hardware)", 0 )
+GAME( 1992, sandscrp, 0, sandscrp, sandscrp, driver_device, 0, ROT90, "Face", "Sand Scorpion", 0 )
+GAME( 1992, sandscrpa, sandscrp, sandscrp, sandscrp, driver_device, 0, ROT90, "Face", "Sand Scorpion (Earlier)", 0 )
+GAME( 1992, sandscrpb, sandscrp, sandscrp, sandscrp, driver_device, 0, ROT90, "Face", "Sand Scorpion (Chinese Title Screen, Revised Hardware)", 0 )
diff --git a/src/mame/drivers/sangho.c b/src/mame/drivers/sangho.c
index 4bb4fd80516..f6322992bd5 100644
--- a/src/mame/drivers/sangho.c
+++ b/src/mame/drivers/sangho.c
@@ -60,6 +60,7 @@ public:
DECLARE_WRITE8_MEMBER(pzlestar_mem_bank_w);
DECLARE_READ8_MEMBER(pzlestar_mem_bank_r);
DECLARE_WRITE8_MEMBER(sexyboom_bank_w);
+ DECLARE_DRIVER_INIT(sangho);
};
@@ -515,10 +516,9 @@ ROM_START( sexyboom )
/* 15 empty */
ROM_END
-static DRIVER_INIT(sangho)
+DRIVER_INIT_MEMBER(sangho_state,sangho)
{
- sangho_state *state = machine.driver_data<sangho_state>();
- state->m_ram = auto_alloc_array(machine, UINT8, 0x20000);
+ m_ram = auto_alloc_array(machine(), UINT8, 0x20000);
}
GAME( 1991, pzlestar, 0, pzlestar, pzlestar, sangho_state, sangho, ROT270, "Sang Ho Soft", "Puzzle Star (Sang Ho Soft)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/saturn.c b/src/mame/drivers/saturn.c
index e77dc47d9e1..66477fd0193 100644
--- a/src/mame/drivers/saturn.c
+++ b/src/mame/drivers/saturn.c
@@ -2432,19 +2432,19 @@ static void saturn_init_driver(running_machine &machine, int rgn)
state->m_cart_backupram = auto_alloc_array(machine, UINT8, 0x400000);
}
-static DRIVER_INIT( saturnus )
+DRIVER_INIT_MEMBER(saturn_state,saturnus)
{
- saturn_init_driver(machine, 4);
+ saturn_init_driver(machine(), 4);
}
-static DRIVER_INIT( saturneu )
+DRIVER_INIT_MEMBER(saturn_state,saturneu)
{
- saturn_init_driver(machine, 12);
+ saturn_init_driver(machine(), 12);
}
-static DRIVER_INIT( saturnjp )
+DRIVER_INIT_MEMBER(saturn_state,saturnjp)
{
- saturn_init_driver(machine, 1);
+ saturn_init_driver(machine(), 1);
}
diff --git a/src/mame/drivers/sauro.c b/src/mame/drivers/sauro.c
index 4a9978ce892..d06b5f86ef4 100644
--- a/src/mame/drivers/sauro.c
+++ b/src/mame/drivers/sauro.c
@@ -550,12 +550,12 @@ ROM_START( trckydoca )
ROM_LOAD( "tdprm.prm", 0x0000, 0x0200, CRC(5261bc11) SHA1(1cc7a9a7376e65f4587b75ef9382049458656372) )
ROM_END
-static DRIVER_INIT( tecfri )
+DRIVER_INIT_MEMBER(sauro_state,tecfri)
{
/* This game doesn't like all memory to be initialized to zero, it won't
initialize the high scores */
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
memset(&RAM[0xe000], 0, 0x100);
RAM[0xe000] = 1;
diff --git a/src/mame/drivers/savquest.c b/src/mame/drivers/savquest.c
index b5358a8b4db..1678923a953 100644
--- a/src/mame/drivers/savquest.c
+++ b/src/mame/drivers/savquest.c
@@ -576,4 +576,4 @@ ROM_START( savquest )
ROM_END
-GAME(1999, savquest, 0, savquest, savquest, savquest_state, 0, ROT0, "Interactive Light", "Savage Quest", GAME_IS_SKELETON)
+GAME(1999, savquest, 0, savquest, savquest, driver_device, 0, ROT0, "Interactive Light", "Savage Quest", GAME_IS_SKELETON)
diff --git a/src/mame/drivers/sbasketb.c b/src/mame/drivers/sbasketb.c
index 7ca3a359f0f..358f75ba1f3 100644
--- a/src/mame/drivers/sbasketb.c
+++ b/src/mame/drivers/sbasketb.c
@@ -397,12 +397,12 @@ ROM_START( sbaskete )
ROM_END
-static DRIVER_INIT( sbasketb )
+DRIVER_INIT_MEMBER(sbasketb_state,sbasketb)
{
- konami1_decode(machine, "maincpu");
+ konami1_decode(machine(), "maincpu");
}
GAME( 1984, sbasketb, 0, sbasketb, sbasketb, sbasketb_state, sbasketb, ROT90, "Konami", "Super Basketball (version I, encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1984, sbasketh, sbasketb, sbasketb, sbasketb, sbasketb_state, 0, ROT90, "Konami", "Super Basketball (version H, unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1984, sbasketh, sbasketb, sbasketb, sbasketb, driver_device, 0, ROT90, "Konami", "Super Basketball (version H, unprotected)", GAME_SUPPORTS_SAVE )
GAME( 1984, sbasketg, sbasketb, sbasketb, sbasketb, sbasketb_state, sbasketb, ROT90, "Konami", "Super Basketball (version G, encrypted)", GAME_SUPPORTS_SAVE )
GAME( 1984, sbaskete, sbasketb, sbasketb, sbasketb, sbasketb_state, sbasketb, ROT90, "Konami", "Super Basketball (version E, encrypted)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/sbowling.c b/src/mame/drivers/sbowling.c
index 25debcedae0..c7ddbcc7303 100644
--- a/src/mame/drivers/sbowling.c
+++ b/src/mame/drivers/sbowling.c
@@ -425,4 +425,4 @@ ROM_START( sbowling )
ROM_LOAD( "kb09.6m", 0x0400, 0x0400, CRC(e29191a6) SHA1(9a2c78a96ef6d118f4dacbea0b7d454b66a452ae))
ROM_END
-GAME( 1982, sbowling, 0, sbowling, sbowling, sbowling_state, 0, ROT90, "Taito Corporation", "Strike Bowling",GAME_IMPERFECT_SOUND)
+GAME( 1982, sbowling, 0, sbowling, sbowling, driver_device, 0, ROT90, "Taito Corporation", "Strike Bowling",GAME_IMPERFECT_SOUND)
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c
index 7445a4360a8..20a21125ae9 100644
--- a/src/mame/drivers/sbrkout.c
+++ b/src/mame/drivers/sbrkout.c
@@ -591,5 +591,5 @@ ROM_END
*
*************************************/
-GAMEL( 1978, sbrkout, 0, sbrkout, sbrkout, sbrkout_state, 0, ROT270, "Atari", "Super Breakout (rev 04)", GAME_SUPPORTS_SAVE, layout_sbrkout )
-GAMEL( 1978, sbrkout3, sbrkout, sbrkout, sbrkout, sbrkout_state, 0, ROT270, "Atari", "Super Breakout (rev 03)", GAME_SUPPORTS_SAVE, layout_sbrkout )
+GAMEL( 1978, sbrkout, 0, sbrkout, sbrkout, driver_device, 0, ROT270, "Atari", "Super Breakout (rev 04)", GAME_SUPPORTS_SAVE, layout_sbrkout )
+GAMEL( 1978, sbrkout3, sbrkout, sbrkout, sbrkout, driver_device, 0, ROT270, "Atari", "Super Breakout (rev 03)", GAME_SUPPORTS_SAVE, layout_sbrkout )
diff --git a/src/mame/drivers/sbugger.c b/src/mame/drivers/sbugger.c
index 8b9bdbae784..a1b9f02c96e 100644
--- a/src/mame/drivers/sbugger.c
+++ b/src/mame/drivers/sbugger.c
@@ -287,5 +287,5 @@ ROM_START( sbuggera )
ROM_LOAD( "spbugger.gfx", 0x0000, 0x1000, CRC(d3f345b5) SHA1(a5082ffc3043352e9b731af95770bdd62fb928bf) )
ROM_END
-GAME( 1981, sbugger, 0, sbugger, sbugger, sbugger_state, 0, ROT270, "Game-A-Tron", "Space Bugger (set 1)", GAME_NOT_WORKING | GAME_IMPERFECT_COLORS )
-GAME( 1981, sbuggera, sbugger, sbugger, sbugger, sbugger_state, 0, ROT270, "Game-A-Tron", "Space Bugger (set 2)", GAME_IMPERFECT_COLORS )
+GAME( 1981, sbugger, 0, sbugger, sbugger, driver_device, 0, ROT270, "Game-A-Tron", "Space Bugger (set 1)", GAME_NOT_WORKING | GAME_IMPERFECT_COLORS )
+GAME( 1981, sbuggera, sbugger, sbugger, sbugger, driver_device, 0, ROT270, "Game-A-Tron", "Space Bugger (set 2)", GAME_IMPERFECT_COLORS )
diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c
index 72c154a491f..e2f3be2c1ff 100644
--- a/src/mame/drivers/scobra.c
+++ b/src/mame/drivers/scobra.c
@@ -1185,20 +1185,20 @@ ROM_START( mimonsco )
ROM_END
-GAME( 1981, stratgyx, 0, stratgyx, stratgyx, scobra_state, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE )
-GAME( 1981, stratgys, stratgyx, stratgyx, stratgyx, scobra_state, stratgyx, ROT0, "Konami (Stern Electronics license)", "Strategy X (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1982, strongx, stratgyx, stratgyx, stratgyx, scobra_state, stratgyx, ROT0, "bootleg", "Strong X", GAME_SUPPORTS_SAVE )
-GAME( 1982, darkplnt, 0, darkplnt, darkplnt, scobra_state, darkplnt, ROT180, "Stern Electronics", "Dark Planet", GAME_SUPPORTS_SAVE )
-GAME( 1982, tazmani2, tazmania, type2, tazmania, scobra_state, tazmani2, ROT90, "Stern Electronics", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, rescue, 0, rescue, rescue, scobra_state, rescue, ROT90, "Stern Electronics", "Rescue", GAME_SUPPORTS_SAVE )
-GAME( 1982, rescueb, rescue, rescue, rescue, scobra_state, rescue, ROT90, "bootleg (Videl Games)", "Rescue (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1982, aponow, rescue, rescue, rescue, scobra_state, rescue, ROT90, "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE )
-GAME( 1983, minefld, 0, minefld, minefld, scobra_state, minefld, ROT90, "Stern Electronics", "Minefield", GAME_SUPPORTS_SAVE )
-GAME( 1981, hustler, 0, hustler, hustler, scobra_state, hustler, ROT90, "Konami", "Video Hustler", GAME_SUPPORTS_SAVE )
-GAME( 1981, hustlerd, hustler, hustler, hustler, scobra_state, hustlerd, ROT90, "Konami (Dynamo Games license)", "Video Hustler (Dynamo Games)", GAME_SUPPORTS_SAVE )
-GAME( 1981, billiard, hustler, hustler, hustler, scobra_state, billiard, ROT90, "bootleg", "The Billiards (Video Hustler bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1981, hustlerb, hustler, hustlerb, hustler, scobra_state, scramble_ppi, ROT90, "bootleg (Digimatic)", "Video Hustler (bootleg)", GAME_NOT_WORKING ) // broken?
-GAME( 1981, hustlerb2, hustler, hustler, hustler, scobra_state, scramble_ppi, ROT90, "bootleg", "Fatsy Gambler (Video Hustler bootleg)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, mimonkey, 0, mimonkey, mimonkey, scobra_state, mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE )
-GAME( 1982, mimonsco, mimonkey, mimonkey, mimonsco, scobra_state, mimonsco, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1981, stratgyx, 0, stratgyx, stratgyx, scramble_state, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE )
+GAME( 1981, stratgys, stratgyx, stratgyx, stratgyx, scramble_state, stratgyx, ROT0, "Konami (Stern Electronics license)", "Strategy X (Stern Electronics)", GAME_SUPPORTS_SAVE )
+GAME( 1982, strongx, stratgyx, stratgyx, stratgyx, scramble_state, stratgyx, ROT0, "bootleg", "Strong X", GAME_SUPPORTS_SAVE )
+GAME( 1982, darkplnt, 0, darkplnt, darkplnt, scramble_state, darkplnt, ROT180, "Stern Electronics", "Dark Planet", GAME_SUPPORTS_SAVE )
+GAME( 1982, tazmani2, tazmania, type2, tazmania, scramble_state, tazmani2, ROT90, "Stern Electronics", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, rescue, 0, rescue, rescue, scramble_state, rescue, ROT90, "Stern Electronics", "Rescue", GAME_SUPPORTS_SAVE )
+GAME( 1982, rescueb, rescue, rescue, rescue, scramble_state, rescue, ROT90, "bootleg (Videl Games)", "Rescue (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1982, aponow, rescue, rescue, rescue, scramble_state, rescue, ROT90, "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE )
+GAME( 1983, minefld, 0, minefld, minefld, scramble_state, minefld, ROT90, "Stern Electronics", "Minefield", GAME_SUPPORTS_SAVE )
+GAME( 1981, hustler, 0, hustler, hustler, scramble_state, hustler, ROT90, "Konami", "Video Hustler", GAME_SUPPORTS_SAVE )
+GAME( 1981, hustlerd, hustler, hustler, hustler, scramble_state, hustlerd, ROT90, "Konami (Dynamo Games license)", "Video Hustler (Dynamo Games)", GAME_SUPPORTS_SAVE )
+GAME( 1981, billiard, hustler, hustler, hustler, scramble_state, billiard, ROT90, "bootleg", "The Billiards (Video Hustler bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, hustlerb, hustler, hustlerb, hustler, scramble_state, scramble_ppi, ROT90, "bootleg (Digimatic)", "Video Hustler (bootleg)", GAME_NOT_WORKING ) // broken?
+GAME( 1981, hustlerb2, hustler, hustler, hustler, scramble_state, scramble_ppi, ROT90, "bootleg", "Fatsy Gambler (Video Hustler bootleg)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, mimonkey, 0, mimonkey, mimonkey, scramble_state, mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE )
+GAME( 1982, mimonsco, mimonkey, mimonkey, mimonsco, scramble_state, mimonsco, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/scotrsht.c b/src/mame/drivers/scotrsht.c
index d86377df893..c80bbcf0457 100644
--- a/src/mame/drivers/scotrsht.c
+++ b/src/mame/drivers/scotrsht.c
@@ -243,4 +243,4 @@ ROM_START( scotrsht )
ROM_LOAD( "gx545_6301_8f.bin", 0x0400, 0x0100, CRC(c1c7cf58) SHA1(08452228bf13e43ce4a05806f79e9cd1542416f1) ) /* sprites lookup */
ROM_END
-GAME( 1985, scotrsht, 0, scotrsht, scotrsht, scotrsht_state, 0, ROT90,"Konami", "Scooter Shooter", 0 )
+GAME( 1985, scotrsht, 0, scotrsht, scotrsht, driver_device, 0, ROT90,"Konami", "Scooter Shooter", 0 )
diff --git a/src/mame/drivers/scramble.c b/src/mame/drivers/scramble.c
index 7ace2fcaf1f..ad96fd01da7 100644
--- a/src/mame/drivers/scramble.c
+++ b/src/mame/drivers/scramble.c
@@ -2065,10 +2065,10 @@ GAME( 1983, mrkougb, mrkougar, mrkougb, mrkougar, scramble_state, mrkougb,
GAME( 1983, mrkougb2, mrkougar, mrkougb, mrkougar, scramble_state, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 2)", GAME_SUPPORTS_SAVE )
GAME( 1982, hotshock, 0, hotshock, hotshock, scramble_state, hotshock, ROT90, "E.G. Felaco (Domino license)", "Hot Shocker", GAME_SUPPORTS_SAVE )
GAME( 1982, hotshockb,hotshock, hotshock, hotshock, scramble_state, hotshock, ROT90, "E.G. Felaco", "Hot Shocker (early revision?)", GAME_SUPPORTS_SAVE ) // has "Dudley presents" (protagonist of the game), instead of Domino
-GAME( 198?, conquer, 0, hotshock, hotshock, scramble_state, 0, ROT90, "<unknown>", "Conqueror", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
+GAME( 198?, conquer, 0, hotshock, hotshock, driver_device, 0, ROT90, "<unknown>", "Conqueror", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
GAME( 1983, hunchbks, hunchbak, hunchbks, hunchbks, scramble_state, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)", GAME_SUPPORTS_SAVE )
GAME( 1984, hncholms, huncholy, hncholms, hncholms, scramble_state, scramble_ppi, ROT90, "Century Electronics / Seatongrove Ltd", "Hunchback Olympic (Scramble hardware)", GAME_SUPPORTS_SAVE )
GAME( 1983, cavelon, 0, cavelon, cavelon, scramble_state, cavelon, ROT90, "Jetsoft", "Cavelon", GAME_SUPPORTS_SAVE )
GAME( 1982, mimonscr, mimonkey, mimonscr, mimonscr, scramble_state, mimonscr, ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", GAME_SUPPORTS_SAVE )
GAME( 1983, ad2083, 0, ad2083, ad2083, scramble_state, ad2083, ROT90, "Midcoin", "A. D. 2083", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1981, turpins, turtles, turpins, turpins, scramble_state, 0, ROT90, "bootleg", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet
+GAME( 1981, turpins, turtles, turpins, turpins, driver_device, 0, ROT90, "bootleg", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet
diff --git a/src/mame/drivers/scregg.c b/src/mame/drivers/scregg.c
index 42059ee2a0e..5aad1943bca 100644
--- a/src/mame/drivers/scregg.c
+++ b/src/mame/drivers/scregg.c
@@ -392,11 +392,11 @@ ROM_START( rockduck )
ROM_END
-static DRIVER_INIT( rockduck )
+DRIVER_INIT_MEMBER(btime_state,rockduck)
{
// rd2.rdh and rd1.rdj are bitswapped, but not rd3.rdg .. are they really from the same board?
int x;
- UINT8 *src = machine.root_device().memregion( "gfx1" )->base();
+ UINT8 *src = machine().root_device().memregion( "gfx1" )->base();
for (x = 0x2000; x < 0x6000; x++)
{
@@ -406,7 +406,7 @@ static DRIVER_INIT( rockduck )
}
-GAME( 1983, dommy, 0, dommy, scregg, btime_state, 0, ROT270, "Technos Japan", "Dommy", GAME_SUPPORTS_SAVE )
-GAME( 1983, scregg, 0, scregg, scregg, btime_state, 0, ROT270, "Technos Japan", "Scrambled Egg", GAME_SUPPORTS_SAVE )
-GAME( 1983, eggs, scregg, scregg, scregg, btime_state, 0, ROT270, "Technos Japan / Universal USA", "Eggs", GAME_SUPPORTS_SAVE )
+GAME( 1983, dommy, 0, dommy, scregg, driver_device, 0, ROT270, "Technos Japan", "Dommy", GAME_SUPPORTS_SAVE )
+GAME( 1983, scregg, 0, scregg, scregg, driver_device, 0, ROT270, "Technos Japan", "Scrambled Egg", GAME_SUPPORTS_SAVE )
+GAME( 1983, eggs, scregg, scregg, scregg, driver_device, 0, ROT270, "Technos Japan / Universal USA", "Eggs", GAME_SUPPORTS_SAVE )
GAME( 1983, rockduck, 0, scregg, rockduck, btime_state, rockduck, ROT270, "Datel SAS", "Rock Duck (prototype?)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/sderby.c b/src/mame/drivers/sderby.c
index 31f16f79762..49562135889 100644
--- a/src/mame/drivers/sderby.c
+++ b/src/mame/drivers/sderby.c
@@ -834,8 +834,8 @@ ROM_END
******************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1996, sderby, 0, sderby, sderby, sderby_state, 0, ROT0, "Playmark", "Super Derby", 0, layout_sderby )
-GAMEL( 1996, spacewin, 0, spacewin, spacewin, sderby_state, 0, ROT0, "Playmark", "Scacco Matto / Space Win", 0, layout_spacewin )
-GAMEL( 1997, croupier, 0, pmroulet, pmroulet, sderby_state, 0, ROT0, "Playmark", "Croupier (Playmark Roulette v.20.05)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING, layout_pmroulet )
-GAMEL( 1997, croupiera, croupier, pmroulet, pmroulet, sderby_state, 0, ROT0, "Playmark", "Croupier (Playmark Roulette v.09.04)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING, layout_pmroulet )
-GAME ( 1996, luckboom, 0, luckboom, luckboom, sderby_state, 0, ROT0, "Playmark", "Lucky Boom", 0 )
+GAMEL( 1996, sderby, 0, sderby, sderby, driver_device, 0, ROT0, "Playmark", "Super Derby", 0, layout_sderby )
+GAMEL( 1996, spacewin, 0, spacewin, spacewin, driver_device, 0, ROT0, "Playmark", "Scacco Matto / Space Win", 0, layout_spacewin )
+GAMEL( 1997, croupier, 0, pmroulet, pmroulet, driver_device, 0, ROT0, "Playmark", "Croupier (Playmark Roulette v.20.05)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING, layout_pmroulet )
+GAMEL( 1997, croupiera, croupier, pmroulet, pmroulet, driver_device, 0, ROT0, "Playmark", "Croupier (Playmark Roulette v.09.04)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING, layout_pmroulet )
+GAME ( 1996, luckboom, 0, luckboom, luckboom, driver_device, 0, ROT0, "Playmark", "Lucky Boom", 0 )
diff --git a/src/mame/drivers/seattle.c b/src/mame/drivers/seattle.c
index f5d7ff6d4cd..44367c26553 100644
--- a/src/mame/drivers/seattle.c
+++ b/src/mame/drivers/seattle.c
@@ -482,6 +482,18 @@ public:
DECLARE_READ32_MEMBER(widget_r);
DECLARE_WRITE32_MEMBER(widget_w);
DECLARE_READ32_MEMBER(seattle_ide_r);
+ DECLARE_DRIVER_INIT(sfrush);
+ DECLARE_DRIVER_INIT(blitz2k);
+ DECLARE_DRIVER_INIT(carnevil);
+ DECLARE_DRIVER_INIT(biofreak);
+ DECLARE_DRIVER_INIT(calspeed);
+ DECLARE_DRIVER_INIT(sfrushrk);
+ DECLARE_DRIVER_INIT(vaportrx);
+ DECLARE_DRIVER_INIT(hyprdriv);
+ DECLARE_DRIVER_INIT(blitz);
+ DECLARE_DRIVER_INIT(wg3dh);
+ DECLARE_DRIVER_INIT(mace);
+ DECLARE_DRIVER_INIT(blitz99);
};
@@ -2855,147 +2867,145 @@ static void init_common(running_machine &machine, int ioasic, int serialnum, int
}
-static DRIVER_INIT( wg3dh )
+DRIVER_INIT_MEMBER(seattle_state,wg3dh)
{
- dcs2_init(machine, 2, 0x3839);
- init_common(machine, MIDWAY_IOASIC_STANDARD, 310/* others? */, 80, PHOENIX_CONFIG);
+ dcs2_init(machine(), 2, 0x3839);
+ init_common(machine(), MIDWAY_IOASIC_STANDARD, 310/* others? */, 80, PHOENIX_CONFIG);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8004413C, 0x0C0054B4, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80094930, 0x00A2102B, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80092984, 0x3C028011, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8004413C, 0x0C0054B4, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80094930, 0x00A2102B, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80092984, 0x3C028011, 250); /* confirmed */
}
-static DRIVER_INIT( mace )
+DRIVER_INIT_MEMBER(seattle_state,mace)
{
- dcs2_init(machine, 2, 0x3839);
- init_common(machine, MIDWAY_IOASIC_MACE, 319/* others? */, 80, SEATTLE_CONFIG);
+ dcs2_init(machine(), 2, 0x3839);
+ init_common(machine(), MIDWAY_IOASIC_MACE, 319/* others? */, 80, SEATTLE_CONFIG);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800108F8, 0x8C420000, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800108F8, 0x8C420000, 250); /* confirmed */
}
-static DRIVER_INIT( sfrush )
+DRIVER_INIT_MEMBER(seattle_state,sfrush)
{
- cage_init(machine, 0x5236);
- init_common(machine, MIDWAY_IOASIC_STANDARD, 315/* no alternates */, 100, FLAGSTAFF_CONFIG);
+ cage_init(machine(), 0x5236);
+ init_common(machine(), MIDWAY_IOASIC_STANDARD, 315/* no alternates */, 100, FLAGSTAFF_CONFIG);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80059F34, 0x3C028012, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800A5AF4, 0x8E300010, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8004C260, 0x3C028012, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80059F34, 0x3C028012, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800A5AF4, 0x8E300010, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8004C260, 0x3C028012, 250); /* confirmed */
}
-static DRIVER_INIT( sfrushrk )
+DRIVER_INIT_MEMBER(seattle_state,sfrushrk)
{
- cage_init(machine, 0x5329);
- init_common(machine, MIDWAY_IOASIC_SFRUSHRK, 331/* unknown */, 100, FLAGSTAFF_CONFIG);
+ cage_init(machine(), 0x5329);
+ init_common(machine(), MIDWAY_IOASIC_SFRUSHRK, 331/* unknown */, 100, FLAGSTAFF_CONFIG);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800343E8, 0x3C028012, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8008F4F0, 0x3C028012, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800A365C, 0x8E300014, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80051DAC, 0x3C028012, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800343E8, 0x3C028012, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8008F4F0, 0x3C028012, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800A365C, 0x8E300014, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80051DAC, 0x3C028012, 250); /* confirmed */
}
-static DRIVER_INIT( calspeed )
+DRIVER_INIT_MEMBER(seattle_state,calspeed)
{
- dcs2_init(machine, 2, 0x39c0);
- init_common(machine, MIDWAY_IOASIC_CALSPEED, 328/* others? */, 100, SEATTLE_WIDGET_CONFIG);
+ dcs2_init(machine(), 2, 0x39c0);
+ init_common(machine(), MIDWAY_IOASIC_CALSPEED, 328/* others? */, 100, SEATTLE_WIDGET_CONFIG);
midway_ioasic_set_auto_ack(1);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80032534, 0x02221024, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800B1BE4, 0x8E110014, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80032534, 0x02221024, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800B1BE4, 0x8E110014, 250); /* confirmed */
}
-static DRIVER_INIT( vaportrx )
+DRIVER_INIT_MEMBER(seattle_state,vaportrx)
{
- dcs2_init(machine, 2, 0x39c2);
- init_common(machine, MIDWAY_IOASIC_VAPORTRX, 324/* 334? unknown */, 100, SEATTLE_WIDGET_CONFIG);
+ dcs2_init(machine(), 2, 0x39c2);
+ init_common(machine(), MIDWAY_IOASIC_VAPORTRX, 324/* 334? unknown */, 100, SEATTLE_WIDGET_CONFIG);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80049F14, 0x3C028020, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8004859C, 0x3C028020, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8005922C, 0x8E020014, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80049F14, 0x3C028020, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8004859C, 0x3C028020, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8005922C, 0x8E020014, 250); /* confirmed */
}
-static DRIVER_INIT( biofreak )
+DRIVER_INIT_MEMBER(seattle_state,biofreak)
{
- dcs2_init(machine, 2, 0x3835);
- init_common(machine, MIDWAY_IOASIC_STANDARD, 231/* no alternates */, 80, SEATTLE_CONFIG);
+ dcs2_init(machine(), 2, 0x3835);
+ init_common(machine(), MIDWAY_IOASIC_STANDARD, 231/* no alternates */, 80, SEATTLE_CONFIG);
/* speedups */
}
-static DRIVER_INIT( blitz )
+DRIVER_INIT_MEMBER(seattle_state,blitz)
{
- seattle_state *state = machine.driver_data<seattle_state>();
- dcs2_init(machine, 2, 0x39c2);
- init_common(machine, MIDWAY_IOASIC_BLITZ99, 444/* or 528 */, 80, SEATTLE_CONFIG);
+ dcs2_init(machine(), 2, 0x39c2);
+ init_common(machine(), MIDWAY_IOASIC_BLITZ99, 444/* or 528 */, 80, SEATTLE_CONFIG);
/* for some reason, the code in the ROM appears buggy; this is a small patch to fix it */
- state->m_rombase[0x934/4] += 4;
+ m_rombase[0x934/4] += 4;
/* main CPU speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80135510, 0x3C028024, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800087DC, 0x8E820010, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80135510, 0x3C028024, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800087DC, 0x8E820010, 250); /* confirmed */
}
-static DRIVER_INIT( blitz99 )
+DRIVER_INIT_MEMBER(seattle_state,blitz99)
{
- dcs2_init(machine, 2, 0x0afb);
- init_common(machine, MIDWAY_IOASIC_BLITZ99, 481/* or 484 or 520 */, 80, SEATTLE_CONFIG);
+ dcs2_init(machine(), 2, 0x0afb);
+ init_common(machine(), MIDWAY_IOASIC_BLITZ99, 481/* or 484 or 520 */, 80, SEATTLE_CONFIG);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8014E41C, 0x3C038025, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80011F10, 0x8E020018, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8014E41C, 0x3C038025, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80011F10, 0x8E020018, 250); /* confirmed */
}
-static DRIVER_INIT( blitz2k )
+DRIVER_INIT_MEMBER(seattle_state,blitz2k)
{
- dcs2_init(machine, 2, 0x0b5d);
- init_common(machine, MIDWAY_IOASIC_BLITZ99, 494/* or 498 */, 80, SEATTLE_CONFIG);
+ dcs2_init(machine(), 2, 0x0b5d);
+ init_common(machine(), MIDWAY_IOASIC_BLITZ99, 494/* or 498 */, 80, SEATTLE_CONFIG);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8015773C, 0x3C038025, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80012CA8, 0x8E020018, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8015773C, 0x3C038025, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80012CA8, 0x8E020018, 250); /* confirmed */
}
-static DRIVER_INIT( carnevil )
+DRIVER_INIT_MEMBER(seattle_state,carnevil)
{
- dcs2_init(machine, 2, 0x0af7);
- init_common(machine, MIDWAY_IOASIC_CARNEVIL, 469/* 469 or 486 or 528 */, 80, SEATTLE_CONFIG);
+ dcs2_init(machine(), 2, 0x0af7);
+ init_common(machine(), MIDWAY_IOASIC_CARNEVIL, 469/* 469 or 486 or 528 */, 80, SEATTLE_CONFIG);
/* set up the gun */
- seattle_state *state = machine.driver_data<seattle_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x16800000, 0x1680001f, read32_delegate(FUNC(seattle_state::carnevil_gun_r),state), write32_delegate(FUNC(seattle_state::carnevil_gun_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x16800000, 0x1680001f, read32_delegate(FUNC(seattle_state::carnevil_gun_r),this), write32_delegate(FUNC(seattle_state::carnevil_gun_w),this));
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8015176C, 0x3C03801A, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80011FBC, 0x8E020018, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8015176C, 0x3C03801A, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80011FBC, 0x8E020018, 250); /* confirmed */
}
-static DRIVER_INIT( hyprdriv )
+DRIVER_INIT_MEMBER(seattle_state,hyprdriv)
{
- dcs2_init(machine, 2, 0x0af7);
- init_common(machine, MIDWAY_IOASIC_HYPRDRIV, 469/* unknown */, 80, SEATTLE_WIDGET_CONFIG);
+ dcs2_init(machine(), 2, 0x0af7);
+ init_common(machine(), MIDWAY_IOASIC_HYPRDRIV, 469/* unknown */, 80, SEATTLE_WIDGET_CONFIG);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x801643BC, 0x3C03801B, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80011FB8, 0x8E020018, 250); /* confirmed */
- //mips3drc_add_hotspot(machine.device("maincpu"), 0x80136A80, 0x3C02801D, 250); /* potential */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x801643BC, 0x3C03801B, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80011FB8, 0x8E020018, 250); /* confirmed */
+ //mips3drc_add_hotspot(machine().device("maincpu"), 0x80136A80, 0x3C02801D, 250); /* potential */
}
diff --git a/src/mame/drivers/segac2.c b/src/mame/drivers/segac2.c
index b073d036c36..015ff9f3018 100644
--- a/src/mame/drivers/segac2.c
+++ b/src/mame/drivers/segac2.c
@@ -1751,12 +1751,12 @@ it should be, otherwise I don't see how the formula could be computed.
******************************************************************************/
-static void segac2_common_init(running_machine& machine, int (*func)(int in))
+void segac2_state::segac2_common_init(running_machine& machine, int (*func)(int in))
{
segac2_state *state = machine.driver_data<segac2_state>();
device_t *upd = machine.device("upd");
- DRIVER_INIT_CALL( megadriv_c2 );
+ DRIVER_INIT_CALL(megadriv_c2);
state->m_prot_func = func;
@@ -1993,152 +1993,152 @@ static int prot_func_pclubjv5(int in)
-static DRIVER_INIT( c2boot )
+DRIVER_INIT_MEMBER(segac2_state,c2boot)
{
- segac2_common_init(machine, NULL);
+ segac2_common_init(machine(), NULL);
}
-static DRIVER_INIT( bloxeedc )
+DRIVER_INIT_MEMBER(segac2_state,bloxeedc)
{
- segac2_common_init(machine, NULL);
+ segac2_common_init(machine(), NULL);
}
-static DRIVER_INIT( columns )
+DRIVER_INIT_MEMBER(segac2_state,columns)
{
- segac2_common_init(machine, prot_func_columns);
+ segac2_common_init(machine(), prot_func_columns);
}
-static DRIVER_INIT( columns2 )
+DRIVER_INIT_MEMBER(segac2_state,columns2)
{
- segac2_common_init(machine, prot_func_columns2);
+ segac2_common_init(machine(), prot_func_columns2);
}
-static DRIVER_INIT( tfrceac )
+DRIVER_INIT_MEMBER(segac2_state,tfrceac)
{
- segac2_common_init(machine, prot_func_tfrceac);
+ segac2_common_init(machine(), prot_func_tfrceac);
}
-static DRIVER_INIT( tfrceacb )
+DRIVER_INIT_MEMBER(segac2_state,tfrceacb)
{
/* disable the palette bank switching from the protection chip */
- segac2_common_init(machine, NULL);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x800000, 0x800001);
+ segac2_common_init(machine(), NULL);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x800000, 0x800001);
}
-static DRIVER_INIT( borench )
+DRIVER_INIT_MEMBER(segac2_state,borench)
{
- segac2_common_init(machine, prot_func_borench);
+ segac2_common_init(machine(), prot_func_borench);
}
-static DRIVER_INIT( twinsqua )
+DRIVER_INIT_MEMBER(segac2_state,twinsqua)
{
- segac2_common_init(machine, prot_func_twinsqua);
+ segac2_common_init(machine(), prot_func_twinsqua);
}
-static DRIVER_INIT( ribbit )
+DRIVER_INIT_MEMBER(segac2_state,ribbit)
{
- segac2_common_init(machine, prot_func_ribbit);
+ segac2_common_init(machine(), prot_func_ribbit);
}
-static DRIVER_INIT( puyo )
+DRIVER_INIT_MEMBER(segac2_state,puyo)
{
- segac2_common_init(machine, prot_func_puyo);
+ segac2_common_init(machine(), prot_func_puyo);
}
-static DRIVER_INIT( tantr )
+DRIVER_INIT_MEMBER(segac2_state,tantr)
{
- segac2_common_init(machine, prot_func_tantr);
+ segac2_common_init(machine(), prot_func_tantr);
}
-static DRIVER_INIT( tantrkor )
+DRIVER_INIT_MEMBER(segac2_state,tantrkor)
{
- segac2_common_init(machine, prot_func_tantrkor);
+ segac2_common_init(machine(), prot_func_tantrkor);
}
-static DRIVER_INIT( potopoto )
+DRIVER_INIT_MEMBER(segac2_state,potopoto)
{
- segac2_common_init(machine, prot_func_potopoto);
+ segac2_common_init(machine(), prot_func_potopoto);
}
-static DRIVER_INIT( stkclmns )
+DRIVER_INIT_MEMBER(segac2_state,stkclmns)
{
- segac2_common_init(machine, prot_func_stkclmns);
+ segac2_common_init(machine(), prot_func_stkclmns);
}
-static DRIVER_INIT( stkclmnj )
+DRIVER_INIT_MEMBER(segac2_state,stkclmnj)
{
- segac2_common_init(machine, prot_func_stkclmnj);
+ segac2_common_init(machine(), prot_func_stkclmnj);
}
-static DRIVER_INIT( ichir )
+DRIVER_INIT_MEMBER(segac2_state,ichir)
{
- segac2_common_init(machine, prot_func_ichir);
+ segac2_common_init(machine(), prot_func_ichir);
}
-static DRIVER_INIT( ichirk )
+DRIVER_INIT_MEMBER(segac2_state,ichirk)
{
- segac2_common_init(machine, prot_func_ichirk);
+ segac2_common_init(machine(), prot_func_ichirk);
}
-static DRIVER_INIT( ichirj )
+DRIVER_INIT_MEMBER(segac2_state,ichirj)
{
- segac2_common_init(machine, prot_func_ichirj);
+ segac2_common_init(machine(), prot_func_ichirj);
}
-static DRIVER_INIT( ichirjbl )
+DRIVER_INIT_MEMBER(segac2_state,ichirjbl)
{
/* when did this actually work? - the protection is patched but the new check fails? */
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
rom[0x390/2] = 0x6600;
- segac2_common_init(machine, NULL);
+ segac2_common_init(machine(), NULL);
}
-static DRIVER_INIT( puyopuy2 )
+DRIVER_INIT_MEMBER(segac2_state,puyopuy2)
{
- segac2_common_init(machine, prot_func_puyopuy2);
+ segac2_common_init(machine(), prot_func_puyopuy2);
}
-static DRIVER_INIT( zunkyou )
+DRIVER_INIT_MEMBER(segac2_state,zunkyou)
{
- segac2_common_init(machine, prot_func_zunkyou);
+ segac2_common_init(machine(), prot_func_zunkyou);
}
-static DRIVER_INIT( pclub )
+DRIVER_INIT_MEMBER(segac2_state,pclub)
{
- segac2_common_init(machine, prot_func_pclub);
+ segac2_common_init(machine(), prot_func_pclub);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880120, 0x880121, FUNC(printer_r) );/*Print Club Vol.1*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880124, 0x880125, FUNC(printer_r) );/*Print Club Vol.2*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x880124, 0x880125, FUNC(print_club_camera_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880120, 0x880121, FUNC(printer_r) );/*Print Club Vol.1*/
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880124, 0x880125, FUNC(printer_r) );/*Print Club Vol.2*/
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x880124, 0x880125, FUNC(print_club_camera_w));
}
-static DRIVER_INIT( pclubjv2 )
+DRIVER_INIT_MEMBER(segac2_state,pclubjv2)
{
- segac2_common_init(machine, prot_func_pclubjv2);
+ segac2_common_init(machine(), prot_func_pclubjv2);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880120, 0x880121, FUNC(printer_r) );/*Print Club Vol.1*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880124, 0x880125, FUNC(printer_r) );/*Print Club Vol.2*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x880124, 0x880125, FUNC(print_club_camera_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880120, 0x880121, FUNC(printer_r) );/*Print Club Vol.1*/
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880124, 0x880125, FUNC(printer_r) );/*Print Club Vol.2*/
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x880124, 0x880125, FUNC(print_club_camera_w));
}
-static DRIVER_INIT( pclubjv4 )
+DRIVER_INIT_MEMBER(segac2_state,pclubjv4)
{
- segac2_common_init(machine, prot_func_pclubjv4);
+ segac2_common_init(machine(), prot_func_pclubjv4);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880120, 0x880121, FUNC(printer_r) );/*Print Club Vol.1*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880124, 0x880125, FUNC(printer_r) );/*Print Club Vol.2*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x880124, 0x880125, FUNC(print_club_camera_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880120, 0x880121, FUNC(printer_r) );/*Print Club Vol.1*/
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880124, 0x880125, FUNC(printer_r) );/*Print Club Vol.2*/
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x880124, 0x880125, FUNC(print_club_camera_w));
}
-static DRIVER_INIT( pclubjv5 )
+DRIVER_INIT_MEMBER(segac2_state,pclubjv5)
{
- segac2_common_init(machine, prot_func_pclubjv5);
+ segac2_common_init(machine(), prot_func_pclubjv5);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880120, 0x880121, FUNC(printer_r) );/*Print Club Vol.1*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880124, 0x880125, FUNC(printer_r) );/*Print Club Vol.2*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x880124, 0x880125, FUNC(print_club_camera_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880120, 0x880121, FUNC(printer_r) );/*Print Club Vol.1*/
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x880124, 0x880125, FUNC(printer_r) );/*Print Club Vol.2*/
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x880124, 0x880125, FUNC(print_club_camera_w));
}
diff --git a/src/mame/drivers/segae.c b/src/mame/drivers/segae.c
index 8171bfa5b41..bd0219102f2 100644
--- a/src/mame/drivers/segae.c
+++ b/src/mame/drivers/segae.c
@@ -1151,11 +1151,11 @@ MACHINE_CONFIG_END
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1985, hangonjr, 0, hangonjr, hangonjr, hangonjr_state, 0, ROT0, "Sega", "Hang-On Jr.", 0 )
-GAME( 1986, transfrm, 0, systeme, transfrm, systeme_state, 0, ROT0, "Sega", "Transformer", 0 )
-GAME( 1986, astrofl, transfrm, astrofl, transfrm, astrofl_state, 0, ROT0, "Sega", "Astro Flash (Japan)", 0 )
-GAME( 1986, ridleofp, 0, ridleofp, ridleofp, ridleofp_state, 0, ROT90, "Sega / Nasco", "Riddle of Pythagoras (Japan)", 0 )
-GAME( 1987, opaopa, 0, opaopa, opaopa, opaopa_state, 0, ROT0, "Sega", "Opa Opa (MC-8123, 317-0042)", 0 )
-GAME( 1988, fantzn2, 0, fantzn2, fantzn2, fantzn2_state, 0, ROT0, "Sega", "Fantasy Zone II - The Tears of Opa-Opa (MC-8123, 317-0057)", 0 )
-GAME( 1988, tetrisse, 0, systeme, tetrisse, systeme_state, 0, ROT0, "Sega", "Tetris (Japan, System E)", 0 )
+GAME( 1985, hangonjr, 0, hangonjr, hangonjr, driver_device, 0, ROT0, "Sega", "Hang-On Jr.", 0 )
+GAME( 1986, transfrm, 0, systeme, transfrm, driver_device, 0, ROT0, "Sega", "Transformer", 0 )
+GAME( 1986, astrofl, transfrm, astrofl, transfrm, driver_device, 0, ROT0, "Sega", "Astro Flash (Japan)", 0 )
+GAME( 1986, ridleofp, 0, ridleofp, ridleofp, driver_device, 0, ROT90, "Sega / Nasco", "Riddle of Pythagoras (Japan)", 0 )
+GAME( 1987, opaopa, 0, opaopa, opaopa, driver_device, 0, ROT0, "Sega", "Opa Opa (MC-8123, 317-0042)", 0 )
+GAME( 1988, fantzn2, 0, fantzn2, fantzn2, driver_device, 0, ROT0, "Sega", "Fantasy Zone II - The Tears of Opa-Opa (MC-8123, 317-0057)", 0 )
+GAME( 1988, tetrisse, 0, systeme, tetrisse, driver_device, 0, ROT0, "Sega", "Tetris (Japan, System E)", 0 )
diff --git a/src/mame/drivers/segag80r.c b/src/mame/drivers/segag80r.c
index 76d242cf391..bf7ea0a245b 100644
--- a/src/mame/drivers/segag80r.c
+++ b/src/mame/drivers/segag80r.c
@@ -1429,144 +1429,137 @@ static void monsterb_expand_gfx(running_machine &machine, const char *region)
*
*************************************/
-static DRIVER_INIT( astrob )
+DRIVER_INIT_MEMBER(segag80r_state,astrob)
{
- segag80r_state *state = machine.driver_data<segag80r_state>();
- device_t *speech = machine.device("segaspeech");
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ device_t *speech = machine().device("segaspeech");
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
/* configure the 315-0062 security chip */
- state->m_decrypt = segag80_security(62);
+ m_decrypt = segag80_security(62);
/* configure video */
- state->m_background_pcb = G80_BACKGROUND_NONE;
+ m_background_pcb = G80_BACKGROUND_NONE;
/* install speech board */
iospace->install_legacy_write_handler(*speech, 0x38, 0x38, FUNC(sega_speech_data_w));
iospace->install_legacy_write_handler(*speech, 0x3b, 0x3b, FUNC(sega_speech_control_w));
/* install Astro Blaster sound board */
- iospace->install_write_handler(0x3e, 0x3f, write8_delegate(FUNC(segag80r_state::astrob_sound_w),state));
+ iospace->install_write_handler(0x3e, 0x3f, write8_delegate(FUNC(segag80r_state::astrob_sound_w),this));
}
-static DRIVER_INIT( 005 )
+DRIVER_INIT_MEMBER(segag80r_state,005)
{
- segag80r_state *state = machine.driver_data<segag80r_state>();
/* configure the 315-0070 security chip */
- state->m_decrypt = segag80_security(70);
+ m_decrypt = segag80_security(70);
/* configure video */
- state->m_background_pcb = G80_BACKGROUND_NONE;
+ m_background_pcb = G80_BACKGROUND_NONE;
}
-static DRIVER_INIT( spaceod )
+DRIVER_INIT_MEMBER(segag80r_state,spaceod)
{
- segag80r_state *state = machine.driver_data<segag80r_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
/* configure the 315-0063 security chip */
- state->m_decrypt = segag80_security(63);
+ m_decrypt = segag80_security(63);
/* configure video */
- state->m_background_pcb = G80_BACKGROUND_SPACEOD;
+ m_background_pcb = G80_BACKGROUND_SPACEOD;
/* configure ports for the background board */
- iospace->install_readwrite_handler(0x08, 0x0f, read8_delegate(FUNC(segag80r_state::spaceod_back_port_r),state), write8_delegate(FUNC(segag80r_state::spaceod_back_port_w),state));
+ iospace->install_readwrite_handler(0x08, 0x0f, read8_delegate(FUNC(segag80r_state::spaceod_back_port_r),this), write8_delegate(FUNC(segag80r_state::spaceod_back_port_w),this));
/* install Space Odyssey sound board */
- iospace->install_write_handler(0x0e, 0x0f, write8_delegate(FUNC(segag80r_state::spaceod_sound_w),state));
+ iospace->install_write_handler(0x0e, 0x0f, write8_delegate(FUNC(segag80r_state::spaceod_sound_w),this));
/* install our wacky mangled ports */
- iospace->install_read_handler(0xf8, 0xfb, read8_delegate(FUNC(segag80r_state::spaceod_mangled_ports_r),state));
- iospace->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80r_state::spaceod_port_fc_r),state));
+ iospace->install_read_handler(0xf8, 0xfb, read8_delegate(FUNC(segag80r_state::spaceod_mangled_ports_r),this));
+ iospace->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80r_state::spaceod_port_fc_r),this));
}
-static DRIVER_INIT( monsterb )
+DRIVER_INIT_MEMBER(segag80r_state,monsterb)
{
- segag80r_state *state = machine.driver_data<segag80r_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
- address_space *pgmspace = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
+ address_space *pgmspace = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* configure the 315-0082 security chip */
- state->m_decrypt = segag80_security(82);
+ m_decrypt = segag80_security(82);
/* configure video */
- state->m_background_pcb = G80_BACKGROUND_MONSTERB;
- monsterb_expand_gfx(machine, "gfx1");
+ m_background_pcb = G80_BACKGROUND_MONSTERB;
+ monsterb_expand_gfx(machine(), "gfx1");
/* install background board handlers */
- iospace->install_write_handler(0xb8, 0xbd, write8_delegate(FUNC(segag80r_state::monsterb_back_port_w),state));
- pgmspace->install_write_handler(0xe000, 0xffff, write8_delegate(FUNC(segag80r_state::monsterb_vidram_w),state));
+ iospace->install_write_handler(0xb8, 0xbd, write8_delegate(FUNC(segag80r_state::monsterb_back_port_w),this));
+ pgmspace->install_write_handler(0xe000, 0xffff, write8_delegate(FUNC(segag80r_state::monsterb_vidram_w),this));
}
-static DRIVER_INIT( monster2 )
+DRIVER_INIT_MEMBER(segag80r_state,monster2)
{
- segag80r_state *state = machine.driver_data<segag80r_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
- address_space *pgmspace = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
+ address_space *pgmspace = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* configure the 315-5006 security chip */
- spatter_decode(machine, "maincpu");
- state->m_decrypt = segag80_security(0);
+ spatter_decode(machine(), "maincpu");
+ m_decrypt = segag80_security(0);
/* configure video */
- state->m_background_pcb = G80_BACKGROUND_PIGNEWT;
- monsterb_expand_gfx(machine, "gfx1");
+ m_background_pcb = G80_BACKGROUND_PIGNEWT;
+ monsterb_expand_gfx(machine(), "gfx1");
/* install background board handlers */
- iospace->install_write_handler(0xb4, 0xb5, write8_delegate(FUNC(segag80r_state::pignewt_back_color_w),state));
- iospace->install_write_handler(0xb8, 0xbd, write8_delegate(FUNC(segag80r_state::pignewt_back_port_w),state));
- pgmspace->install_write_handler(0xe000, 0xffff, write8_delegate(FUNC(segag80r_state::pignewt_vidram_w),state));
+ iospace->install_write_handler(0xb4, 0xb5, write8_delegate(FUNC(segag80r_state::pignewt_back_color_w),this));
+ iospace->install_write_handler(0xb8, 0xbd, write8_delegate(FUNC(segag80r_state::pignewt_back_port_w),this));
+ pgmspace->install_write_handler(0xe000, 0xffff, write8_delegate(FUNC(segag80r_state::pignewt_vidram_w),this));
}
-static DRIVER_INIT( pignewt )
+DRIVER_INIT_MEMBER(segag80r_state,pignewt)
{
- segag80r_state *state = machine.driver_data<segag80r_state>();
- device_t *usbsnd = machine.device("usbsnd");
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
- address_space *pgmspace = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ device_t *usbsnd = machine().device("usbsnd");
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
+ address_space *pgmspace = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* configure the 315-0063? security chip */
- state->m_decrypt = segag80_security(63);
+ m_decrypt = segag80_security(63);
/* configure video */
- state->m_background_pcb = G80_BACKGROUND_PIGNEWT;
- monsterb_expand_gfx(machine, "gfx1");
+ m_background_pcb = G80_BACKGROUND_PIGNEWT;
+ monsterb_expand_gfx(machine(), "gfx1");
/* install background board handlers */
- iospace->install_write_handler(0xb4, 0xb5, write8_delegate(FUNC(segag80r_state::pignewt_back_color_w),state));
- iospace->install_write_handler(0xb8, 0xbd, write8_delegate(FUNC(segag80r_state::pignewt_back_port_w),state));
- pgmspace->install_write_handler(0xe000, 0xffff, write8_delegate(FUNC(segag80r_state::pignewt_vidram_w),state));
+ iospace->install_write_handler(0xb4, 0xb5, write8_delegate(FUNC(segag80r_state::pignewt_back_color_w),this));
+ iospace->install_write_handler(0xb8, 0xbd, write8_delegate(FUNC(segag80r_state::pignewt_back_port_w),this));
+ pgmspace->install_write_handler(0xe000, 0xffff, write8_delegate(FUNC(segag80r_state::pignewt_vidram_w),this));
/* install Universal sound board */
iospace->install_legacy_readwrite_handler(*usbsnd, 0x3f, 0x3f, FUNC(sega_usb_status_r), FUNC(sega_usb_data_w));
pgmspace->install_legacy_read_handler(*usbsnd, 0xd000, 0xdfff, FUNC(sega_usb_ram_r));
- pgmspace->install_write_handler(0xd000, 0xdfff, write8_delegate(FUNC(segag80r_state::usb_ram_w),state));
+ pgmspace->install_write_handler(0xd000, 0xdfff, write8_delegate(FUNC(segag80r_state::usb_ram_w),this));
}
-static DRIVER_INIT( sindbadm )
+DRIVER_INIT_MEMBER(segag80r_state,sindbadm)
{
- segag80r_state *state = machine.driver_data<segag80r_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
- address_space *pgmspace = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
+ address_space *pgmspace = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* configure the encrypted Z80 */
- sindbadm_decode(machine, "maincpu");
- state->m_decrypt = segag80_security(0);
+ sindbadm_decode(machine(), "maincpu");
+ m_decrypt = segag80_security(0);
/* configure video */
- state->m_background_pcb = G80_BACKGROUND_SINDBADM;
+ m_background_pcb = G80_BACKGROUND_SINDBADM;
/* install background board handlers */
- iospace->install_write_handler(0x40, 0x41, write8_delegate(FUNC(segag80r_state::sindbadm_back_port_w),state));
- pgmspace->install_write_handler(0xe000, 0xffff, write8_delegate(FUNC(segag80r_state::sindbadm_vidram_w),state));
+ iospace->install_write_handler(0x40, 0x41, write8_delegate(FUNC(segag80r_state::sindbadm_back_port_w),this));
+ pgmspace->install_write_handler(0xe000, 0xffff, write8_delegate(FUNC(segag80r_state::sindbadm_vidram_w),this));
}
diff --git a/src/mame/drivers/segag80v.c b/src/mame/drivers/segag80v.c
index 2ad043acca6..cec3a3a602e 100644
--- a/src/mame/drivers/segag80v.c
+++ b/src/mame/drivers/segag80v.c
@@ -1288,122 +1288,116 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( elim2 )
+DRIVER_INIT_MEMBER(segag80v_state,elim2)
{
- segag80v_state *state = machine.driver_data<segag80v_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
/* configure security */
- state->m_decrypt = segag80_security(70);
+ m_decrypt = segag80_security(70);
/* configure sound */
- state->m_usb = NULL;
- iospace->install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(segag80v_state::elim1_sh_w),state));
- iospace->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(segag80v_state::elim2_sh_w),state));
+ m_usb = NULL;
+ iospace->install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(segag80v_state::elim1_sh_w),this));
+ iospace->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(segag80v_state::elim2_sh_w),this));
}
-static DRIVER_INIT( elim4 )
+DRIVER_INIT_MEMBER(segag80v_state,elim4)
{
- segag80v_state *state = machine.driver_data<segag80v_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
/* configure security */
- state->m_decrypt = segag80_security(76);
+ m_decrypt = segag80_security(76);
/* configure sound */
- state->m_usb = NULL;
- iospace->install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(segag80v_state::elim1_sh_w),state));
- iospace->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(segag80v_state::elim2_sh_w),state));
+ m_usb = NULL;
+ iospace->install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(segag80v_state::elim1_sh_w),this));
+ iospace->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(segag80v_state::elim2_sh_w),this));
/* configure inputs */
- iospace->install_write_handler(0xf8, 0xf8, write8_delegate(FUNC(segag80v_state::spinner_select_w),state));
- iospace->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80v_state::elim4_input_r),state));
+ iospace->install_write_handler(0xf8, 0xf8, write8_delegate(FUNC(segag80v_state::spinner_select_w),this));
+ iospace->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80v_state::elim4_input_r),this));
}
-static DRIVER_INIT( spacfury )
+DRIVER_INIT_MEMBER(segag80v_state,spacfury)
{
- segag80v_state *state = machine.driver_data<segag80v_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
/* configure security */
- state->m_decrypt = segag80_security(64);
+ m_decrypt = segag80_security(64);
/* configure sound */
- state->m_usb = NULL;
- iospace->install_legacy_write_handler(*machine.device("segaspeech"), 0x38, 0x38, FUNC(sega_speech_data_w));
- iospace->install_legacy_write_handler(*machine.device("segaspeech"), 0x3b, 0x3b, FUNC(sega_speech_control_w));
- iospace->install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(segag80v_state::spacfury1_sh_w),state));
- iospace->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(segag80v_state::spacfury2_sh_w),state));
+ m_usb = NULL;
+ iospace->install_legacy_write_handler(*machine().device("segaspeech"), 0x38, 0x38, FUNC(sega_speech_data_w));
+ iospace->install_legacy_write_handler(*machine().device("segaspeech"), 0x3b, 0x3b, FUNC(sega_speech_control_w));
+ iospace->install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(segag80v_state::spacfury1_sh_w),this));
+ iospace->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(segag80v_state::spacfury2_sh_w),this));
}
-static DRIVER_INIT( zektor )
+DRIVER_INIT_MEMBER(segag80v_state,zektor)
{
- segag80v_state *state = machine.driver_data<segag80v_state>();
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
- device_t *ay = machine.device("aysnd");
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
+ device_t *ay = machine().device("aysnd");
/* configure security */
- state->m_decrypt = segag80_security(82);
+ m_decrypt = segag80_security(82);
/* configure sound */
- state->m_usb = NULL;
- iospace->install_legacy_write_handler(*machine.device("segaspeech"), 0x38, 0x38, FUNC(sega_speech_data_w));
- iospace->install_legacy_write_handler(*machine.device("segaspeech"), 0x3b, 0x3b, FUNC(sega_speech_control_w));
+ m_usb = NULL;
+ iospace->install_legacy_write_handler(*machine().device("segaspeech"), 0x38, 0x38, FUNC(sega_speech_data_w));
+ iospace->install_legacy_write_handler(*machine().device("segaspeech"), 0x3b, 0x3b, FUNC(sega_speech_control_w));
iospace->install_legacy_write_handler(*ay, 0x3c, 0x3d, FUNC(ay8910_address_data_w));
- iospace->install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(segag80v_state::zektor1_sh_w),state));
- iospace->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(segag80v_state::zektor2_sh_w),state));
+ iospace->install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(segag80v_state::zektor1_sh_w),this));
+ iospace->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(segag80v_state::zektor2_sh_w),this));
/* configure inputs */
- iospace->install_write_handler(0xf8, 0xf8, write8_delegate(FUNC(segag80v_state::spinner_select_w),state));
- iospace->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80v_state::spinner_input_r),state));
+ iospace->install_write_handler(0xf8, 0xf8, write8_delegate(FUNC(segag80v_state::spinner_select_w),this));
+ iospace->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80v_state::spinner_input_r),this));
}
-static DRIVER_INIT( tacscan )
+DRIVER_INIT_MEMBER(segag80v_state,tacscan)
{
- segag80v_state *state = machine.driver_data<segag80v_state>();
- address_space *pgmspace = machine.device("maincpu")->memory().space(AS_PROGRAM);
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *pgmspace = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
/* configure security */
- state->m_decrypt = segag80_security(76);
+ m_decrypt = segag80_security(76);
/* configure sound */
- state->m_usb = machine.device("usbsnd");
- iospace->install_legacy_readwrite_handler(*state->m_usb, 0x3f, 0x3f, FUNC(sega_usb_status_r), FUNC(sega_usb_data_w));
- pgmspace->install_legacy_read_handler(*state->m_usb, 0xd000, 0xdfff, FUNC(sega_usb_ram_r));
- pgmspace->install_write_handler(0xd000, 0xdfff, write8_delegate(FUNC(segag80v_state::usb_ram_w),state));
+ m_usb = machine().device("usbsnd");
+ iospace->install_legacy_readwrite_handler(*m_usb, 0x3f, 0x3f, FUNC(sega_usb_status_r), FUNC(sega_usb_data_w));
+ pgmspace->install_legacy_read_handler(*m_usb, 0xd000, 0xdfff, FUNC(sega_usb_ram_r));
+ pgmspace->install_write_handler(0xd000, 0xdfff, write8_delegate(FUNC(segag80v_state::usb_ram_w),this));
/* configure inputs */
- iospace->install_write_handler(0xf8, 0xf8, write8_delegate(FUNC(segag80v_state::spinner_select_w),state));
- iospace->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80v_state::spinner_input_r),state));
+ iospace->install_write_handler(0xf8, 0xf8, write8_delegate(FUNC(segag80v_state::spinner_select_w),this));
+ iospace->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80v_state::spinner_input_r),this));
}
-static DRIVER_INIT( startrek )
+DRIVER_INIT_MEMBER(segag80v_state,startrek)
{
- segag80v_state *state = machine.driver_data<segag80v_state>();
- address_space *pgmspace = machine.device("maincpu")->memory().space(AS_PROGRAM);
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *pgmspace = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
/* configure security */
- state->m_decrypt = segag80_security(64);
+ m_decrypt = segag80_security(64);
/* configure sound */
- state->m_usb = machine.device("usbsnd");
- iospace->install_legacy_write_handler(*machine.device("segaspeech"), 0x38, 0x38, FUNC(sega_speech_data_w));
- iospace->install_legacy_write_handler(*machine.device("segaspeech"), 0x3b, 0x3b, FUNC(sega_speech_control_w));
+ m_usb = machine().device("usbsnd");
+ iospace->install_legacy_write_handler(*machine().device("segaspeech"), 0x38, 0x38, FUNC(sega_speech_data_w));
+ iospace->install_legacy_write_handler(*machine().device("segaspeech"), 0x3b, 0x3b, FUNC(sega_speech_control_w));
- iospace->install_legacy_readwrite_handler(*state->m_usb, 0x3f, 0x3f, FUNC(sega_usb_status_r), FUNC(sega_usb_data_w));
- pgmspace->install_legacy_read_handler(*state->m_usb, 0xd000, 0xdfff, FUNC(sega_usb_ram_r));
- pgmspace->install_write_handler(0xd000, 0xdfff, write8_delegate(FUNC(segag80v_state::usb_ram_w),state));
+ iospace->install_legacy_readwrite_handler(*m_usb, 0x3f, 0x3f, FUNC(sega_usb_status_r), FUNC(sega_usb_data_w));
+ pgmspace->install_legacy_read_handler(*m_usb, 0xd000, 0xdfff, FUNC(sega_usb_ram_r));
+ pgmspace->install_write_handler(0xd000, 0xdfff, write8_delegate(FUNC(segag80v_state::usb_ram_w),this));
/* configure inputs */
- iospace->install_write_handler(0xf8, 0xf8, write8_delegate(FUNC(segag80v_state::spinner_select_w),state));
- iospace->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80v_state::spinner_input_r),state));
+ iospace->install_write_handler(0xf8, 0xf8, write8_delegate(FUNC(segag80v_state::spinner_select_w),this));
+ iospace->install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80v_state::spinner_input_r),this));
}
diff --git a/src/mame/drivers/segahang.c b/src/mame/drivers/segahang.c
index bd091d3f47e..83244070d82 100644
--- a/src/mame/drivers/segahang.c
+++ b/src/mame/drivers/segahang.c
@@ -1752,7 +1752,7 @@ ROM_END
// init_generic - common initialization
//-------------------------------------------------
-void segahang_state::init_generic()
+DRIVER_INIT_MEMBER(segahang_state,generic)
{
// point globals to allocated memory regions
segaic16_spriteram_0 = reinterpret_cast<UINT16 *>(memshare("spriteram")->ptr());
@@ -1770,24 +1770,24 @@ void segahang_state::init_generic()
// init_* - game-specific initialization
//-------------------------------------------------
-void segahang_state::init_sharrier()
+DRIVER_INIT_MEMBER(segahang_state,sharrier)
{
- init_generic();
+ DRIVER_INIT_CALL(generic);
m_sharrier_video = true;
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segahang_state::sharrier_i8751_sim), this);
}
-void segahang_state::init_enduror()
+DRIVER_INIT_MEMBER(segahang_state,enduror)
{
- init_generic();
+ DRIVER_INIT_CALL(generic);
m_sharrier_video = true;
}
-void segahang_state::init_endurobl()
+DRIVER_INIT_MEMBER(segahang_state,endurobl)
{
- init_enduror();
+ DRIVER_INIT_CALL(enduror);
// assemble decrypted half of ROM and register it
UINT16 *rom = reinterpret_cast<UINT16 *>(memregion("maincpu")->base());
@@ -1798,9 +1798,9 @@ void segahang_state::init_endurobl()
}
-void segahang_state::init_endurob2()
+DRIVER_INIT_MEMBER(segahang_state,endurob2)
{
- init_enduror();
+ DRIVER_INIT_CALL(enduror);
// assemble decrypted half of ROM and register it
UINT16 *rom = reinterpret_cast<UINT16 *>(memregion("maincpu")->base());
@@ -1816,13 +1816,13 @@ void segahang_state::init_endurob2()
//**************************************************************************
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1985, hangon, 0, hangon, hangon, segahang_state,init_generic, ROT0, "Sega", "Hang-On (Rev A)", 0 )
-GAME( 1985, hangon1, hangon, hangon, hangon, segahang_state,init_generic, ROT0, "Sega", "Hang-On", 0 )
-GAME( 1987, shangonro, shangon, shangonro,shangonro, segahang_state,init_generic, ROT0, "Sega", "Super Hang-On (ride-on, Japan, FD1094 317-0038)", 0 )
-GAME( 1992, shangonrb, shangon, shangupb, shangupb, segahang_state,init_generic, ROT0, "bootleg", "Super Hang-On (bootleg)", 0 )
-GAME( 1985, sharrier, 0, sharrier, sharrier, segahang_state,init_sharrier,ROT0, "Sega", "Space Harrier (Rev A, 8751 315-5163A)", 0 )
-GAME( 1985, sharrier1, sharrier, sharrier, sharrier, segahang_state,init_sharrier,ROT0, "Sega", "Space Harrier (8751 315-5163)", 0 )
-GAME( 1986, enduror, 0, enduror, enduror, segahang_state,init_enduror, ROT0, "Sega", "Enduro Racer (YM2151, FD1089B 317-0013A)", 0 )
-GAME( 1986, enduror1, enduror, enduror1, enduror, segahang_state,init_enduror, ROT0, "Sega", "Enduro Racer (YM2203, FD1089B 317-0013A)", 0 )
-GAME( 1986, endurobl, enduror, endurobl, enduror, segahang_state,init_endurobl,ROT0, "bootleg", "Enduro Racer (bootleg set 1)", 0 )
-GAME( 1986, endurob2, enduror, endurob2, enduror, segahang_state,init_endurob2,ROT0, "bootleg", "Enduro Racer (bootleg set 2)", GAME_NOT_WORKING )
+GAME( 1985, hangon, 0, hangon, hangon, segahang_state,generic, ROT0, "Sega", "Hang-On (Rev A)", 0 )
+GAME( 1985, hangon1, hangon, hangon, hangon, segahang_state,generic, ROT0, "Sega", "Hang-On", 0 )
+GAME( 1987, shangonro, shangon, shangonro,shangonro, segahang_state,generic, ROT0, "Sega", "Super Hang-On (ride-on, Japan, FD1094 317-0038)", 0 )
+GAME( 1992, shangonrb, shangon, shangupb, shangupb, segahang_state,generic, ROT0, "bootleg", "Super Hang-On (bootleg)", 0 )
+GAME( 1985, sharrier, 0, sharrier, sharrier, segahang_state,sharrier,ROT0, "Sega", "Space Harrier (Rev A, 8751 315-5163A)", 0 )
+GAME( 1985, sharrier1, sharrier, sharrier, sharrier, segahang_state,sharrier,ROT0, "Sega", "Space Harrier (8751 315-5163)", 0 )
+GAME( 1986, enduror, 0, enduror, enduror, segahang_state,enduror, ROT0, "Sega", "Enduro Racer (YM2151, FD1089B 317-0013A)", 0 )
+GAME( 1986, enduror1, enduror, enduror1, enduror, segahang_state,enduror, ROT0, "Sega", "Enduro Racer (YM2203, FD1089B 317-0013A)", 0 )
+GAME( 1986, endurobl, enduror, endurobl, enduror, segahang_state,endurobl,ROT0, "bootleg", "Enduro Racer (bootleg set 1)", 0 )
+GAME( 1986, endurob2, enduror, endurob2, enduror, segahang_state,endurob2,ROT0, "bootleg", "Enduro Racer (bootleg set 2)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/segajw.c b/src/mame/drivers/segajw.c
index d7ba3e63a5f..f3673e89f3b 100644
--- a/src/mame/drivers/segajw.c
+++ b/src/mame/drivers/segajw.c
@@ -128,4 +128,4 @@ ROM_START( segajw )
ROM_END
-GAME( 198?, segajw, 0, segajw, segajw, segajw_state, 0, ROT0, "Sega", "Golden Poker Series \"Joker's Wild\" (Rev. B)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS ) // TODO: correct title
+GAME( 198?, segajw, 0, segajw, segajw, driver_device, 0, ROT0, "Sega", "Golden Poker Series \"Joker's Wild\" (Rev. B)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS ) // TODO: correct title
diff --git a/src/mame/drivers/segald.c b/src/mame/drivers/segald.c
index 023ed0ad19b..c0233f80e83 100644
--- a/src/mame/drivers/segald.c
+++ b/src/mame/drivers/segald.c
@@ -56,6 +56,7 @@ public:
DECLARE_WRITE8_MEMBER(astron_COLOR_write);
DECLARE_WRITE8_MEMBER(astron_FIX_write);
DECLARE_WRITE8_MEMBER(astron_io_bankswitch_w);
+ DECLARE_DRIVER_INIT(astron);
};
/* VIDEO GOODS */
@@ -595,10 +596,10 @@ ROM_START( cobraseg )
ROM_END
-static DRIVER_INIT( astron )
+DRIVER_INIT_MEMBER(segald_state,astron)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 2, &ROM[0x8000], 0x4000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 2, &ROM[0x8000], 0x4000);
}
diff --git a/src/mame/drivers/segaorun.c b/src/mame/drivers/segaorun.c
index f53bd3811dd..39ed1281f43 100644
--- a/src/mame/drivers/segaorun.c
+++ b/src/mame/drivers/segaorun.c
@@ -300,8 +300,6 @@ Notes:
***************************************************************************/
-#define MODERN_DRIVER_INIT
-
#include "emu.h"
#include "includes/segaorun.h"
#include "machine/fd1089.h"
@@ -423,7 +421,7 @@ READ8_MEMBER( segaorun_state::sound_data_r )
// init_generic - common initialization
//-------------------------------------------------
-void segaorun_state::init_generic()
+DRIVER_INIT_MEMBER(segaorun_state,generic)
{
// configure the NVRAM to point to our workram
if (m_nvram != NULL)
@@ -2073,7 +2071,7 @@ ROM_END
// GENERIC DRIVER INITIALIZATION
//**************************************************************************
-void segaorun_state::init_outrun()
+DRIVER_INIT_MEMBER(segaorun_state,outrun)
{
init_generic();
m_custom_io_r = read16_delegate(FUNC(segaorun_state::outrun_custom_io_r), this);
@@ -2081,7 +2079,7 @@ void segaorun_state::init_outrun()
}
-void segaorun_state::init_outrunb()
+DRIVER_INIT_MEMBER(segaorun_state,outrunb)
{
static const UINT8 memory_map[] = { 0x02,0x00,0x0d,0x10,0x00,0x12,0x0c,0x13,0x08,0x14,0x0f,0x20,0x00,0x00,0x00,0x00 };
UINT16 *word;
@@ -2124,7 +2122,7 @@ void segaorun_state::init_outrunb()
}
-void segaorun_state::init_shangon()
+DRIVER_INIT_MEMBER(segaorun_state,shangon)
{
init_generic();
m_is_shangon = true;
@@ -2133,7 +2131,7 @@ void segaorun_state::init_shangon()
}
-void segaorun_state::init_shangon3()
+DRIVER_INIT_MEMBER(segaorun_state,shangon3)
{
init_generic();
m_is_shangon = true;
@@ -2148,17 +2146,17 @@ void segaorun_state::init_shangon3()
//**************************************************************************
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS, LAYOUT
-GAMEL(1986, outrun, 0, outrun, outrun, segaorun_state,init_outrun, ROT0, "Sega", "Out Run (sitdown/upright, Rev B)", 0, layout_outrun ) // Upright/Sitdown determined by dipswitch settings
-GAMEL(1986, outrunra, outrun, outrun, outrun, segaorun_state,init_outrun, ROT0, "Sega", "Out Run (sitdown/upright, Rev A)", 0, layout_outrun ) // Upright/Sitdown determined by dipswitch settings
-GAMEL(1986, outruno, outrun, outrun, outrun, segaorun_state,init_outrun, ROT0, "Sega", "Out Run (sitdown/upright)", 0, layout_outrun ) // Upright/Sitdown determined by dipswitch settings
-GAMEL(1986, outrundx, outrun, outrundx, outrundx, segaorun_state,init_outrun, ROT0, "Sega", "Out Run (deluxe sitdown)", 0, layout_outrun )
-GAMEL(1986, outrunb, outrun, outrun, outrun, segaorun_state,init_outrunb, ROT0, "bootleg", "Out Run (bootleg)", 0, layout_outrun )
-GAME( 1987, shangon, 0, shangon, shangon, segaorun_state,init_shangon, ROT0, "Sega", "Super Hang-On (sitdown/upright, unprotected)", 0 )
-GAME( 1987, shangon3, shangon, shangon_fd1089b, shangon, segaorun_state,init_shangon3, ROT0, "Sega", "Super Hang-On (sitdown/upright, FD1089B 317-0034)", 0 )
-GAME( 1987, shangon2, shangon, shangon_fd1089b, shangon, segaorun_state,init_shangon3, ROT0, "Sega", "Super Hang-On (mini ride-on, Rev A, FD1089B 317-0034)", 0 )
-GAME( 1987, shangon1, shangon, shangon_fd1089b, shangon, segaorun_state,init_shangon3, ROT0, "Sega", "Super Hang-On (mini ride-on?, FD1089B 317-0034)", GAME_NOT_WORKING ) // bad program rom
-GAME( 1991, shangonle,shangon, shangon, shangon, segaorun_state,init_shangon, ROT0, "Sega", "Limited Edition Hang-On", 0 )
-GAMEL(1989, toutrun, 0, outrun_fd1094, toutrun, segaorun_state,init_outrun, ROT0, "Sega", "Turbo Out Run (Out Run upgrade, FD1094 317-0118)", 0, layout_outrun ) // Cabinet determined by dipswitch settings
-GAMEL(1989, toutrun3, toutrun, outrun_fd1094, toutrunc, segaorun_state,init_outrun, ROT0, "Sega", "Turbo Out Run (upright, FD1094 317-0107)", 0, layout_outrun )
-GAMEL(1989, toutrun2, toutrun, outrun_fd1094, toutrun, segaorun_state,init_outrun, ROT0, "Sega", "Turbo Out Run (cockpit, FD1094 317-unknown)", GAME_NOT_WORKING, layout_outrun ) // FD1094 CPU not decrypted
-GAMEL(1989, toutrun1, toutrun, outrun_fd1094, toutrunm, segaorun_state,init_outrun, ROT0, "Sega", "Turbo Out Run (deluxe cockpit, FD1094 317-0109)", 0, layout_outrun )
+GAMEL(1986, outrun, 0, outrun, outrun, segaorun_state,outrun, ROT0, "Sega", "Out Run (sitdown/upright, Rev B)", 0, layout_outrun ) // Upright/Sitdown determined by dipswitch settings
+GAMEL(1986, outrunra, outrun, outrun, outrun, segaorun_state,outrun, ROT0, "Sega", "Out Run (sitdown/upright, Rev A)", 0, layout_outrun ) // Upright/Sitdown determined by dipswitch settings
+GAMEL(1986, outruno, outrun, outrun, outrun, segaorun_state,outrun, ROT0, "Sega", "Out Run (sitdown/upright)", 0, layout_outrun ) // Upright/Sitdown determined by dipswitch settings
+GAMEL(1986, outrundx, outrun, outrundx, outrundx, segaorun_state,outrun, ROT0, "Sega", "Out Run (deluxe sitdown)", 0, layout_outrun )
+GAMEL(1986, outrunb, outrun, outrun, outrun, segaorun_state,outrunb, ROT0, "bootleg", "Out Run (bootleg)", 0, layout_outrun )
+GAME( 1987, shangon, 0, shangon, shangon, segaorun_state,shangon, ROT0, "Sega", "Super Hang-On (sitdown/upright, unprotected)", 0 )
+GAME( 1987, shangon3, shangon, shangon_fd1089b, shangon, segaorun_state,shangon3, ROT0, "Sega", "Super Hang-On (sitdown/upright, FD1089B 317-0034)", 0 )
+GAME( 1987, shangon2, shangon, shangon_fd1089b, shangon, segaorun_state,shangon3, ROT0, "Sega", "Super Hang-On (mini ride-on, Rev A, FD1089B 317-0034)", 0 )
+GAME( 1987, shangon1, shangon, shangon_fd1089b, shangon, segaorun_state,shangon3, ROT0, "Sega", "Super Hang-On (mini ride-on?, FD1089B 317-0034)", GAME_NOT_WORKING ) // bad program rom
+GAME( 1991, shangonle,shangon, shangon, shangon, segaorun_state,shangon, ROT0, "Sega", "Limited Edition Hang-On", 0 )
+GAMEL(1989, toutrun, 0, outrun_fd1094, toutrun, segaorun_state,outrun, ROT0, "Sega", "Turbo Out Run (Out Run upgrade, FD1094 317-0118)", 0, layout_outrun ) // Cabinet determined by dipswitch settings
+GAMEL(1989, toutrun3, toutrun, outrun_fd1094, toutrunc, segaorun_state,outrun, ROT0, "Sega", "Turbo Out Run (upright, FD1094 317-0107)", 0, layout_outrun )
+GAMEL(1989, toutrun2, toutrun, outrun_fd1094, toutrun, segaorun_state,outrun, ROT0, "Sega", "Turbo Out Run (cockpit, FD1094 317-unknown)", GAME_NOT_WORKING, layout_outrun ) // FD1094 CPU not decrypted
+GAMEL(1989, toutrun1, toutrun, outrun_fd1094, toutrunm, segaorun_state,outrun, ROT0, "Sega", "Turbo Out Run (deluxe cockpit, FD1094 317-0109)", 0, layout_outrun )
diff --git a/src/mame/drivers/segas16a.c b/src/mame/drivers/segas16a.c
index ca56972b843..76108d4f942 100644
--- a/src/mame/drivers/segas16a.c
+++ b/src/mame/drivers/segas16a.c
@@ -175,8 +175,6 @@ Tetris - - - - EPR12169 EPR12170 -
***************************************************************************/
-#define MODERN_DRIVER_INIT
-
#include "emu.h"
#include "includes/segas16a.h"
#include "machine/segacrp2.h"
@@ -3452,7 +3450,7 @@ ROM_END
// init_generic - common initialization
//-------------------------------------------------
-void segas16a_state::init_generic()
+DRIVER_INIT_MEMBER(segas16a_state,generic)
{
// configure the NVRAM to point to our workram
m_nvram->set_base(m_workram, m_workram.bytes());
@@ -3483,49 +3481,49 @@ void segas16a_state::init_generic()
// init_* - game-specific initialization
//-------------------------------------------------
-void segas16a_state::init_aceattaa()
+DRIVER_INIT_MEMBER(segas16a_state,aceattaa)
{
init_generic();
m_custom_io_r = read16_delegate(FUNC(segas16a_state::aceattaa_custom_io_r), this);
}
-void segas16a_state::init_dumpmtmt()
+DRIVER_INIT_MEMBER(segas16a_state,dumpmtmt)
{
init_generic();
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segas16a_state::dumpmtmt_i8751_sim), this);
}
-void segas16a_state::init_mjleague()
+DRIVER_INIT_MEMBER(segas16a_state,mjleague)
{
init_generic();
m_custom_io_r = read16_delegate(FUNC(segas16a_state::mjleague_custom_io_r), this);
}
-void segas16a_state::init_passsht16a()
+DRIVER_INIT_MEMBER(segas16a_state,passsht16a)
{
init_generic();
m_custom_io_r = read16_delegate(FUNC(segas16a_state::passsht16a_custom_io_r), this);
}
-void segas16a_state::init_quartet()
+DRIVER_INIT_MEMBER(segas16a_state,quartet)
{
init_generic();
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segas16a_state::quartet_i8751_sim), this);
}
-void segas16a_state::init_fantzonep()
+DRIVER_INIT_MEMBER(segas16a_state,fantzonep)
{
init_generic();
sega_315_5177_decode(machine(), "soundcpu");
}
-void segas16a_state::init_sdi()
+DRIVER_INIT_MEMBER(segas16a_state,sdi)
{
init_generic();
m_custom_io_r = read16_delegate(FUNC(segas16a_state::sdi_custom_io_r), this);
}
-void segas16a_state::init_sjryukoa()
+DRIVER_INIT_MEMBER(segas16a_state,sjryukoa)
{
init_generic();
m_custom_io_r = read16_delegate(FUNC(segas16a_state::sjryuko_custom_io_r), this);
@@ -3540,35 +3538,35 @@ void segas16a_state::init_sjryukoa()
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
// "Pre-System 16"
-GAME( 1986, bodyslam, 0, system16a_i8751, bodyslam, segas16a_state,init_generic, ROT0, "Sega", "Body Slam (8751 317-0015)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dumpmtmt, bodyslam, system16a_i8751, bodyslam, segas16a_state,init_dumpmtmt, ROT0, "Sega", "Dump Matsumoto (Japan, 8751 317-0011a)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1985, mjleague, 0, system16a, mjleague, segas16a_state,init_mjleague, ROT270, "Sega", "Major League", GAME_SUPPORTS_SAVE )
-GAME( 1986, quartet, 0, system16a_i8751, quartet, segas16a_state,init_quartet, ROT0, "Sega", "Quartet (Rev A, 8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1986, quarteta, quartet, system16a_i8751, quartet, segas16a_state,init_quartet, ROT0, "Sega", "Quartet (8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1986, quartet2, quartet, system16a_i8751, quart2, segas16a_state,init_generic, ROT0, "Sega", "Quartet 2 (8751 317-0010)", GAME_SUPPORTS_SAVE )
-GAME( 1986, quartet2a, quartet, system16a, quart2, segas16a_state,init_generic, ROT0, "Sega", "Quartet 2 (unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1986, bodyslam, 0, system16a_i8751, bodyslam, segas16a_state,generic, ROT0, "Sega", "Body Slam (8751 317-0015)", GAME_SUPPORTS_SAVE )
+GAME( 1986, dumpmtmt, bodyslam, system16a_i8751, bodyslam, segas16a_state,dumpmtmt, ROT0, "Sega", "Dump Matsumoto (Japan, 8751 317-0011a)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1985, mjleague, 0, system16a, mjleague, segas16a_state,mjleague, ROT270, "Sega", "Major League", GAME_SUPPORTS_SAVE )
+GAME( 1986, quartet, 0, system16a_i8751, quartet, segas16a_state,quartet, ROT0, "Sega", "Quartet (Rev A, 8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1986, quarteta, quartet, system16a_i8751, quartet, segas16a_state,quartet, ROT0, "Sega", "Quartet (8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1986, quartet2, quartet, system16a_i8751, quart2, segas16a_state,generic, ROT0, "Sega", "Quartet 2 (8751 317-0010)", GAME_SUPPORTS_SAVE )
+GAME( 1986, quartet2a, quartet, system16a, quart2, segas16a_state,generic, ROT0, "Sega", "Quartet 2 (unprotected)", GAME_SUPPORTS_SAVE )
// System 16A
-GAME( 1987, aliensyn5, aliensyn, system16a_fd1089b, aliensyn, segas16a_state,init_generic, ROT0, "Sega", "Alien Syndrome (set 5, System 16A, FD1089B 317-0037)", GAME_SUPPORTS_SAVE )
-GAME( 1987, aliensyn2, aliensyn, system16a_fd1089a, aliensyn, segas16a_state,init_generic, ROT0, "Sega", "Alien Syndrome (set 2, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
-GAME( 1987, aliensynjo, aliensyn, system16a_fd1089a, aliensynj, segas16a_state,init_generic, ROT0, "Sega", "Alien Syndrome (set 1, Japan, old, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
-GAME( 1988, aceattaca, aceattac, system16a_fd1094, aceattaa, segas16a_state,init_aceattaa, ROT270, "Sega", "Ace Attacker (Japan, System 16A, FD1094 317-0060)", GAME_SUPPORTS_SAVE )
-GAME( 1986, afighter, 0, system16a_fd1089a_no7751, afighter, segas16a_state,init_generic, ROT270, "Sega", "Action Fighter (FD1089A 317-0018)", GAME_SUPPORTS_SAVE )
-GAME( 1986, alexkidd, 0, system16a, alexkidd, segas16a_state,init_generic, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 2, unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1986, alexkidd1, alexkidd, system16a_fd1089a, alexkidd, segas16a_state,init_generic, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 1, FD1089A 317-0021)", GAME_SUPPORTS_SAVE )
-GAME( 1986, fantzone, 0, system16a_no7751, fantzone, segas16a_state,init_generic, ROT0, "Sega", "Fantasy Zone (Rev A, unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1986, fantzone1, fantzone, system16a_no7751, fantzone, segas16a_state,init_generic, ROT0, "Sega", "Fantasy Zone (unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1986, fantzonep, fantzone, system16a_no7751, fantzone, segas16a_state,init_fantzonep, ROT0, "Sega", "Fantasy Zone (317-5000)", GAME_SUPPORTS_SAVE )
-GAME( 1988, passsht16a, passsht, system16a_fd1094, passsht16a, segas16a_state,init_passsht16a, ROT270, "Sega", "Passing Shot (Japan, 4 Players, System 16A, FD1094 317-0071)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sdi, 0, system16a_fd1089b_no7751, sdi, segas16a_state,init_sdi, ROT0, "Sega", "SDI - Strategic Defense Initiative (Japan, old, System 16A, FD1089B 317-0027)", GAME_SUPPORTS_SAVE )
-GAME( 1987, shinobi, 0, system16a, shinobi, segas16a_state,init_generic, ROT0, "Sega", "Shinobi (set 6, System 16A, unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1987, shinobi1, shinobi, system16a_fd1094, shinobi, segas16a_state,init_generic, ROT0, "Sega", "Shinobi (set 1, System 16A, FD1094 317-0050)", GAME_SUPPORTS_SAVE )
-GAME( 1987, shinobls, shinobi, system16a, shinobi, segas16a_state,init_generic, ROT0, "bootleg (Star)", "Shinobi (Star bootleg, System 16A)", GAME_SUPPORTS_SAVE )
-GAME( 1987, shinoblb, shinobi, system16a, shinobi, segas16a_state,init_generic, ROT0, "bootleg (Beta)", "Shinobi (Beta bootleg)", GAME_SUPPORTS_SAVE ) // should have different sound hw? using original ATM
-GAME( 1987, sjryuko1, sjryuko, system16a_fd1089b, sjryuko, segas16a_state,init_sjryukoa, ROT0, "White Board", "Sukeban Jansi Ryuko (set 1, System 16A, FD1089B 317-5021)", GAME_SUPPORTS_SAVE )
-GAME( 1988, tetris, 0, system16a_fd1094_no7751, tetris, segas16a_state,init_generic, ROT0, "Sega", "Tetris (set 4, Japan, System 16A, FD1094 317-0093)", GAME_SUPPORTS_SAVE )
-GAME( 1988, tetris3, tetris, system16a_fd1094_no7751, tetris, segas16a_state,init_generic, ROT0, "Sega", "Tetris (set 3, Japan, System 16A, FD1094 317-0093a)", GAME_SUPPORTS_SAVE )
-GAME( 1987, timescan1, timescan, system16a_fd1089b, timescan, segas16a_state,init_generic, ROT270, "Sega", "Time Scanner (set 1, System 16A, FD1089B 317-0024)", GAME_SUPPORTS_SAVE )
-GAME( 1988, wb31, wb3, system16a_fd1094_no7751, wb3, segas16a_state,init_generic, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 1, System 16A, FD1094 317-0084)", GAME_SUPPORTS_SAVE )
-GAME( 1988, wb35, wb3, system16a_fd1089a_no7751, wb3, segas16a_state,init_generic, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 5, System 16A, FD1089A 317-xxxx, bad dump?)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1988, wb35a, wb3, system16a_fd1089a_no7751, wb3, segas16a_state,init_generic, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 6, System 16A, FD1089A 317-xxxx)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1987, aliensyn5, aliensyn, system16a_fd1089b, aliensyn, segas16a_state,generic, ROT0, "Sega", "Alien Syndrome (set 5, System 16A, FD1089B 317-0037)", GAME_SUPPORTS_SAVE )
+GAME( 1987, aliensyn2, aliensyn, system16a_fd1089a, aliensyn, segas16a_state,generic, ROT0, "Sega", "Alien Syndrome (set 2, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
+GAME( 1987, aliensynjo, aliensyn, system16a_fd1089a, aliensynj, segas16a_state,generic, ROT0, "Sega", "Alien Syndrome (set 1, Japan, old, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
+GAME( 1988, aceattaca, aceattac, system16a_fd1094, aceattaa, segas16a_state,aceattaa, ROT270, "Sega", "Ace Attacker (Japan, System 16A, FD1094 317-0060)", GAME_SUPPORTS_SAVE )
+GAME( 1986, afighter, 0, system16a_fd1089a_no7751, afighter, segas16a_state,generic, ROT270, "Sega", "Action Fighter (FD1089A 317-0018)", GAME_SUPPORTS_SAVE )
+GAME( 1986, alexkidd, 0, system16a, alexkidd, segas16a_state,generic, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 2, unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1986, alexkidd1, alexkidd, system16a_fd1089a, alexkidd, segas16a_state,generic, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 1, FD1089A 317-0021)", GAME_SUPPORTS_SAVE )
+GAME( 1986, fantzone, 0, system16a_no7751, fantzone, segas16a_state,generic, ROT0, "Sega", "Fantasy Zone (Rev A, unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1986, fantzone1, fantzone, system16a_no7751, fantzone, segas16a_state,generic, ROT0, "Sega", "Fantasy Zone (unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1986, fantzonep, fantzone, system16a_no7751, fantzone, segas16a_state,fantzonep, ROT0, "Sega", "Fantasy Zone (317-5000)", GAME_SUPPORTS_SAVE )
+GAME( 1988, passsht16a, passsht, system16a_fd1094, passsht16a, segas16a_state,passsht16a, ROT270, "Sega", "Passing Shot (Japan, 4 Players, System 16A, FD1094 317-0071)", GAME_SUPPORTS_SAVE )
+GAME( 1987, sdi, 0, system16a_fd1089b_no7751, sdi, segas16a_state,sdi, ROT0, "Sega", "SDI - Strategic Defense Initiative (Japan, old, System 16A, FD1089B 317-0027)", GAME_SUPPORTS_SAVE )
+GAME( 1987, shinobi, 0, system16a, shinobi, segas16a_state,generic, ROT0, "Sega", "Shinobi (set 6, System 16A, unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1987, shinobi1, shinobi, system16a_fd1094, shinobi, segas16a_state,generic, ROT0, "Sega", "Shinobi (set 1, System 16A, FD1094 317-0050)", GAME_SUPPORTS_SAVE )
+GAME( 1987, shinobls, shinobi, system16a, shinobi, segas16a_state,generic, ROT0, "bootleg (Star)", "Shinobi (Star bootleg, System 16A)", GAME_SUPPORTS_SAVE )
+GAME( 1987, shinoblb, shinobi, system16a, shinobi, segas16a_state,generic, ROT0, "bootleg (Beta)", "Shinobi (Beta bootleg)", GAME_SUPPORTS_SAVE ) // should have different sound hw? using original ATM
+GAME( 1987, sjryuko1, sjryuko, system16a_fd1089b, sjryuko, segas16a_state,sjryukoa, ROT0, "White Board", "Sukeban Jansi Ryuko (set 1, System 16A, FD1089B 317-5021)", GAME_SUPPORTS_SAVE )
+GAME( 1988, tetris, 0, system16a_fd1094_no7751, tetris, segas16a_state,generic, ROT0, "Sega", "Tetris (set 4, Japan, System 16A, FD1094 317-0093)", GAME_SUPPORTS_SAVE )
+GAME( 1988, tetris3, tetris, system16a_fd1094_no7751, tetris, segas16a_state,generic, ROT0, "Sega", "Tetris (set 3, Japan, System 16A, FD1094 317-0093a)", GAME_SUPPORTS_SAVE )
+GAME( 1987, timescan1, timescan, system16a_fd1089b, timescan, segas16a_state,generic, ROT270, "Sega", "Time Scanner (set 1, System 16A, FD1089B 317-0024)", GAME_SUPPORTS_SAVE )
+GAME( 1988, wb31, wb3, system16a_fd1094_no7751, wb3, segas16a_state,generic, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 1, System 16A, FD1094 317-0084)", GAME_SUPPORTS_SAVE )
+GAME( 1988, wb35, wb3, system16a_fd1089a_no7751, wb3, segas16a_state,generic, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 5, System 16A, FD1089A 317-xxxx, bad dump?)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1988, wb35a, wb3, system16a_fd1089a_no7751, wb3, segas16a_state,generic, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 6, System 16A, FD1089A 317-xxxx)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/segas16b.c b/src/mame/drivers/segas16b.c
index f1faa96165e..64e51949e39 100644
--- a/src/mame/drivers/segas16b.c
+++ b/src/mame/drivers/segas16b.c
@@ -898,8 +898,6 @@ CPU - 317-0092 |--------------------------------------------------------------
***************************************************************************/
-#define MODERN_DRIVER_INIT
-
#include "emu.h"
#include "includes/segas16b.h"
#include "machine/segaic16.h"
@@ -6409,12 +6407,12 @@ void segas16b_state::init_generic(segas16b_rom_board rom_board)
// initialization
//-------------------------------------------------
-void segas16b_state::init_generic_5358_small() { init_generic(ROM_BOARD_171_5358_SMALL); }
-void segas16b_state::init_generic_5358() { init_generic(ROM_BOARD_171_5358); }
-void segas16b_state::init_generic_5521() { init_generic(ROM_BOARD_171_5521); }
-void segas16b_state::init_generic_5704() { init_generic(ROM_BOARD_171_5704); }
-void segas16b_state::init_generic_5797() { init_generic(ROM_BOARD_171_5797); }
-void segas16b_state::init_generic_korean()
+DRIVER_INIT_MEMBER(segas16b_state,generic_5358_small) { init_generic(ROM_BOARD_171_5358_SMALL); }
+DRIVER_INIT_MEMBER(segas16b_state,generic_5358) { init_generic(ROM_BOARD_171_5358); }
+DRIVER_INIT_MEMBER(segas16b_state,generic_5521) { init_generic(ROM_BOARD_171_5521); }
+DRIVER_INIT_MEMBER(segas16b_state,generic_5704) { init_generic(ROM_BOARD_171_5704); }
+DRIVER_INIT_MEMBER(segas16b_state,generic_5797) { init_generic(ROM_BOARD_171_5797); }
+DRIVER_INIT_MEMBER(segas16b_state,generic_korean)
{
init_generic(ROM_BOARD_KOREAN);
@@ -6433,56 +6431,56 @@ void segas16b_state::init_generic_korean()
// init_* - game-specific initialization
//-------------------------------------------------
-void segas16b_state::init_aceattac_5358()
+DRIVER_INIT_MEMBER(segas16b_state,aceattac_5358)
{
init_generic_5358();
m_custom_io_r = read16_delegate(FUNC(segas16b_state::aceattac_custom_io_r), this);
}
-void segas16b_state::init_altbeast_5521()
+DRIVER_INIT_MEMBER(segas16b_state,altbeast_5521)
{
init_generic_5521();
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segas16b_state::altbeast_i8751_sim), this);
}
-void segas16b_state::init_altbeasj_5521()
+DRIVER_INIT_MEMBER(segas16b_state,altbeasj_5521)
{
init_generic_5521();
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segas16b_state::altbeasj_i8751_sim), this);
}
-void segas16b_state::init_altbeas5_5521()
+DRIVER_INIT_MEMBER(segas16b_state,altbeas5_5521)
{
init_generic_5521();
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segas16b_state::altbeas5_i8751_sim), this);
}
-void segas16b_state::init_altbeas4_5521()
+DRIVER_INIT_MEMBER(segas16b_state,altbeas4_5521)
{
init_generic_5521();
mc8123_decrypt_rom(machine(), "soundcpu", "mcu", NULL, 0);
}
-void segas16b_state::init_ddux_5704()
+DRIVER_INIT_MEMBER(segas16b_state,ddux_5704)
{
init_generic_5704();
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segas16b_state::ddux_i8751_sim), this);
}
-void segas16b_state::init_dunkshot_5358_small()
+DRIVER_INIT_MEMBER(segas16b_state,dunkshot_5358_small)
{
init_generic_5358_small();
m_custom_io_r = read16_delegate(FUNC(segas16b_state::dunkshot_custom_io_r), this);
m_tilemap_type = SEGAIC16_TILEMAP_16B_ALT;
}
-void segas16b_state::init_exctleag_5358()
+DRIVER_INIT_MEMBER(segas16b_state,exctleag_5358)
{
init_generic_5358();
m_custom_io_r = read16_delegate(FUNC(segas16b_state::sdi_custom_io_r), this);
}
-void segas16b_state::init_goldnaxe_5704()
+DRIVER_INIT_MEMBER(segas16b_state,goldnaxe_5704)
{
init_generic_5704();
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segas16b_state::goldnaxe_i8751_sim), this);
@@ -6492,7 +6490,7 @@ void segas16b_state::init_goldnaxe_5704()
m_i8751_initial_config = memory_control_5704;
}
-void segas16b_state::init_goldnaxe_5797()
+DRIVER_INIT_MEMBER(segas16b_state,goldnaxe_5797)
{
init_generic_5797();
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segas16b_state::goldnaxe_i8751_sim), this);
@@ -6502,44 +6500,44 @@ void segas16b_state::init_goldnaxe_5797()
m_i8751_initial_config = memory_control_5797;
}
-void segas16b_state::init_hwchamp_5521()
+DRIVER_INIT_MEMBER(segas16b_state,hwchamp_5521)
{
init_generic_5521();
m_custom_io_r = read16_delegate(FUNC(segas16b_state::hwchamp_custom_io_r), this);
m_custom_io_w = write16_delegate(FUNC(segas16b_state::hwchamp_custom_io_w), this);
}
-void segas16b_state::init_passshtj_5358()
+DRIVER_INIT_MEMBER(segas16b_state,passshtj_5358)
{
init_generic_5358();
m_custom_io_r = read16_delegate(FUNC(segas16b_state::passshtj_custom_io_r), this);
}
-void segas16b_state::init_sdi_5358_small()
+DRIVER_INIT_MEMBER(segas16b_state,sdi_5358_small)
{
init_generic_5358_small();
m_custom_io_r = read16_delegate(FUNC(segas16b_state::sdi_custom_io_r), this);
}
-void segas16b_state::init_defense_5358_small()
+DRIVER_INIT_MEMBER(segas16b_state,defense_5358_small)
{
init_generic_5358_small();
m_custom_io_r = read16_delegate(FUNC(segas16b_state::sdi_custom_io_r), this);
}
-void segas16b_state::init_shinobi4_5521()
+DRIVER_INIT_MEMBER(segas16b_state,shinobi4_5521)
{
init_generic_5521();
mc8123_decrypt_rom(machine(), "soundcpu", "mcu", NULL, 0);
}
-void segas16b_state::init_shinobi3_5358()
+DRIVER_INIT_MEMBER(segas16b_state,shinobi3_5358)
{
init_generic_5358();
mc8123_decrypt_rom(machine(), "soundcpu", "mcu", NULL, 0);
}
-void segas16b_state::init_sjryuko_5358_small()
+DRIVER_INIT_MEMBER(segas16b_state,sjryuko_5358_small)
{
init_generic_5358_small();
m_custom_io_r = read16_delegate(FUNC(segas16b_state::sjryuko_custom_io_r), this);
@@ -6547,24 +6545,24 @@ void segas16b_state::init_sjryuko_5358_small()
m_tilemap_type = SEGAIC16_TILEMAP_16B_ALT;
}
-void segas16b_state::init_timescan_5358_small()
+DRIVER_INIT_MEMBER(segas16b_state,timescan_5358_small)
{
init_generic_5358_small();
m_tilemap_type = SEGAIC16_TILEMAP_16B_ALT;
}
-void segas16b_state::init_tturf_5704()
+DRIVER_INIT_MEMBER(segas16b_state,tturf_5704)
{
init_generic_5704();
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segas16b_state::tturf_i8751_sim), this);
}
-void segas16b_state::init_wb3_5704()
+DRIVER_INIT_MEMBER(segas16b_state,wb3_5704)
{
init_generic_5704();
m_i8751_vblank_hook = i8751_sim_delegate(FUNC(segas16b_state::wb3_i8751_sim), this);
}
-void segas16b_state::init_snapper()
+DRIVER_INIT_MEMBER(segas16b_state,snapper)
{
init_generic_korean();
m_atomicp_sound_divisor = 4;
@@ -6577,113 +6575,113 @@ void segas16b_state::init_snapper()
//**************************************************************************
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1988, aceattac, 0, system16b_fd1094, aceattac, segas16b_state,init_aceattac_5358, ROT0, "Sega", "Ace Attacker (FD1094 317-0059)", GAME_NOT_WORKING )
+GAME( 1988, aceattac, 0, system16b_fd1094, aceattac, segas16b_state,aceattac_5358, ROT0, "Sega", "Ace Attacker (FD1094 317-0059)", GAME_NOT_WORKING )
-GAME( 1987, aliensyn, 0, system16b, aliensyn, segas16b_state,init_generic_5358_small, ROT0, "Sega", "Alien Syndrome (set 4, System 16B, unprotected)", 0 )
-GAME( 1987, aliensyn3, aliensyn, system16b_fd1089a, aliensyn, segas16b_state,init_generic_5358_small, ROT0, "Sega", "Alien Syndrome (set 3, System 16B, FD1089A 317-0033)", 0 )
-GAME( 1987, aliensynj, aliensyn, system16b_fd1089a, aliensynj,segas16b_state,init_generic_5358_small, ROT0, "Sega", "Alien Syndrome (set 6, Japan, new, System 16B, FD1089A 317-0033)", 0 )
+GAME( 1987, aliensyn, 0, system16b, aliensyn, segas16b_state,generic_5358_small, ROT0, "Sega", "Alien Syndrome (set 4, System 16B, unprotected)", 0 )
+GAME( 1987, aliensyn3, aliensyn, system16b_fd1089a, aliensyn, segas16b_state,generic_5358_small, ROT0, "Sega", "Alien Syndrome (set 3, System 16B, FD1089A 317-0033)", 0 )
+GAME( 1987, aliensynj, aliensyn, system16b_fd1089a, aliensynj,segas16b_state,generic_5358_small, ROT0, "Sega", "Alien Syndrome (set 6, Japan, new, System 16B, FD1089A 317-0033)", 0 )
-GAME( 1988, altbeast, 0, system16b_i8751, altbeast, segas16b_state,init_altbeast_5521, ROT0, "Sega", "Altered Beast (set 8, 8751 317-0078)", 0 )
-GAME( 1988, altbeastj, altbeast, system16b_i8751, altbeast, segas16b_state,init_altbeasj_5521, ROT0, "Sega", "Juuouki (set 7, Japan, 8751 317-0077)", 0 )
-GAME( 1988, altbeast6, altbeast, system16b_i8751, altbeast, segas16b_state,init_altbeas5_5521, ROT0, "Sega", "Altered Beast (set 6, 8751 317-0076)", 0 )
-GAME( 1988, altbeast5, altbeast, system16b_fd1094, altbeast, segas16b_state,init_generic_5521, ROT0, "Sega", "Altered Beast (set 5, FD1094 317-0069)", 0 )
-GAME( 1988, altbeast4, altbeast, system16b, altbeast, segas16b_state,init_altbeas4_5521, ROT0, "Sega", "Altered Beast (set 4, MC-8123B 317-0066)", 0 )
-GAME( 1988, altbeastj3, altbeast, system16b_fd1094, altbeast, segas16b_state,init_generic_5521, ROT0, "Sega", "Juuouki (set 3, Japan, FD1094 317-0068)", 0 )
-GAME( 1988, altbeast2, altbeast, system16b, altbeast, segas16b_state,init_altbeas4_5521, ROT0, "Sega", "Altered Beast (set 2, MC-8123B 317-0066)", 0 )
-GAME( 1988, altbeastj1, altbeast, system16b_fd1094, altbeast, segas16b_state,init_generic_5521, ROT0, "Sega", "Juuouki (set 1, Japan, FD1094 317-0065)", GAME_NOT_WORKING ) // No CPU decrypt key
+GAME( 1988, altbeast, 0, system16b_i8751, altbeast, segas16b_state,altbeast_5521, ROT0, "Sega", "Altered Beast (set 8, 8751 317-0078)", 0 )
+GAME( 1988, altbeastj, altbeast, system16b_i8751, altbeast, segas16b_state,altbeasj_5521, ROT0, "Sega", "Juuouki (set 7, Japan, 8751 317-0077)", 0 )
+GAME( 1988, altbeast6, altbeast, system16b_i8751, altbeast, segas16b_state,altbeas5_5521, ROT0, "Sega", "Altered Beast (set 6, 8751 317-0076)", 0 )
+GAME( 1988, altbeast5, altbeast, system16b_fd1094, altbeast, segas16b_state,generic_5521, ROT0, "Sega", "Altered Beast (set 5, FD1094 317-0069)", 0 )
+GAME( 1988, altbeast4, altbeast, system16b, altbeast, segas16b_state,altbeas4_5521, ROT0, "Sega", "Altered Beast (set 4, MC-8123B 317-0066)", 0 )
+GAME( 1988, altbeastj3, altbeast, system16b_fd1094, altbeast, segas16b_state,generic_5521, ROT0, "Sega", "Juuouki (set 3, Japan, FD1094 317-0068)", 0 )
+GAME( 1988, altbeast2, altbeast, system16b, altbeast, segas16b_state,altbeas4_5521, ROT0, "Sega", "Altered Beast (set 2, MC-8123B 317-0066)", 0 )
+GAME( 1988, altbeastj1, altbeast, system16b_fd1094, altbeast, segas16b_state,generic_5521, ROT0, "Sega", "Juuouki (set 1, Japan, FD1094 317-0065)", GAME_NOT_WORKING ) // No CPU decrypt key
-GAME( 1990, aurail, 0, system16b, aurail, segas16b_state,init_generic_5704, ROT0, "Sega / Westone", "Aurail (set 3, US, unprotected)", 0 )
-GAME( 1990, aurail1, aurail, system16b_fd1089b, aurail, segas16b_state,init_generic_5704, ROT0, "Sega / Westone", "Aurail (set 2, World, FD1089B 317-0168)", 0 )
-GAME( 1990, aurailj, aurail, system16b_fd1089a, aurail, segas16b_state,init_generic_5704, ROT0, "Sega / Westone", "Aurail (set 1, Japan, FD1089A 317-0167)", 0 )
+GAME( 1990, aurail, 0, system16b, aurail, segas16b_state,generic_5704, ROT0, "Sega / Westone", "Aurail (set 3, US, unprotected)", 0 )
+GAME( 1990, aurail1, aurail, system16b_fd1089b, aurail, segas16b_state,generic_5704, ROT0, "Sega / Westone", "Aurail (set 2, World, FD1089B 317-0168)", 0 )
+GAME( 1990, aurailj, aurail, system16b_fd1089a, aurail, segas16b_state,generic_5704, ROT0, "Sega / Westone", "Aurail (set 1, Japan, FD1089A 317-0167)", 0 )
-GAME( 1989, bayroute, 0, system16b_fd1094, bayroute, segas16b_state,init_generic_5704, ROT0, "Sunsoft / Sega", "Bay Route (set 3, World, FD1094 317-0116)", 0 )
-GAME( 1989, bayroutej, bayroute, system16b_fd1094, bayroute, segas16b_state,init_generic_5704, ROT0, "Sunsoft / Sega", "Bay Route (set 2, Japan, FD1094 317-0115)", 0 )
-GAME( 1989, bayroute1, bayroute, system16b, bayroute, segas16b_state,init_generic_5358, ROT0, "Sunsoft / Sega", "Bay Route (set 1, US, unprotected)", 0 )
+GAME( 1989, bayroute, 0, system16b_fd1094, bayroute, segas16b_state,generic_5704, ROT0, "Sunsoft / Sega", "Bay Route (set 3, World, FD1094 317-0116)", 0 )
+GAME( 1989, bayroutej, bayroute, system16b_fd1094, bayroute, segas16b_state,generic_5704, ROT0, "Sunsoft / Sega", "Bay Route (set 2, Japan, FD1094 317-0115)", 0 )
+GAME( 1989, bayroute1, bayroute, system16b, bayroute, segas16b_state,generic_5358, ROT0, "Sunsoft / Sega", "Bay Route (set 1, US, unprotected)", 0 )
-GAME( 1987, bullet, 0, system16b_fd1094, bullet, segas16b_state,init_generic_5358_small, ROT0, "Sega", "Bullet (FD1094 317-0041)", 0 )
+GAME( 1987, bullet, 0, system16b_fd1094, bullet, segas16b_state,generic_5358_small, ROT0, "Sega", "Bullet (FD1094 317-0041)", 0 )
// Charon
-GAME( 1991, cotton, 0, system16b_fd1094, cotton, segas16b_state,init_generic_5704, ROT0, "Sega / Success", "Cotton (set 3, World, FD1094 317-0181a)", 0 )
-GAME( 1991, cottonu, cotton, system16b_fd1094, cotton, segas16b_state,init_generic_5704, ROT0, "Sega / Success", "Cotton (set 2, US, FD1094 317-0180)", 0 )
-GAME( 1991, cottonj, cotton, system16b_fd1094, cotton, segas16b_state,init_generic_5704, ROT0, "Sega / Success", "Cotton (set 1, Japan, FD1094 317-0179a)", 0 )
+GAME( 1991, cotton, 0, system16b_fd1094, cotton, segas16b_state,generic_5704, ROT0, "Sega / Success", "Cotton (set 3, World, FD1094 317-0181a)", 0 )
+GAME( 1991, cottonu, cotton, system16b_fd1094, cotton, segas16b_state,generic_5704, ROT0, "Sega / Success", "Cotton (set 2, US, FD1094 317-0180)", 0 )
+GAME( 1991, cottonj, cotton, system16b_fd1094, cotton, segas16b_state,generic_5704, ROT0, "Sega / Success", "Cotton (set 1, Japan, FD1094 317-0179a)", 0 )
-GAME( 1988, ddux, 0, system16b_fd1094, ddux, segas16b_state,init_generic_5521, ROT0, "Sega", "Dynamite Dux (set 2, FD1094 317-0096)", 0 )
-GAME( 1988, ddux1, ddux, system16b_i8751, ddux, segas16b_state,init_ddux_5704, ROT0, "Sega", "Dynamite Dux (set 1, 8751 317-0095)", 0 )
+GAME( 1988, ddux, 0, system16b_fd1094, ddux, segas16b_state,generic_5521, ROT0, "Sega", "Dynamite Dux (set 2, FD1094 317-0096)", 0 )
+GAME( 1988, ddux1, ddux, system16b_i8751, ddux, segas16b_state,ddux_5704, ROT0, "Sega", "Dynamite Dux (set 1, 8751 317-0095)", 0 )
-GAME( 1986, dunkshot, 0, system16b_fd1089a, dunkshot, segas16b_state,init_dunkshot_5358_small,ROT0, "Sega", "Dunk Shot (FD1089A 317-0022)", 0 )
+GAME( 1986, dunkshot, 0, system16b_fd1089a, dunkshot, segas16b_state,dunkshot_5358_small,ROT0, "Sega", "Dunk Shot (FD1089A 317-0022)", 0 )
-GAME( 1989, eswat, 0, system16b_fd1094_5797,eswat, segas16b_state,init_generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 3, World, FD1094 317-0130)", 0 )
-GAME( 1989, eswatu, eswat, system16b_fd1094_5797,eswat, segas16b_state,init_generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 2, US, FD1094 317-0129)", 0 )
-GAME( 1989, eswatj, eswat, system16b_fd1094_5797,eswat, segas16b_state,init_generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 1, Japan, FD1094 317-0128)", 0 )
+GAME( 1989, eswat, 0, system16b_fd1094_5797,eswat, segas16b_state,generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 3, World, FD1094 317-0130)", 0 )
+GAME( 1989, eswatu, eswat, system16b_fd1094_5797,eswat, segas16b_state,generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 2, US, FD1094 317-0129)", 0 )
+GAME( 1989, eswatj, eswat, system16b_fd1094_5797,eswat, segas16b_state,generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 1, Japan, FD1094 317-0128)", 0 )
-GAME( 1988, exctleag, 0, system16b_fd1094, exctleag, segas16b_state,init_exctleag_5358, ROT0, "Sega", "Excite League (FD1094 317-0079)", 0 )
+GAME( 1988, exctleag, 0, system16b_fd1094, exctleag, segas16b_state,exctleag_5358, ROT0, "Sega", "Excite League (FD1094 317-0079)", 0 )
-GAME( 1989, fpoint, 0, system16b_fd1094, fpoint, segas16b_state,init_generic_5358, ROT0, "Sega", "Flash Point (set 2, Japan, FD1094 317-0127A)", 0 )
-GAME( 1989, fpoint1, fpoint, system16b_fd1094, fpoint, segas16b_state,init_generic_5704, ROT0, "Sega", "Flash Point (set 1, Japan, FD1094 317-0127A)", 0 )
+GAME( 1989, fpoint, 0, system16b_fd1094, fpoint, segas16b_state,generic_5358, ROT0, "Sega", "Flash Point (set 2, Japan, FD1094 317-0127A)", 0 )
+GAME( 1989, fpoint1, fpoint, system16b_fd1094, fpoint, segas16b_state,generic_5704, ROT0, "Sega", "Flash Point (set 1, Japan, FD1094 317-0127A)", 0 )
-GAME( 1989, goldnaxe, 0, system16b_i8751_5797,goldnaxe, segas16b_state,init_goldnaxe_5797, ROT0, "Sega", "Golden Axe (set 6, US, 8751 317-123A)", 0 )
-GAME( 1989, goldnaxeu, goldnaxe, system16b_fd1094_5797,goldnaxe,segas16b_state,init_generic_5797, ROT0, "Sega", "Golden Axe (set 5, US, FD1094 317-0122)", 0 )
-GAME( 1989, goldnaxej, goldnaxe, system16b_fd1094, goldnaxe, segas16b_state,init_generic_5704, ROT0, "Sega", "Golden Axe (set 4, Japan, FD1094 317-0121)", 0 )
-GAME( 1989, goldnaxe3, goldnaxe, system16b_fd1094, goldnaxe, segas16b_state,init_generic_5704, ROT0, "Sega", "Golden Axe (set 3, World, FD1094 317-0120)", 0)
-GAME( 1989, goldnaxe2, goldnaxe, system16b_i8751, goldnaxe, segas16b_state,init_goldnaxe_5704, ROT0, "Sega", "Golden Axe (set 2, US, 8751 317-0112)", 0 )
-GAME( 1989, goldnaxe1, goldnaxe, system16b_fd1094_5797,goldnaxe,segas16b_state,init_generic_5797, ROT0, "Sega", "Golden Axe (set 1, World, FD1094 317-0110)", 0 )
+GAME( 1989, goldnaxe, 0, system16b_i8751_5797,goldnaxe, segas16b_state,goldnaxe_5797, ROT0, "Sega", "Golden Axe (set 6, US, 8751 317-123A)", 0 )
+GAME( 1989, goldnaxeu, goldnaxe, system16b_fd1094_5797,goldnaxe,segas16b_state,generic_5797, ROT0, "Sega", "Golden Axe (set 5, US, FD1094 317-0122)", 0 )
+GAME( 1989, goldnaxej, goldnaxe, system16b_fd1094, goldnaxe, segas16b_state,generic_5704, ROT0, "Sega", "Golden Axe (set 4, Japan, FD1094 317-0121)", 0 )
+GAME( 1989, goldnaxe3, goldnaxe, system16b_fd1094, goldnaxe, segas16b_state,generic_5704, ROT0, "Sega", "Golden Axe (set 3, World, FD1094 317-0120)", 0)
+GAME( 1989, goldnaxe2, goldnaxe, system16b_i8751, goldnaxe, segas16b_state,goldnaxe_5704, ROT0, "Sega", "Golden Axe (set 2, US, 8751 317-0112)", 0 )
+GAME( 1989, goldnaxe1, goldnaxe, system16b_fd1094_5797,goldnaxe,segas16b_state,generic_5797, ROT0, "Sega", "Golden Axe (set 1, World, FD1094 317-0110)", 0 )
-GAME( 1987, hwchamp, 0, system16b, hwchamp, segas16b_state,init_hwchamp_5521, ROT0, "Sega", "Heavyweight Champ", 0 )
-GAME( 1987, hwchampj, hwchamp, system16b_fd1094, hwchamp, segas16b_state,init_hwchamp_5521, ROT0, "Sega", "Heavyweight Champ (Japan, FD1094 317-0046)", 0 )
+GAME( 1987, hwchamp, 0, system16b, hwchamp, segas16b_state,hwchamp_5521, ROT0, "Sega", "Heavyweight Champ", 0 )
+GAME( 1987, hwchampj, hwchamp, system16b_fd1094, hwchamp, segas16b_state,hwchamp_5521, ROT0, "Sega", "Heavyweight Champ (Japan, FD1094 317-0046)", 0 )
-GAME( 1989, mvp, 0, system16b_fd1094_5797,mvp, segas16b_state,init_generic_5797, ROT0, "Sega", "MVP (set 2, US, FD1094 317-0143)", 0 )
-GAME( 1989, mvpj, mvp, system16b_fd1094, mvp, segas16b_state,init_generic_5704, ROT0, "Sega", "MVP (set 1, Japan, FD1094 317-0142)", 0 )
+GAME( 1989, mvp, 0, system16b_fd1094_5797,mvp, segas16b_state,generic_5797, ROT0, "Sega", "MVP (set 2, US, FD1094 317-0143)", 0 )
+GAME( 1989, mvpj, mvp, system16b_fd1094, mvp, segas16b_state,generic_5704, ROT0, "Sega", "MVP (set 1, Japan, FD1094 317-0142)", 0 )
-GAME( 1988, passsht, 0, system16b_fd1094, passsht, segas16b_state,init_generic_5358, ROT270, "Sega", "Passing Shot (World, 2 Players, FD1094 317-0080)", 0 )
-GAME( 1988, passshta, passsht, system16b_fd1094, passshtj, segas16b_state,init_passshtj_5358, ROT270, "Sega", "Passing Shot (World, 4 Players, FD1094 317-0074)", 0 )
-GAME( 1988, passshtj, passsht, system16b_fd1094, passshtj, segas16b_state,init_passshtj_5358, ROT270, "Sega", "Passing Shot (Japan, 4 Players, FD1094 317-0070)", 0 )
+GAME( 1988, passsht, 0, system16b_fd1094, passsht, segas16b_state,generic_5358, ROT270, "Sega", "Passing Shot (World, 2 Players, FD1094 317-0080)", 0 )
+GAME( 1988, passshta, passsht, system16b_fd1094, passshtj, segas16b_state,passshtj_5358, ROT270, "Sega", "Passing Shot (World, 4 Players, FD1094 317-0074)", 0 )
+GAME( 1988, passshtj, passsht, system16b_fd1094, passshtj, segas16b_state,passshtj_5358, ROT270, "Sega", "Passing Shot (Japan, 4 Players, FD1094 317-0070)", 0 )
-GAME( 1991, riotcity, 0, system16b, riotcity, segas16b_state,init_generic_5704, ROT0, "Sega / Westone", "Riot City (Japan)", 0 )
+GAME( 1991, riotcity, 0, system16b, riotcity, segas16b_state,generic_5704, ROT0, "Sega / Westone", "Riot City (Japan)", 0 )
-GAME( 1990, ryukyu, 0, system16b_fd1094, ryukyu, segas16b_state,init_generic_5704, ROT0, "Success / Sega", "RyuKyu (Japan, FD1094 317-5023)", 0 )
+GAME( 1990, ryukyu, 0, system16b_fd1094, ryukyu, segas16b_state,generic_5704, ROT0, "Success / Sega", "RyuKyu (Japan, FD1094 317-5023)", 0 )
-GAME( 1987, defense, sdi, system16b_fd1089a, sdi, segas16b_state,init_defense_5358_small, ROT0, "Sega", "Defense (System 16B, FD1089A 317-0028)", 0 )
-GAME( 1987, sdib, sdi, system16b_fd1089a, sdi, segas16b_state,init_defense_5358_small, ROT0, "Sega", "SDI - Strategic Defense Initiative (System 16B, FD1089A 317-0028)", 0 )
-GAME( 1987, sdibl, sdi, system16b, sdi, segas16b_state,init_sdi_5358_small, ROT0, "bootleg", "SDI - Strategic Defense Initiative (bootleg)", 0 )
+GAME( 1987, defense, sdi, system16b_fd1089a, sdi, segas16b_state,defense_5358_small, ROT0, "Sega", "Defense (System 16B, FD1089A 317-0028)", 0 )
+GAME( 1987, sdib, sdi, system16b_fd1089a, sdi, segas16b_state,defense_5358_small, ROT0, "Sega", "SDI - Strategic Defense Initiative (System 16B, FD1089A 317-0028)", 0 )
+GAME( 1987, sdibl, sdi, system16b, sdi, segas16b_state,sdi_5358_small, ROT0, "bootleg", "SDI - Strategic Defense Initiative (bootleg)", 0 )
-GAME( 1987, shinobi5, shinobi, system16b, shinobi, segas16b_state,init_generic_5521, ROT0, "Sega", "Shinobi (set 5, System 16B, unprotected)", 0 )
-GAME( 1987, shinobi4, shinobi, system16b, shinobi, segas16b_state,init_shinobi4_5521, ROT0, "Sega", "Shinobi (set 4, System 16B, MC-8123B 317-0054)", 0 )
-GAME( 1987, shinobi3, shinobi, system16b, shinobi, segas16b_state,init_shinobi3_5358, ROT0, "Sega", "Shinobi (set 3, System 16B, MC-8123B 317-0054)", 0 )
-GAME( 1987, shinobi2, shinobi, system16b_fd1094, shinobi, segas16b_state,init_generic_5358, ROT0, "Sega", "Shinobi (set 2, System 16B, FD1094 317-0049)", 0 )
+GAME( 1987, shinobi5, shinobi, system16b, shinobi, segas16b_state,generic_5521, ROT0, "Sega", "Shinobi (set 5, System 16B, unprotected)", 0 )
+GAME( 1987, shinobi4, shinobi, system16b, shinobi, segas16b_state,shinobi4_5521, ROT0, "Sega", "Shinobi (set 4, System 16B, MC-8123B 317-0054)", 0 )
+GAME( 1987, shinobi3, shinobi, system16b, shinobi, segas16b_state,shinobi3_5358, ROT0, "Sega", "Shinobi (set 3, System 16B, MC-8123B 317-0054)", 0 )
+GAME( 1987, shinobi2, shinobi, system16b_fd1094, shinobi, segas16b_state,generic_5358, ROT0, "Sega", "Shinobi (set 2, System 16B, FD1094 317-0049)", 0 )
-GAME( 1987, sonicbom, 0, system16b_fd1094, sonicbom, segas16b_state,init_generic_5358, ROT270, "Sega", "Sonic Boom (FD1094 317-0053)", 0 )
+GAME( 1987, sonicbom, 0, system16b_fd1094, sonicbom, segas16b_state,generic_5358, ROT270, "Sega", "Sonic Boom (FD1094 317-0053)", 0 )
-GAME( 1988, sjryuko, 0, system16b_fd1089b, sjryuko, segas16b_state,init_sjryuko_5358_small, ROT0, "White Board", "Sukeban Jansi Ryuko (set 2, System 16B, FD1089B 317-5021)", 0 )
+GAME( 1988, sjryuko, 0, system16b_fd1089b, sjryuko, segas16b_state,sjryuko_5358_small, ROT0, "White Board", "Sukeban Jansi Ryuko (set 2, System 16B, FD1089B 317-5021)", 0 )
-GAME( 1987, suprleag, 0, system16b_fd1094, exctleag, segas16b_state,init_exctleag_5358, ROT0, "Sega", "Super League (FD1094 317-0045)", 0 )
+GAME( 1987, suprleag, 0, system16b_fd1094, exctleag, segas16b_state,exctleag_5358, ROT0, "Sega", "Super League (FD1094 317-0045)", 0 )
-GAME( 1988, tetris2, tetris, system16b_fd1094, tetris, segas16b_state,init_generic_5704, ROT0, "Sega", "Tetris (set 2, Japan, System 16B, FD1094 317-0092)", 0 )
-GAME( 1988, tetris1, tetris, system16b_fd1094, tetris, segas16b_state,init_generic_5358_small, ROT0, "Sega", "Tetris (set 1, Japan, System 16B, FD1094 317-0091)", 0 )
+GAME( 1988, tetris2, tetris, system16b_fd1094, tetris, segas16b_state,generic_5704, ROT0, "Sega", "Tetris (set 2, Japan, System 16B, FD1094 317-0092)", 0 )
+GAME( 1988, tetris1, tetris, system16b_fd1094, tetris, segas16b_state,generic_5358_small, ROT0, "Sega", "Tetris (set 1, Japan, System 16B, FD1094 317-0091)", 0 )
-GAME( 1987, timescan, 0, system16b, timescan, segas16b_state,init_timescan_5358_small, ROT270, "Sega", "Time Scanner (set 2, System 16B)", 0 )
+GAME( 1987, timescan, 0, system16b, timescan, segas16b_state,timescan_5358_small, ROT270, "Sega", "Time Scanner (set 2, System 16B)", 0 )
-GAME( 1994, toryumon, 0, system16b_5797, toryumon, segas16b_state,init_generic_5797, ROT0, "Sega", "Toryumon", 0 )
+GAME( 1994, toryumon, 0, system16b_5797, toryumon, segas16b_state,generic_5797, ROT0, "Sega", "Toryumon", 0 )
-GAME( 1989, tturf, 0, system16b_i8751, tturf, segas16b_state,init_tturf_5704, ROT0, "Sega / Sunsoft", "Tough Turf (set 2, Japan, 8751 317-0104)", GAME_NO_SOUND ) // due to missing ROM only
-GAME( 1989, tturfu, tturf, system16b_i8751, tturf, segas16b_state,init_generic_5358, ROT0, "Sega / Sunsoft", "Tough Turf (set 1, US, 8751 317-0099)", 0)
+GAME( 1989, tturf, 0, system16b_i8751, tturf, segas16b_state,tturf_5704, ROT0, "Sega / Sunsoft", "Tough Turf (set 2, Japan, 8751 317-0104)", GAME_NO_SOUND ) // due to missing ROM only
+GAME( 1989, tturfu, tturf, system16b_i8751, tturf, segas16b_state,generic_5358, ROT0, "Sega / Sunsoft", "Tough Turf (set 1, US, 8751 317-0099)", 0)
-GAME( 1988, wb3, 0, system16b_i8751, wb3, segas16b_state,init_wb3_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 5, World, System 16B, 8751 317-0098)", 0 )
-GAME( 1988, wb34, wb3, system16b_fd1094, wb3, segas16b_state,init_generic_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 4, Japan, System 16B, FD1094 317-0087)", 0 )
-GAME( 1988, wb33, wb3, system16b_fd1094, wb3, segas16b_state,init_generic_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 3, World, System 16B, FD1094 317-0089)", 0 )
-GAME( 1988, wb32, wb3, system16b_fd1094, wb3, segas16b_state,init_generic_5358, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 2, Japan, System 16B, FD1094 317-0085)", 0 )
+GAME( 1988, wb3, 0, system16b_i8751, wb3, segas16b_state,wb3_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 5, World, System 16B, 8751 317-0098)", 0 )
+GAME( 1988, wb34, wb3, system16b_fd1094, wb3, segas16b_state,generic_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 4, Japan, System 16B, FD1094 317-0087)", 0 )
+GAME( 1988, wb33, wb3, system16b_fd1094, wb3, segas16b_state,generic_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 3, World, System 16B, FD1094 317-0089)", 0 )
+GAME( 1988, wb32, wb3, system16b_fd1094, wb3, segas16b_state,generic_5358, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 2, Japan, System 16B, FD1094 317-0085)", 0 )
-GAME( 1989, wrestwar, 0, system16b_i8751, wrestwar, segas16b_state,init_generic_5704, ROT270, "Sega", "Wrestle War (set 3, World, 8751 317-0103)", 0 )
-GAME( 1989, wrestwar2, wrestwar, system16b_fd1094, wrestwar, segas16b_state,init_generic_5704, ROT270, "Sega", "Wrestle War (set 2, World, FD1094 317-0102)", 0 )
-GAME( 1989, wrestwar1, wrestwar, system16b_fd1094, wrestwar, segas16b_state,init_generic_5704, ROT270, "Sega", "Wrestle War (set 1, Japan, FD1094 317-0090)", 0 )
+GAME( 1989, wrestwar, 0, system16b_i8751, wrestwar, segas16b_state,generic_5704, ROT270, "Sega", "Wrestle War (set 3, World, 8751 317-0103)", 0 )
+GAME( 1989, wrestwar2, wrestwar, system16b_fd1094, wrestwar, segas16b_state,generic_5704, ROT270, "Sega", "Wrestle War (set 2, World, FD1094 317-0102)", 0 )
+GAME( 1989, wrestwar1, wrestwar, system16b_fd1094, wrestwar, segas16b_state,generic_5704, ROT270, "Sega", "Wrestle War (set 1, Japan, FD1094 317-0090)", 0 )
// Extra RAM, dubbed by M2 as 'System 16C'
-GAME( 2008, fantzn2x, 0, system16c, fz2, segas16b_state,init_generic_5704, ROT0, "Sega / M2", "Fantasy Zone II - The Tears of Opa-Opa (System 16C version)", 0 ) // The 1987 copyright date shown ingame is false
-GAME( 2008, fantzn2xp, fantzn2x, system16c, fz2, segas16b_state,init_generic_5704, ROT0, "Sega / M2", "Fantasy Zone II - The Tears of Opa-Opa (System 16C version, prototype)", 0 ) // "
+GAME( 2008, fantzn2x, 0, system16c, fz2, segas16b_state,generic_5704, ROT0, "Sega / M2", "Fantasy Zone II - The Tears of Opa-Opa (System 16C version)", 0 ) // The 1987 copyright date shown ingame is false
+GAME( 2008, fantzn2xp, fantzn2x, system16c, fz2, segas16b_state,generic_5704, ROT0, "Sega / M2", "Fantasy Zone II - The Tears of Opa-Opa (System 16C version, prototype)", 0 ) // "
// Custom Korean Board - these probably belong with the bootlegs...
-GAME( 1990, atomicp, 0, atomicp, atomicp, segas16b_state,init_generic_korean, ROT0, "Philko", "Atomic Point (Korea)", 0) // korean clone board..
-GAME( 1990, snapper, 0, atomicp, snapper, segas16b_state,init_snapper, ROT0, "Philko", "Snapper (Korea)", 0) // korean clone board..
+GAME( 1990, atomicp, 0, atomicp, atomicp, segas16b_state,generic_korean, ROT0, "Philko", "Atomic Point (Korea)", 0) // korean clone board..
+GAME( 1990, snapper, 0, atomicp, snapper, segas16b_state,snapper, ROT0, "Philko", "Snapper (Korea)", 0) // korean clone board..
@@ -7127,7 +7125,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( isgsm, system16b, isgsm_state )
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
MACHINE_CONFIG_END
-void isgsm_state::init_isgsm()
+DRIVER_INIT_MEMBER(isgsm_state,isgsm)
{
init_generic_5521();
@@ -7139,7 +7137,7 @@ void isgsm_state::init_isgsm()
memcpy(rom, temp, 0x20000);
}
-void isgsm_state::init_shinfz()
+DRIVER_INIT_MEMBER(isgsm_state,shinfz)
{
init_isgsm();
@@ -7153,7 +7151,7 @@ void isgsm_state::init_shinfz()
m_security_callback = security_callback_delegate(FUNC(isgsm_state::shinfz_security), this);
}
-void isgsm_state::init_tetrbx()
+DRIVER_INIT_MEMBER(isgsm_state,tetrbx)
{
init_isgsm();
@@ -7200,8 +7198,8 @@ ROM_END
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS
-GAME( 2006, isgsm, 0, isgsm, isgsm, isgsm_state,init_isgsm, ROT0, "bootleg (ISG)", "ISG Selection Master Type 2006 BIOS", GAME_IS_BIOS_ROOT )
+GAME( 2006, isgsm, 0, isgsm, isgsm, isgsm_state,isgsm, ROT0, "bootleg (ISG)", "ISG Selection Master Type 2006 BIOS", GAME_IS_BIOS_ROOT )
/* 01 */ // ?? unknown
-/* 02 */ GAME( 2006, tetrbx, isgsm, isgsm, tetrbx, isgsm_state,init_tetrbx, ROT0, "bootleg (ISG)", "Tetris / Bloxeed (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 )
-/* 03 */ GAME( 2008, shinfz, isgsm, isgsm, shinfz, isgsm_state,init_shinfz, ROT0, "bootleg (ISG)", "Shinobi / FZ-2006 (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 ) // claims it's released in 2006, but set includes the PS2/S16 remake of Fantasy Zone II which is clearly from 2008
+/* 02 */ GAME( 2006, tetrbx, isgsm, isgsm, tetrbx, isgsm_state,tetrbx, ROT0, "bootleg (ISG)", "Tetris / Bloxeed (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 )
+/* 03 */ GAME( 2008, shinfz, isgsm, isgsm, shinfz, isgsm_state,shinfz, ROT0, "bootleg (ISG)", "Shinobi / FZ-2006 (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 ) // claims it's released in 2006, but set includes the PS2/S16 remake of Fantasy Zone II which is clearly from 2008
diff --git a/src/mame/drivers/segas18.c b/src/mame/drivers/segas18.c
index 6ec15ba5fa8..fe12200cbf8 100644
--- a/src/mame/drivers/segas18.c
+++ b/src/mame/drivers/segas18.c
@@ -58,8 +58,6 @@
***************************************************************************/
-#define MODERN_DRIVER_INIT
-
#include "emu.h"
#include "machine/segaic16.h"
#include "machine/nvram.h"
@@ -2191,17 +2189,17 @@ ROM_END
*
*************************************/
-void segas18_state::init_generic_shad()
+DRIVER_INIT_MEMBER(segas18_state,generic_shad)
{
init_generic(ROM_BOARD_171_SHADOW);
}
-void segas18_state::init_generic_5874()
+DRIVER_INIT_MEMBER(segas18_state,generic_5874)
{
init_generic(ROM_BOARD_171_5874);
}
-void segas18_state::init_generic_5987()
+DRIVER_INIT_MEMBER(segas18_state,generic_5987)
{
init_generic(ROM_BOARD_171_5987);
}
@@ -2214,13 +2212,13 @@ void segas18_state::init_generic_5987()
*
*************************************/
-void segas18_state::init_ddcrew()
+DRIVER_INIT_MEMBER(segas18_state,ddcrew)
{
init_generic_5987();
m_custom_io_r = read16_delegate(FUNC(segas18_state::ddcrew_custom_io_r), this);
}
-void segas18_state::init_lghost()
+DRIVER_INIT_MEMBER(segas18_state,lghost)
{
m_has_guns = true;
init_generic_5987();
@@ -2228,7 +2226,7 @@ void segas18_state::init_lghost()
m_custom_io_w = write16_delegate(FUNC(segas18_state::lghost_custom_io_w), this);
}
-void segas18_state::init_wwally()
+DRIVER_INIT_MEMBER(segas18_state,wwally)
{
init_generic_5987();
m_custom_io_r = read16_delegate(FUNC(segas18_state::wwally_custom_io_r), this);
@@ -2244,28 +2242,28 @@ void segas18_state::init_wwally()
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1990, astorm, 0, system18_fd1094, astorm2p, segas18_state,init_generic_5874, ROT0, "Sega", "Alien Storm (World, 2 Players, FD1094 317-0154)", 0 )
-GAME( 1990, astorm3, astorm, system18_fd1094, astorm, segas18_state,init_generic_5874, ROT0, "Sega", "Alien Storm (World, 3 Players, FD1094 317-0148)", 0 )
-GAME( 1990, astormu, astorm, system18_fd1094, astorm, segas18_state,init_generic_5874, ROT0, "Sega", "Alien Storm (US, 3 Players, FD1094 317-0147)", 0 )
-GAME( 1990, astormj, astorm, system18_fd1094, astorm2p, segas18_state,init_generic_5874, ROT0, "Sega", "Alien Storm (Japan, 2 Players, FD1094 317-0146)", 0 )
-GAME( 1989, bloxeed, 0, system18_fd1094, bloxeed, segas18_state,init_generic_5874, ROT0, "Sega", "Bloxeed (Japan, FD1094 317-0139)", 0 )
-GAME( 1991, cltchitr, 0, system18_fd1094, cltchitr, segas18_state,init_generic_5987, ROT0, "Sega", "Clutch Hitter (US, FD1094 317-0176)", 0 )
-GAME( 1991, cltchitrj, cltchitr, system18_fd1094, cltchitr, segas18_state,init_generic_5987, ROT0, "Sega", "Clutch Hitter (Japan, FD1094 317-0175)", 0 )
-GAME( 1992, desertbr, 0, system18_fd1094, desertbr, segas18_state,init_generic_5987, ROT270, "Sega", "Desert Breaker (World, FD1094 317-0196)", 0 )
-GAME( 1992, desertbrj, desertbr, system18_fd1094, desertbr, segas18_state,init_generic_5987, ROT270, "Sega", "Desert Breaker (Japan, FD1094 317-0194)", 0 )
-GAME( 1991, ddcrew, 0, system18_fd1094, ddcrew, segas18_state,init_ddcrew, ROT0, "Sega", "D. D. Crew (World, 3 Players, FD1094 317-0190)", 0 )
-GAME( 1991, ddcrewu, ddcrew, system18_fd1094, ddcrew, segas18_state,init_ddcrew, ROT0, "Sega", "D. D. Crew (US, 4 Players, FD1094 317-0186)", 0 )
-GAME( 1991, ddcrew2, ddcrew, system18_fd1094, ddcrew2p, segas18_state,init_ddcrew, ROT0, "Sega", "D. D. Crew (World, 2 Players, FD1094 317-0184)", 0 )
-GAME( 1991, ddcrew1, ddcrew, system18_fd1094, ddcrew, segas18_state,init_ddcrew, ROT0, "Sega", "D. D. Crew (World, 4 Players, FD1094 317-0187)", 0 )
-GAME( 1991, ddcrewj, ddcrew, system18_fd1094, ddcrew2p, segas18_state,init_ddcrew, ROT0, "Sega", "D. D. Crew (Japan, 2 Players, FD1094 317-0182)", 0 )
-GAME( 1990, lghost, 0, system18_fd1094, lghost, segas18_state,init_lghost, ROT0, "Sega", "Laser Ghost (World, FD1094 317-0166)", 0 )
-GAME( 1990, lghostu, lghost, system18_fd1094, lghost, segas18_state,init_lghost, ROT0, "Sega", "Laser Ghost (US, FD1094 317-0165)", 0 )
-GAME( 1990, mwalk, 0, system18_fd1094_i8751,mwalk, segas18_state,init_generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (World, FD1094/8751 317-0159)", 0 )
-GAME( 1990, mwalku, mwalk, system18_fd1094_i8751,mwalka, segas18_state,init_generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (US, FD1094/8751 317-0158)", 0 )
-GAME( 1990, mwalkj, mwalk, system18_fd1094_i8751,mwalk, segas18_state,init_generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (Japan, FD1094/8751 317-0157)", 0 )
-GAME( 1989, pontoon, 0, system18, shdancer, segas18_state,init_generic_5874, ROT0, "Sega", "Pontoon", GAME_NOT_WORKING )
-GAME( 1989, shdancer, 0, system18, shdancer, segas18_state,init_generic_shad, ROT0, "Sega", "Shadow Dancer (World)", 0 )
-GAME( 1989, shdancerj, shdancer, system18, shdancer, segas18_state,init_generic_shad, ROT0, "Sega", "Shadow Dancer (Japan)", 0 )
-GAME( 1989, shdancer1, shdancer, system18, shdancer, segas18_state,init_generic_shad, ROT0, "Sega", "Shadow Dancer (US)", 0 )
-GAME( 1992, wwallyj, 0, system18_fd1094, wwally, segas18_state,init_wwally, ROT0, "Sega", "Wally wo Sagase! (rev B, Japan, FD1094 317-0197B)", 0) // the roms do contain an english logo so maybe there is a world / us set too
-GAME( 1992, wwallyja, wwallyj, system18_fd1094, wwally, segas18_state,init_wwally, ROT0, "Sega", "Wally wo Sagase! (rev A, Japan, FD1094 317-0197A)", 0 )
+GAME( 1990, astorm, 0, system18_fd1094, astorm2p, segas18_state,generic_5874, ROT0, "Sega", "Alien Storm (World, 2 Players, FD1094 317-0154)", 0 )
+GAME( 1990, astorm3, astorm, system18_fd1094, astorm, segas18_state,generic_5874, ROT0, "Sega", "Alien Storm (World, 3 Players, FD1094 317-0148)", 0 )
+GAME( 1990, astormu, astorm, system18_fd1094, astorm, segas18_state,generic_5874, ROT0, "Sega", "Alien Storm (US, 3 Players, FD1094 317-0147)", 0 )
+GAME( 1990, astormj, astorm, system18_fd1094, astorm2p, segas18_state,generic_5874, ROT0, "Sega", "Alien Storm (Japan, 2 Players, FD1094 317-0146)", 0 )
+GAME( 1989, bloxeed, 0, system18_fd1094, bloxeed, segas18_state,generic_5874, ROT0, "Sega", "Bloxeed (Japan, FD1094 317-0139)", 0 )
+GAME( 1991, cltchitr, 0, system18_fd1094, cltchitr, segas18_state,generic_5987, ROT0, "Sega", "Clutch Hitter (US, FD1094 317-0176)", 0 )
+GAME( 1991, cltchitrj, cltchitr, system18_fd1094, cltchitr, segas18_state,generic_5987, ROT0, "Sega", "Clutch Hitter (Japan, FD1094 317-0175)", 0 )
+GAME( 1992, desertbr, 0, system18_fd1094, desertbr, segas18_state,generic_5987, ROT270, "Sega", "Desert Breaker (World, FD1094 317-0196)", 0 )
+GAME( 1992, desertbrj, desertbr, system18_fd1094, desertbr, segas18_state,generic_5987, ROT270, "Sega", "Desert Breaker (Japan, FD1094 317-0194)", 0 )
+GAME( 1991, ddcrew, 0, system18_fd1094, ddcrew, segas18_state,ddcrew, ROT0, "Sega", "D. D. Crew (World, 3 Players, FD1094 317-0190)", 0 )
+GAME( 1991, ddcrewu, ddcrew, system18_fd1094, ddcrew, segas18_state,ddcrew, ROT0, "Sega", "D. D. Crew (US, 4 Players, FD1094 317-0186)", 0 )
+GAME( 1991, ddcrew2, ddcrew, system18_fd1094, ddcrew2p, segas18_state,ddcrew, ROT0, "Sega", "D. D. Crew (World, 2 Players, FD1094 317-0184)", 0 )
+GAME( 1991, ddcrew1, ddcrew, system18_fd1094, ddcrew, segas18_state,ddcrew, ROT0, "Sega", "D. D. Crew (World, 4 Players, FD1094 317-0187)", 0 )
+GAME( 1991, ddcrewj, ddcrew, system18_fd1094, ddcrew2p, segas18_state,ddcrew, ROT0, "Sega", "D. D. Crew (Japan, 2 Players, FD1094 317-0182)", 0 )
+GAME( 1990, lghost, 0, system18_fd1094, lghost, segas18_state,lghost, ROT0, "Sega", "Laser Ghost (World, FD1094 317-0166)", 0 )
+GAME( 1990, lghostu, lghost, system18_fd1094, lghost, segas18_state,lghost, ROT0, "Sega", "Laser Ghost (US, FD1094 317-0165)", 0 )
+GAME( 1990, mwalk, 0, system18_fd1094_i8751,mwalk, segas18_state,generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (World, FD1094/8751 317-0159)", 0 )
+GAME( 1990, mwalku, mwalk, system18_fd1094_i8751,mwalka, segas18_state,generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (US, FD1094/8751 317-0158)", 0 )
+GAME( 1990, mwalkj, mwalk, system18_fd1094_i8751,mwalk, segas18_state,generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (Japan, FD1094/8751 317-0157)", 0 )
+GAME( 1989, pontoon, 0, system18, shdancer, segas18_state,generic_5874, ROT0, "Sega", "Pontoon", GAME_NOT_WORKING )
+GAME( 1989, shdancer, 0, system18, shdancer, segas18_state,generic_shad, ROT0, "Sega", "Shadow Dancer (World)", 0 )
+GAME( 1989, shdancerj, shdancer, system18, shdancer, segas18_state,generic_shad, ROT0, "Sega", "Shadow Dancer (Japan)", 0 )
+GAME( 1989, shdancer1, shdancer, system18, shdancer, segas18_state,generic_shad, ROT0, "Sega", "Shadow Dancer (US)", 0 )
+GAME( 1992, wwallyj, 0, system18_fd1094, wwally, segas18_state,wwally, ROT0, "Sega", "Wally wo Sagase! (rev B, Japan, FD1094 317-0197B)", 0) // the roms do contain an english logo so maybe there is a world / us set too
+GAME( 1992, wwallyja, wwallyj, system18_fd1094, wwally, segas18_state,wwally, ROT0, "Sega", "Wally wo Sagase! (rev A, Japan, FD1094 317-0197A)", 0 )
diff --git a/src/mame/drivers/segas24.c b/src/mame/drivers/segas24.c
index 2f401ac1d05..40d73b56707 100644
--- a/src/mame/drivers/segas24.c
+++ b/src/mame/drivers/segas24.c
@@ -2339,68 +2339,61 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( qgh )
+DRIVER_INIT_MEMBER(segas24_state,qgh)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = segas24_state::qgh_mlt;
- state->track_size = 0;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = segas24_state::qgh_mlt;
+ track_size = 0;
}
-static DRIVER_INIT( dcclub )
+DRIVER_INIT_MEMBER(segas24_state,dcclub)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::dcclub_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = segas24_state::dcclub_mlt;
- state->track_size = 0;
+ io_r = &segas24_state::dcclub_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = segas24_state::dcclub_mlt;
+ track_size = 0;
}
-static DRIVER_INIT( qrouka )
+DRIVER_INIT_MEMBER(segas24_state,qrouka)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = segas24_state::qrouka_mlt;
- state->track_size = 0;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = segas24_state::qrouka_mlt;
+ track_size = 0;
}
-static DRIVER_INIT( quizmeku )
+DRIVER_INIT_MEMBER(segas24_state,quizmeku)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = segas24_state::quizmeku_mlt;
- state->track_size = 0;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = segas24_state::quizmeku_mlt;
+ track_size = 0;
}
-static DRIVER_INIT( mahmajn )
+DRIVER_INIT_MEMBER(segas24_state,mahmajn)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::mahmajn_io_r;
- state->io_w = &segas24_state::mahmajn_io_w;
- state->mlatch_table = segas24_state::mahmajn_mlt;
- state->track_size = 0;
- state->cur_input_line = 0;
+ io_r = &segas24_state::mahmajn_io_r;
+ io_w = &segas24_state::mahmajn_io_w;
+ mlatch_table = segas24_state::mahmajn_mlt;
+ track_size = 0;
+ cur_input_line = 0;
}
-static DRIVER_INIT( mahmajn2 )
+DRIVER_INIT_MEMBER(segas24_state,mahmajn2)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::mahmajn_io_r;
- state->io_w = &segas24_state::mahmajn_io_w;
- state->mlatch_table = segas24_state::mahmajn2_mlt;
- state->track_size = 0;
- state->cur_input_line = 0;
+ io_r = &segas24_state::mahmajn_io_r;
+ io_w = &segas24_state::mahmajn_io_w;
+ mlatch_table = segas24_state::mahmajn2_mlt;
+ track_size = 0;
+ cur_input_line = 0;
}
-static DRIVER_INIT( hotrod )
+DRIVER_INIT_MEMBER(segas24_state,hotrod)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = 0;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = 0;
// Sector Size
// 1 8192
@@ -2410,15 +2403,14 @@ static DRIVER_INIT( hotrod )
// 5 512
// 6 256
- state->track_size = 0x2f00;
+ track_size = 0x2f00;
}
-static DRIVER_INIT( bnzabros )
+DRIVER_INIT_MEMBER(segas24_state,bnzabros)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = segas24_state::bnzabros_mlt;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = segas24_state::bnzabros_mlt;
// Sector Size
// 1 2048
@@ -2429,80 +2421,72 @@ static DRIVER_INIT( bnzabros )
// 6 1024
// 7 256
- state->track_size = 0x2d00;
+ track_size = 0x2d00;
}
-static DRIVER_INIT( sspirits )
+DRIVER_INIT_MEMBER(segas24_state,sspirits)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = 0;
- state->track_size = 0x2d00;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = 0;
+ track_size = 0x2d00;
}
-static DRIVER_INIT( sspiritj )
+DRIVER_INIT_MEMBER(segas24_state,sspiritj)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = 0;
- state->track_size = 0x2f00;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = 0;
+ track_size = 0x2f00;
}
-static DRIVER_INIT( dcclubfd )
+DRIVER_INIT_MEMBER(segas24_state,dcclubfd)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::dcclub_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = segas24_state::dcclub_mlt;
- state->track_size = 0x2d00;
+ io_r = &segas24_state::dcclub_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = segas24_state::dcclub_mlt;
+ track_size = 0x2d00;
}
-static DRIVER_INIT( sgmast )
+DRIVER_INIT_MEMBER(segas24_state,sgmast)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = 0;
- state->track_size = 0x2d00;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = 0;
+ track_size = 0x2d00;
}
-static DRIVER_INIT( qsww )
+DRIVER_INIT_MEMBER(segas24_state,qsww)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = 0;
- state->track_size = 0x2d00;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = 0;
+ track_size = 0x2d00;
}
-static DRIVER_INIT( gground )
+DRIVER_INIT_MEMBER(segas24_state,gground)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = 0;
- state->track_size = 0x2d00;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = 0;
+ track_size = 0x2d00;
}
-static DRIVER_INIT( crkdown )
+DRIVER_INIT_MEMBER(segas24_state,crkdown)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = 0;
- state->track_size = 0x2d00;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = 0;
+ track_size = 0x2d00;
}
-static DRIVER_INIT( roughrac )
+DRIVER_INIT_MEMBER(segas24_state,roughrac)
{
- segas24_state *state = machine.driver_data<segas24_state>();
- state->io_r = &segas24_state::hotrod_io_r;
- state->io_w = &segas24_state::hotrod_io_w;
- state->mlatch_table = 0;
- state->track_size = 0x2d00;
+ io_r = &segas24_state::hotrod_io_r;
+ io_w = &segas24_state::hotrod_io_w;
+ mlatch_table = 0;
+ track_size = 0x2d00;
}
diff --git a/src/mame/drivers/segas32.c b/src/mame/drivers/segas32.c
index 378b9434bfc..fc7a5200729 100644
--- a/src/mame/drivers/segas32.c
+++ b/src/mame/drivers/segas32.c
@@ -4120,11 +4120,10 @@ static void scross_sw2_output( int which, UINT16 data )
*
*************************************/
-static DRIVER_INIT( alien3 )
+DRIVER_INIT_MEMBER(segas32_state,alien3)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::analog_custom_io_r),state), write16_delegate(FUNC(segas32_state::analog_custom_io_w),state));
- state->m_sw1_output = alien3_sw1_output;
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
+ m_sw1_output = alien3_sw1_output;
}
READ16_MEMBER(segas32_state::arescue_handshake_r)
@@ -4137,63 +4136,58 @@ READ16_MEMBER(segas32_state::arescue_slavebusy_r)
return 0x100; // prevents master trying to synch to slave.
}
-static DRIVER_INIT( arescue )
+DRIVER_INIT_MEMBER(segas32_state,arescue)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::analog_custom_io_r),state), write16_delegate(FUNC(segas32_state::analog_custom_io_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa00000, 0xa00007, read16_delegate(FUNC(segas32_state::arescue_dsp_r),state), write16_delegate(FUNC(segas32_state::arescue_dsp_w),state));
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa00000, 0xa00007, read16_delegate(FUNC(segas32_state::arescue_dsp_r),this), write16_delegate(FUNC(segas32_state::arescue_dsp_w),this));
- state->m_dual_pcb_comms = auto_alloc_array(machine, UINT16, 0x1000/2);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x810000, 0x810fff, read16_delegate(FUNC(segas32_state::dual_pcb_comms_r),state), write16_delegate(FUNC(segas32_state::dual_pcb_comms_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x818000, 0x818003, read16_delegate(FUNC(segas32_state::dual_pcb_masterslave),state));
+ m_dual_pcb_comms = auto_alloc_array(machine(), UINT16, 0x1000/2);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x810000, 0x810fff, read16_delegate(FUNC(segas32_state::dual_pcb_comms_r),this), write16_delegate(FUNC(segas32_state::dual_pcb_comms_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x818000, 0x818003, read16_delegate(FUNC(segas32_state::dual_pcb_masterslave),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x810000, 0x810001, read16_delegate(FUNC(segas32_state::arescue_handshake_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x81000e, 0x81000f, read16_delegate(FUNC(segas32_state::arescue_slavebusy_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x810000, 0x810001, read16_delegate(FUNC(segas32_state::arescue_handshake_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x81000e, 0x81000f, read16_delegate(FUNC(segas32_state::arescue_slavebusy_r),this));
- state->m_sw1_output = arescue_sw1_output;
+ m_sw1_output = arescue_sw1_output;
}
-static DRIVER_INIT( arabfgt )
+DRIVER_INIT_MEMBER(segas32_state,arabfgt)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::extra_custom_io_r),state), write16_delegate());
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
/* install protection handlers */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa00100, 0xa0011f, read16_delegate(FUNC(segas32_state::arf_wakeup_protection_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa00000, 0xa00fff, read16_delegate(FUNC(segas32_state::arabfgt_protection_r),state), write16_delegate(FUNC(segas32_state::arabfgt_protection_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa00100, 0xa0011f, read16_delegate(FUNC(segas32_state::arf_wakeup_protection_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa00000, 0xa00fff, read16_delegate(FUNC(segas32_state::arabfgt_protection_r),this), write16_delegate(FUNC(segas32_state::arabfgt_protection_w),this));
}
-static DRIVER_INIT( brival )
+DRIVER_INIT_MEMBER(segas32_state,brival)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::extra_custom_io_r),state), write16_delegate());
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
/* install protection handlers */
- state->m_system32_protram = auto_alloc_array(machine, UINT16, 0x1000/2);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x20ba00, 0x20ba07, read16_delegate(FUNC(segas32_state::brival_protection_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa00000, 0xa00fff, write16_delegate(FUNC(segas32_state::brival_protection_w),state));
+ m_system32_protram = auto_alloc_array(machine(), UINT16, 0x1000/2);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x20ba00, 0x20ba07, read16_delegate(FUNC(segas32_state::brival_protection_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa00000, 0xa00fff, write16_delegate(FUNC(segas32_state::brival_protection_w),this));
}
-static DRIVER_INIT( darkedge )
+DRIVER_INIT_MEMBER(segas32_state,darkedge)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::extra_custom_io_r),state), write16_delegate());
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
/* install protection handlers */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa00000, 0xa7ffff, read16_delegate(FUNC(segas32_state::darkedge_protection_r),state), write16_delegate(FUNC(segas32_state::darkedge_protection_w),state));
- state->m_system32_prot_vblank = darkedge_fd1149_vblank;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa00000, 0xa7ffff, read16_delegate(FUNC(segas32_state::darkedge_protection_r),this), write16_delegate(FUNC(segas32_state::darkedge_protection_w),this));
+ m_system32_prot_vblank = darkedge_fd1149_vblank;
}
-static DRIVER_INIT( dbzvrvs )
+DRIVER_INIT_MEMBER(segas32_state,dbzvrvs)
{
- segas32_common_init(machine, read16_delegate(), write16_delegate());
+ segas32_common_init(machine(), read16_delegate(), write16_delegate());
/* install protection handlers */
- segas32_state *state = machine.driver_data<segas32_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa00000, 0xa7ffff, read16_delegate(FUNC(segas32_state::dbzvrvs_protection_r),state), write16_delegate(FUNC(segas32_state::dbzvrvs_protection_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa00000, 0xa7ffff, read16_delegate(FUNC(segas32_state::dbzvrvs_protection_r),this), write16_delegate(FUNC(segas32_state::dbzvrvs_protection_w),this));
}
WRITE16_MEMBER(segas32_state::f1en_comms_echo_w)
@@ -4203,159 +4197,144 @@ WRITE16_MEMBER(segas32_state::f1en_comms_echo_w)
space.write_byte( 0x810049, data );
}
-static DRIVER_INIT( f1en )
+DRIVER_INIT_MEMBER(segas32_state,f1en)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::analog_custom_io_r),state), write16_delegate(FUNC(segas32_state::analog_custom_io_w),state));
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
- state->m_dual_pcb_comms = auto_alloc_array(machine, UINT16, 0x1000/2);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x810000, 0x810fff, read16_delegate(FUNC(segas32_state::dual_pcb_comms_r),state), write16_delegate(FUNC(segas32_state::dual_pcb_comms_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x818000, 0x818003, read16_delegate(FUNC(segas32_state::dual_pcb_masterslave),state));
+ m_dual_pcb_comms = auto_alloc_array(machine(), UINT16, 0x1000/2);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x810000, 0x810fff, read16_delegate(FUNC(segas32_state::dual_pcb_comms_r),this), write16_delegate(FUNC(segas32_state::dual_pcb_comms_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x818000, 0x818003, read16_delegate(FUNC(segas32_state::dual_pcb_masterslave),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x810048, 0x810049, write16_delegate(FUNC(segas32_state::f1en_comms_echo_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x810048, 0x810049, write16_delegate(FUNC(segas32_state::f1en_comms_echo_w),this));
- state->m_sw1_output = radm_sw1_output;
+ m_sw1_output = radm_sw1_output;
}
-static DRIVER_INIT( f1lap )
+DRIVER_INIT_MEMBER(segas32_state,f1lap)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::analog_custom_io_r),state), write16_delegate(FUNC(segas32_state::analog_custom_io_w),state));
- state->m_sw1_output = f1lap_sw1_output;
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
+ m_sw1_output = f1lap_sw1_output;
}
-static DRIVER_INIT( ga2 )
+DRIVER_INIT_MEMBER(segas32_state,ga2)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::extra_custom_io_r),state), write16_delegate());
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
- decrypt_ga2_protrom(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa00000, 0xa00fff, read16_delegate(FUNC(segas32_state::ga2_dpram_r),state), write16_delegate(FUNC(segas32_state::ga2_dpram_w),state));
+ decrypt_ga2_protrom(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa00000, 0xa00fff, read16_delegate(FUNC(segas32_state::ga2_dpram_r),this), write16_delegate(FUNC(segas32_state::ga2_dpram_w),this));
}
-static DRIVER_INIT( harddunk )
+DRIVER_INIT_MEMBER(segas32_state,harddunk)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::extra_custom_io_r),state), write16_delegate());
- state->m_sw1_output = harddunk_sw1_output;
- state->m_sw2_output = harddunk_sw2_output;
- state->m_sw3_output = harddunk_sw3_output;
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
+ m_sw1_output = harddunk_sw1_output;
+ m_sw2_output = harddunk_sw2_output;
+ m_sw3_output = harddunk_sw3_output;
}
-static DRIVER_INIT( holo )
+DRIVER_INIT_MEMBER(segas32_state,holo)
{
- segas32_common_init(machine, read16_delegate(), write16_delegate());
+ segas32_common_init(machine(), read16_delegate(), write16_delegate());
}
-static DRIVER_INIT( jpark )
+DRIVER_INIT_MEMBER(segas32_state,jpark)
{
- segas32_state *state = machine.driver_data<segas32_state>();
/* Temp. Patch until we emulate the 'Drive Board', thanks to Malice */
- UINT16 *pROM = (UINT16 *)state->memregion("maincpu")->base();
+ UINT16 *pROM = (UINT16 *)memregion("maincpu")->base();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::analog_custom_io_r),state), write16_delegate(FUNC(segas32_state::analog_custom_io_w),state));
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
pROM[0xC15A8/2] = 0xCD70;
pROM[0xC15AA/2] = 0xD8CD;
- state->m_sw1_output = jpark_sw1_output;
+ m_sw1_output = jpark_sw1_output;
}
-static DRIVER_INIT( orunners )
+DRIVER_INIT_MEMBER(segas32_state,orunners)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::analog_custom_io_r),state), write16_delegate(FUNC(segas32_state::orunners_custom_io_w),state));
- state->m_sw1_output = orunners_sw1_output;
- state->m_sw2_output = orunners_sw2_output;
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::orunners_custom_io_w),this));
+ m_sw1_output = orunners_sw1_output;
+ m_sw2_output = orunners_sw2_output;
}
-static DRIVER_INIT( radm )
+DRIVER_INIT_MEMBER(segas32_state,radm)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::analog_custom_io_r),state), write16_delegate(FUNC(segas32_state::analog_custom_io_w),state));
- state->m_sw1_output = radm_sw1_output;
- state->m_sw2_output = radm_sw2_output;
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
+ m_sw1_output = radm_sw1_output;
+ m_sw2_output = radm_sw2_output;
}
-static DRIVER_INIT( radr )
+DRIVER_INIT_MEMBER(segas32_state,radr)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::analog_custom_io_r),state), write16_delegate(FUNC(segas32_state::analog_custom_io_w),state));
- state->m_sw1_output = radm_sw1_output;
- state->m_sw2_output = radr_sw2_output;
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
+ m_sw1_output = radm_sw1_output;
+ m_sw2_output = radr_sw2_output;
}
-static DRIVER_INIT( scross )
+DRIVER_INIT_MEMBER(segas32_state,scross)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::analog_custom_io_r),state), write16_delegate(FUNC(segas32_state::analog_custom_io_w),state));
- machine.device("soundcpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb0, 0xbf, write8_delegate(FUNC(segas32_state::scross_bank_w),state));
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
+ machine().device("soundcpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb0, 0xbf, write8_delegate(FUNC(segas32_state::scross_bank_w),this));
- state->m_sw1_output = scross_sw1_output;
- state->m_sw2_output = scross_sw2_output;
+ m_sw1_output = scross_sw1_output;
+ m_sw2_output = scross_sw2_output;
}
-static DRIVER_INIT( slipstrm )
+DRIVER_INIT_MEMBER(segas32_state,slipstrm)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::analog_custom_io_r),state), write16_delegate(FUNC(segas32_state::analog_custom_io_w),state));
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
}
-static DRIVER_INIT( sonic )
+DRIVER_INIT_MEMBER(segas32_state,sonic)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::sonic_custom_io_r),state), write16_delegate(FUNC(segas32_state::sonic_custom_io_w),state));
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::sonic_custom_io_r),this), write16_delegate(FUNC(segas32_state::sonic_custom_io_w),this));
/* install protection handlers */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x20E5C4, 0x20E5C5, write16_delegate(FUNC(segas32_state::sonic_level_load_protection),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x20E5C4, 0x20E5C5, write16_delegate(FUNC(segas32_state::sonic_level_load_protection),this));
}
-static DRIVER_INIT( sonicp )
+DRIVER_INIT_MEMBER(segas32_state,sonicp)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::sonic_custom_io_r),state), write16_delegate(FUNC(segas32_state::sonic_custom_io_w),state));
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::sonic_custom_io_r),this), write16_delegate(FUNC(segas32_state::sonic_custom_io_w),this));
}
-static DRIVER_INIT( spidman )
+DRIVER_INIT_MEMBER(segas32_state,spidman)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(FUNC(segas32_state::extra_custom_io_r),state), write16_delegate());
+ segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
}
-static DRIVER_INIT( svf )
+DRIVER_INIT_MEMBER(segas32_state,svf)
{
- segas32_common_init(machine, read16_delegate(), write16_delegate());
+ segas32_common_init(machine(), read16_delegate(), write16_delegate());
}
-static DRIVER_INIT( jleague )
+DRIVER_INIT_MEMBER(segas32_state,jleague)
{
- segas32_common_init(machine, read16_delegate(), write16_delegate());
- segas32_state *state = machine.driver_data<segas32_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x20F700, 0x20F705, write16_delegate(FUNC(segas32_state::jleague_protection_w),state));
+ segas32_common_init(machine(), read16_delegate(), write16_delegate());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x20F700, 0x20F705, write16_delegate(FUNC(segas32_state::jleague_protection_w),this));
}
-static DRIVER_INIT( titlef )
+DRIVER_INIT_MEMBER(segas32_state,titlef)
{
- segas32_state *state = machine.driver_data<segas32_state>();
- segas32_common_init(machine, read16_delegate(), write16_delegate());
- state->m_sw1_output = titlef_sw1_output;
- state->m_sw2_output = titlef_sw2_output;
+ segas32_common_init(machine(), read16_delegate(), write16_delegate());
+ m_sw1_output = titlef_sw1_output;
+ m_sw2_output = titlef_sw2_output;
}
diff --git a/src/mame/drivers/segaxbd.c b/src/mame/drivers/segaxbd.c
index 648c58ce22a..5dab9ba0e50 100644
--- a/src/mame/drivers/segaxbd.c
+++ b/src/mame/drivers/segaxbd.c
@@ -3171,46 +3171,43 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( generic_xboard )
+DRIVER_INIT_MEMBER(segaxbd_state,generic_xboard)
{
- segaxbd_state *state = machine.driver_data<segaxbd_state>();
/* set the default road priority */
- state->m_road_priority = 1;
+ m_road_priority = 1;
/* reset the custom handlers and other pointers */
- memset(state->m_adc_reverse, 0, sizeof(state->m_adc_reverse));
- memset(state->m_iochip_custom_io_r, 0, sizeof(state->m_iochip_custom_io_r));
- memset(state->m_iochip_custom_io_w, 0, sizeof(state->m_iochip_custom_io_w));
- state->m_iochip_custom_io_w[0][3] = generic_iochip0_lamps_w;
+ memset(m_adc_reverse, 0, sizeof(m_adc_reverse));
+ memset(m_iochip_custom_io_r, 0, sizeof(m_iochip_custom_io_r));
+ memset(m_iochip_custom_io_w, 0, sizeof(m_iochip_custom_io_w));
+ m_iochip_custom_io_w[0][3] = generic_iochip0_lamps_w;
- state->m_gprider_hack = 0;
+ m_gprider_hack = 0;
- state->save_item(NAME(state->m_vblank_irq_state));
- state->save_item(NAME(state->m_timer_irq_state));
- state->save_item(NAME(state->m_iochip_regs[0]));
- state->save_item(NAME(state->m_iochip_regs[1]));
+ save_item(NAME(m_vblank_irq_state));
+ save_item(NAME(m_timer_irq_state));
+ save_item(NAME(m_iochip_regs[0]));
+ save_item(NAME(m_iochip_regs[1]));
}
-static DRIVER_INIT( aburner2 )
+DRIVER_INIT_MEMBER(segaxbd_state,aburner2)
{
- segaxbd_state *state = machine.driver_data<segaxbd_state>();
- DRIVER_INIT_CALL( generic_xboard );
- state->m_road_priority = 0;
- state->m_iochip_custom_io_r[0][0] = aburner2_iochip0_motor_r;
- state->m_iochip_custom_io_w[0][1] = aburner2_iochip0_motor_w;
+ DRIVER_INIT_CALL(generic_xboard);
+ m_road_priority = 0;
+ m_iochip_custom_io_r[0][0] = aburner2_iochip0_motor_r;
+ m_iochip_custom_io_w[0][1] = aburner2_iochip0_motor_w;
}
-static DRIVER_INIT( lastsurv )
+DRIVER_INIT_MEMBER(segaxbd_state,lastsurv)
{
- segaxbd_state *state = machine.driver_data<segaxbd_state>();
- DRIVER_INIT_CALL( generic_xboard );
- state->m_iochip_custom_io_r[1][1] = lastsurv_iochip1_port_r;
- state->m_iochip_custom_io_w[0][3] = lastsurv_iochip0_muxer_w;
+ DRIVER_INIT_CALL(generic_xboard);
+ m_iochip_custom_io_r[1][1] = lastsurv_iochip1_port_r;
+ m_iochip_custom_io_w[0][3] = lastsurv_iochip0_muxer_w;
}
@@ -3222,51 +3219,48 @@ static WRITE16_HANDLER( loffire_sync0_w )
space->machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(10));
}
-static DRIVER_INIT( loffire )
+DRIVER_INIT_MEMBER(segaxbd_state,loffire)
{
- segaxbd_state *state = machine.driver_data<segaxbd_state>();
- DRIVER_INIT_CALL( generic_xboard );
- state->m_adc_reverse[1] = state->m_adc_reverse[3] = 1;
+ DRIVER_INIT_CALL(generic_xboard);
+ m_adc_reverse[1] = m_adc_reverse[3] = 1;
/* install sync hack on core shared memory */
- state->m_loffire_sync = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x29c000, 0x29c011, FUNC(loffire_sync0_w));
+ m_loffire_sync = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x29c000, 0x29c011, FUNC(loffire_sync0_w));
}
-static DRIVER_INIT( smgp )
+DRIVER_INIT_MEMBER(segaxbd_state,smgp)
{
- segaxbd_state *state = machine.driver_data<segaxbd_state>();
- DRIVER_INIT_CALL( generic_xboard );
- state->m_iochip_custom_io_r[0][0] = smgp_iochip0_motor_r;
- state->m_iochip_custom_io_w[0][1] = smgp_iochip0_motor_w;
+ DRIVER_INIT_CALL(generic_xboard);
+ m_iochip_custom_io_r[0][0] = smgp_iochip0_motor_r;
+ m_iochip_custom_io_w[0][1] = smgp_iochip0_motor_w;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x2f0000, 0x2f3fff, FUNC(smgp_excs_r), FUNC(smgp_excs_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x2f0000, 0x2f3fff, FUNC(smgp_excs_r), FUNC(smgp_excs_w));
}
-static DRIVER_INIT( rascot )
+DRIVER_INIT_MEMBER(segaxbd_state,rascot)
{
// patch out bootup link test
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("subcpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("subcpu")->base();
rom[0xb78/2] = 0x601e; // subrom checksum test
rom[0x57e/2] = 0x4e71;
rom[0x5d0/2] = 0x6008;
rom[0x606/2] = 0x4e71;
- DRIVER_INIT_CALL( generic_xboard );
+ DRIVER_INIT_CALL(generic_xboard);
- machine.device("subcpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x0f0000, 0x0f3fff, FUNC(rascot_excs_r), FUNC(rascot_excs_w));
+ machine().device("subcpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x0f0000, 0x0f3fff, FUNC(rascot_excs_r), FUNC(rascot_excs_w));
}
-static DRIVER_INIT( gprider )
+DRIVER_INIT_MEMBER(segaxbd_state,gprider)
{
- segaxbd_state *state = machine.driver_data<segaxbd_state>();
- DRIVER_INIT_CALL( generic_xboard );
- state->m_gprider_hack = 1;
+ DRIVER_INIT_CALL(generic_xboard);
+ m_gprider_hack = 1;
}
diff --git a/src/mame/drivers/segaybd.c b/src/mame/drivers/segaybd.c
index becc7a944e7..503b0ef8af9 100644
--- a/src/mame/drivers/segaybd.c
+++ b/src/mame/drivers/segaybd.c
@@ -2186,41 +2186,41 @@ static void rchase_output_cb2( UINT16 data )
*
*************************************/
-static DRIVER_INIT( gforce2 )
+DRIVER_INIT_MEMBER(segaybd_state,gforce2)
{
- yboard_generic_init(machine);
+ yboard_generic_init(machine());
ybd_output_cb2 = gforce2_output_cb2;
}
-static DRIVER_INIT( pdrift )
+DRIVER_INIT_MEMBER(segaybd_state,pdrift)
{
/* because some of the output data isn't fully understood we need to "center" the motor */
- yboard_generic_init(machine);
+ yboard_generic_init(machine());
ybd_output_cb1 = pdrift_output_cb1;
ybd_output_cb2 = pdrift_output_cb2;
}
-static DRIVER_INIT( gloc )
+DRIVER_INIT_MEMBER(segaybd_state,gloc)
{
/* because some of the output data isn't fully understood we need to "center" the rams */
output_set_value("left_motor_position_nor", 16);
output_set_value("right_motor_position_nor", 16);
- yboard_generic_init(machine);
+ yboard_generic_init(machine());
ybd_output_cb1 = gloc_output_cb1;
ybd_output_cb2 = gloc_output_cb2;
}
-static DRIVER_INIT( r360 )
+DRIVER_INIT_MEMBER(segaybd_state,r360)
{
- yboard_generic_init(machine);
+ yboard_generic_init(machine());
ybd_output_cb2 = r360_output_cb2;
}
-static DRIVER_INIT( rchase )
+DRIVER_INIT_MEMBER(segaybd_state,rchase)
{
- yboard_generic_init(machine);
+ yboard_generic_init(machine());
ybd_output_cb2 = rchase_output_cb2;
}
diff --git a/src/mame/drivers/seibuspi.c b/src/mame/drivers/seibuspi.c
index 9722a4882f2..2cff6fcfac7 100644
--- a/src/mame/drivers/seibuspi.c
+++ b/src/mame/drivers/seibuspi.c
@@ -2080,66 +2080,59 @@ static void init_spi(running_machine &machine)
seibuspi_sprite_decrypt(state->memregion("gfx3")->base(), 0x400000);
}
-static DRIVER_INIT( rdft )
+DRIVER_INIT_MEMBER(seibuspi_state,rdft)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00298d0, 0x00298d3, read32_delegate(FUNC(seibuspi_state::rdft_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00298d0, 0x00298d3, read32_delegate(FUNC(seibuspi_state::rdft_speedup_r),this));
- init_spi(machine);
+ init_spi(machine());
}
-static DRIVER_INIT( senkyu )
+DRIVER_INIT_MEMBER(seibuspi_state,senkyu)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0018cb4, 0x0018cb7, read32_delegate(FUNC(seibuspi_state::senkyu_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0018cb4, 0x0018cb7, read32_delegate(FUNC(seibuspi_state::senkyu_speedup_r),this));
- init_spi(machine);
+ init_spi(machine());
}
-static DRIVER_INIT( senkyua )
+DRIVER_INIT_MEMBER(seibuspi_state,senkyua)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0018c9c, 0x0018c9f, read32_delegate(FUNC(seibuspi_state::senkyua_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0018c9c, 0x0018c9f, read32_delegate(FUNC(seibuspi_state::senkyua_speedup_r),this));
- init_spi(machine);
+ init_spi(machine());
}
-static DRIVER_INIT( batlball )
+DRIVER_INIT_MEMBER(seibuspi_state,batlball)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0018db4, 0x0018db7, read32_delegate(FUNC(seibuspi_state::batlball_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0018db4, 0x0018db7, read32_delegate(FUNC(seibuspi_state::batlball_speedup_r),this));
- init_spi(machine);
+ init_spi(machine());
}
-static DRIVER_INIT( ejanhs )
+DRIVER_INIT_MEMBER(seibuspi_state,ejanhs)
{
// idle skip doesn't work properly?
-// seibuspi_state *state = machine.driver_data<seibuspi_state>();
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x002d224, 0x002d227, read32_delegate(FUNC(seibuspi_state::ejanhs_speedup_r),state));
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x002d224, 0x002d227, read32_delegate(FUNC(seibuspi_state::ejanhs_speedup_r),this));
- init_spi(machine);
+ init_spi(machine());
}
-static DRIVER_INIT( viprp1 )
+DRIVER_INIT_MEMBER(seibuspi_state,viprp1)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x001e2e0, 0x001e2e3, read32_delegate(FUNC(seibuspi_state::viprp1_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x001e2e0, 0x001e2e3, read32_delegate(FUNC(seibuspi_state::viprp1_speedup_r),this));
- init_spi(machine);
+ init_spi(machine());
}
-static DRIVER_INIT( viprp1o )
+DRIVER_INIT_MEMBER(seibuspi_state,viprp1o)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x001d49c, 0x001d49f, read32_delegate(FUNC(seibuspi_state::viprp1o_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x001d49c, 0x001d49f, read32_delegate(FUNC(seibuspi_state::viprp1o_speedup_r),this));
- init_spi(machine);
+ init_spi(machine());
}
-static void init_rf2(running_machine &machine)
+static void init_rf2_common(running_machine &machine)
{
seibuspi_state *state = machine.driver_data<seibuspi_state>();
state->m_flash[0] = machine.device<intel_e28f008sa_device>("flash0");
@@ -2153,18 +2146,18 @@ static void init_rf2(running_machine &machine)
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x560, 0x563, write32_delegate(FUNC(seibuspi_state::sprite_dma_start_w),state));
}
-static DRIVER_INIT( rdft2 )
+DRIVER_INIT_MEMBER(seibuspi_state,rdft2)
{
- init_rf2(machine);
+ init_rf2_common(machine());
}
-static DRIVER_INIT( rdft2us )
+DRIVER_INIT_MEMBER(seibuspi_state,rdft2us)
{
- init_rf2(machine);
+ init_rf2_common(machine());
}
-static void init_rfjet(running_machine &machine)
+static void init_rfjet_common(running_machine &machine)
{
seibuspi_state *state = machine.driver_data<seibuspi_state>();
state->m_flash[0] = machine.device<intel_e28f008sa_device>("flash0");
@@ -2178,21 +2171,21 @@ static void init_rfjet(running_machine &machine)
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x560, 0x563, write32_delegate(FUNC(seibuspi_state::sprite_dma_start_w),state));
}
-static DRIVER_INIT( rfjet )
+DRIVER_INIT_MEMBER(seibuspi_state,rfjet)
{
- init_rfjet(machine);
+ init_rfjet_common(machine());
}
/* SYS386 */
-static DRIVER_INIT( rdft22kc )
+DRIVER_INIT_MEMBER(seibuspi_state,rdft22kc)
{
- init_rf2(machine);
+ init_rf2_common(machine());
}
-static DRIVER_INIT( rfjet2k )
+DRIVER_INIT_MEMBER(seibuspi_state,rfjet2k)
{
- init_rfjet(machine);
+ init_rfjet_common(machine());
}
static MACHINE_RESET( seibu386 )
@@ -2234,14 +2227,14 @@ static MACHINE_CONFIG_START( seibu386, seibuspi_state )
MACHINE_CONFIG_END
/* SYS386-F V2.0 */
-static DRIVER_INIT( sys386f2 )
+DRIVER_INIT_MEMBER(seibuspi_state,sys386f2)
{
int i, j;
- UINT16 *src = (UINT16 *)machine.root_device().memregion("gfx3")->base();
+ UINT16 *src = (UINT16 *)machine().root_device().memregion("gfx3")->base();
UINT16 tmp[0x40 / 2], Offset;
// sprite_reorder() only
- for(i = 0; i < machine.root_device().memregion("gfx3")->bytes() / 0x40; i++)
+ for(i = 0; i < machine().root_device().memregion("gfx3")->bytes() / 0x40; i++)
{
memcpy(tmp, src, 0x40);
diff --git a/src/mame/drivers/seicross.c b/src/mame/drivers/seicross.c
index 71ab8d2fed7..6157fb3cbaa 100644
--- a/src/mame/drivers/seicross.c
+++ b/src/mame/drivers/seicross.c
@@ -592,8 +592,8 @@ ROM_END
-GAME( 1981, friskyt, 0, nvram, friskyt, seicross_state, 0, ROT0, "Nichibutsu", "Frisky Tom (set 1)", GAME_NO_COCKTAIL )
-GAME( 1981, friskyta, friskyt, nvram, friskyt, seicross_state, 0, ROT0, "Nichibutsu", "Frisky Tom (set 2)", GAME_NO_COCKTAIL )
-GAME( 1982, radrad, 0, no_nvram, radrad, seicross_state, 0, ROT0, "Nichibutsu USA", "Radical Radial", GAME_NO_COCKTAIL )
-GAME( 1984, seicross, 0, no_nvram, seicross, seicross_state, 0, ROT90, "Nichibutsu / Alice", "Seicross", GAME_NO_COCKTAIL )
-GAME( 1984, sectrzon, seicross, no_nvram, seicross, seicross_state, 0, ROT90, "Nichibutsu / Alice", "Sector Zone", GAME_NO_COCKTAIL )
+GAME( 1981, friskyt, 0, nvram, friskyt, driver_device, 0, ROT0, "Nichibutsu", "Frisky Tom (set 1)", GAME_NO_COCKTAIL )
+GAME( 1981, friskyta, friskyt, nvram, friskyt, driver_device, 0, ROT0, "Nichibutsu", "Frisky Tom (set 2)", GAME_NO_COCKTAIL )
+GAME( 1982, radrad, 0, no_nvram, radrad, driver_device, 0, ROT0, "Nichibutsu USA", "Radical Radial", GAME_NO_COCKTAIL )
+GAME( 1984, seicross, 0, no_nvram, seicross, driver_device, 0, ROT90, "Nichibutsu / Alice", "Seicross", GAME_NO_COCKTAIL )
+GAME( 1984, sectrzon, seicross, no_nvram, seicross, driver_device, 0, ROT90, "Nichibutsu / Alice", "Sector Zone", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/sengokmj.c b/src/mame/drivers/sengokmj.c
index 3cd5a3bbcae..c17ca96f6d4 100644
--- a/src/mame/drivers/sengokmj.c
+++ b/src/mame/drivers/sengokmj.c
@@ -357,5 +357,5 @@ ROM_START( sengokmj )
ROM_LOAD( "rs006.89", 0x000, 0x200, CRC(96f7646e) SHA1(400a831b83d6ac4d2a46ef95b97b1ee237099e44) ) /* Priority */
ROM_END
-GAME( 1991, sengokmj, 0, sengokmj, sengokmj, sengokmj_state, 0, ROT0, "Sigma", "Sengoku Mahjong [BET] (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, sengokmj, 0, sengokmj, sengokmj, driver_device, 0, ROT0, "Sigma", "Sengoku Mahjong [BET] (Japan)", GAME_IMPERFECT_GRAPHICS )
/*Non-Bet Version?*/
diff --git a/src/mame/drivers/senjyo.c b/src/mame/drivers/senjyo.c
index f3ffaa5e4c1..06c9b72007e 100644
--- a/src/mame/drivers/senjyo.c
+++ b/src/mame/drivers/senjyo.c
@@ -892,41 +892,37 @@ ROM_START( baluba )
ROM_END
-static DRIVER_INIT( starforc )
+DRIVER_INIT_MEMBER(senjyo_state,starforc)
{
- senjyo_state *state = machine.driver_data<senjyo_state>();
- state->m_is_senjyo = 0;
- state->m_scrollhack = 1;
+ m_is_senjyo = 0;
+ m_scrollhack = 1;
}
-static DRIVER_INIT( starfore )
+DRIVER_INIT_MEMBER(senjyo_state,starfore)
{
- senjyo_state *state = machine.driver_data<senjyo_state>();
/* encrypted CPU */
- suprloco_decode(machine, "maincpu");
+ suprloco_decode(machine(), "maincpu");
- state->m_is_senjyo = 0;
- state->m_scrollhack = 0;
+ m_is_senjyo = 0;
+ m_scrollhack = 0;
}
-static DRIVER_INIT( starfora )
+DRIVER_INIT_MEMBER(senjyo_state,starfora)
{
- senjyo_state *state = machine.driver_data<senjyo_state>();
/* encrypted CPU */
- yamato_decode(machine, "maincpu");
+ yamato_decode(machine(), "maincpu");
- state->m_is_senjyo = 0;
- state->m_scrollhack = 1;
+ m_is_senjyo = 0;
+ m_scrollhack = 1;
}
-static DRIVER_INIT( senjyo )
+DRIVER_INIT_MEMBER(senjyo_state,senjyo)
{
- senjyo_state *state = machine.driver_data<senjyo_state>();
- state->m_is_senjyo = 1;
- state->m_scrollhack = 0;
+ m_is_senjyo = 1;
+ m_scrollhack = 0;
}
diff --git a/src/mame/drivers/seta.c b/src/mame/drivers/seta.c
index 4879b0a402b..075c06e1337 100644
--- a/src/mame/drivers/seta.c
+++ b/src/mame/drivers/seta.c
@@ -10721,14 +10721,13 @@ WRITE16_MEMBER(seta_state::twineagl_200100_w)
}
}
-static DRIVER_INIT( twineagl )
+DRIVER_INIT_MEMBER(seta_state,twineagl)
{
- seta_state *state = machine.driver_data<seta_state>();
/* debug? */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x800000, 0x8000ff, read16_delegate(FUNC(seta_state::twineagl_debug_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x800000, 0x8000ff, read16_delegate(FUNC(seta_state::twineagl_debug_r),this));
/* This allows 2 simultaneous players and the use of the "Copyright" Dip Switch. */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x200100, 0x20010f, read16_delegate(FUNC(seta_state::twineagl_200100_r),state), write16_delegate(FUNC(seta_state::twineagl_200100_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x200100, 0x20010f, read16_delegate(FUNC(seta_state::twineagl_200100_r),this), write16_delegate(FUNC(seta_state::twineagl_200100_w),this));
}
@@ -10755,10 +10754,9 @@ WRITE16_MEMBER(seta_state::downtown_protection_w)
COMBINE_DATA(&m_downtown_protection[offset]);
}
-static DRIVER_INIT( downtown )
+DRIVER_INIT_MEMBER(seta_state,downtown)
{
- seta_state *state = machine.driver_data<seta_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x200000, 0x2001ff, read16_delegate(FUNC(seta_state::downtown_protection_r),state), write16_delegate(FUNC(seta_state::downtown_protection_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x200000, 0x2001ff, read16_delegate(FUNC(seta_state::downtown_protection_r),this), write16_delegate(FUNC(seta_state::downtown_protection_w),this));
}
@@ -10776,19 +10774,18 @@ READ16_MEMBER(seta_state::arbalest_debug_r)
return 0;
}
-static DRIVER_INIT( arbalest )
+DRIVER_INIT_MEMBER(seta_state,arbalest)
{
- seta_state *state = machine.driver_data<seta_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80000, 0x8000f, read16_delegate(FUNC(seta_state::arbalest_debug_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x80000, 0x8000f, read16_delegate(FUNC(seta_state::arbalest_debug_r),this));
}
-static DRIVER_INIT( metafox )
+DRIVER_INIT_MEMBER(seta_state,metafox)
{
- UINT16 *RAM = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *) machine().root_device().memregion("maincpu")->base();
/* This game uses the 21c000-21ffff area for protection? */
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite(0x21c000, 0x21ffff);
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite(0x21c000, 0x21ffff);
RAM[0x8ab1c/2] = 0x4e71; // patch protection test: "cp error"
RAM[0x8ab1e/2] = 0x4e71;
@@ -10796,7 +10793,7 @@ static DRIVER_INIT( metafox )
}
-static DRIVER_INIT ( blandia )
+DRIVER_INIT_MEMBER(seta_state,blandia)
{
/* rearrange the gfx data so it can be decoded in the same way as the other set */
@@ -10806,9 +10803,9 @@ static DRIVER_INIT ( blandia )
int rpos;
rom_size = 0x80000;
- buf = auto_alloc_array(machine, UINT8, rom_size);
+ buf = auto_alloc_array(machine(), UINT8, rom_size);
- rom = machine.root_device().memregion("gfx2")->base() + 0x40000;
+ rom = machine().root_device().memregion("gfx2")->base() + 0x40000;
for (rpos = 0; rpos < rom_size/2; rpos++) {
buf[rpos+0x40000] = rom[rpos*2];
@@ -10817,7 +10814,7 @@ static DRIVER_INIT ( blandia )
memcpy( rom, buf, rom_size );
- rom = machine.root_device().memregion("gfx3")->base() + 0x40000;
+ rom = machine().root_device().memregion("gfx3")->base() + 0x40000;
for (rpos = 0; rpos < rom_size/2; rpos++) {
buf[rpos+0x40000] = rom[rpos*2];
@@ -10826,27 +10823,26 @@ static DRIVER_INIT ( blandia )
memcpy( rom, buf, rom_size );
- auto_free(machine, buf);
+ auto_free(machine(), buf);
}
-static DRIVER_INIT( eightfrc )
+DRIVER_INIT_MEMBER(seta_state,eightfrc)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x500004, 0x500005); // watchdog??
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x500004, 0x500005); // watchdog??
}
-static DRIVER_INIT( zombraid )
+DRIVER_INIT_MEMBER(seta_state,zombraid)
{
- seta_state *state = machine.driver_data<seta_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xf00002, 0xf00003, read16_delegate(FUNC(seta_state::zombraid_gun_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xf00000, 0xf00001, write16_delegate(FUNC(seta_state::zombraid_gun_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xf00002, 0xf00003, read16_delegate(FUNC(seta_state::zombraid_gun_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xf00000, 0xf00001, write16_delegate(FUNC(seta_state::zombraid_gun_w),this));
}
-static DRIVER_INIT( kiwame )
+DRIVER_INIT_MEMBER(seta_state,kiwame)
{
- UINT16 *RAM = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *) machine().root_device().memregion("maincpu")->base();
/* WARNING: This game writes to the interrupt vector
table. Lev 1 routine address is stored at $100 */
@@ -10856,20 +10852,20 @@ static DRIVER_INIT( kiwame )
}
-static DRIVER_INIT( rezon )
+DRIVER_INIT_MEMBER(seta_state,rezon)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x500006, 0x500007); // irq ack?
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x500006, 0x500007); // irq ack?
}
-static DRIVER_INIT( wiggie )
+DRIVER_INIT_MEMBER(seta_state,wiggie)
{
UINT8 *src;
int len;
UINT8 temp[16];
int i,j;
- src = machine.root_device().memregion("maincpu")->base();
- len = machine.root_device().memregion("maincpu")->bytes();
+ src = machine().root_device().memregion("maincpu")->base();
+ len = machine().root_device().memregion("maincpu")->bytes();
for (i = 0;i < len;i += 16)
{
memcpy(temp,&src[i],16);
@@ -10890,22 +10886,20 @@ static DRIVER_INIT( wiggie )
}
/* X1_010 is not used. */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite(0x100000, 0x103fff);
- seta_state *state = machine.driver_data<seta_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xB00008, 0xB00009, write16_delegate(FUNC(seta_state::wiggie_soundlatch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite(0x100000, 0x103fff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xB00008, 0xB00009, write16_delegate(FUNC(seta_state::wiggie_soundlatch_w),this));
}
-static DRIVER_INIT( crazyfgt )
+DRIVER_INIT_MEMBER(seta_state,crazyfgt)
{
- seta_state *state = machine.driver_data<seta_state>();
- UINT16 *RAM = (UINT16 *) state->memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *) memregion("maincpu")->base();
// protection check at boot
RAM[0x1078/2] = 0x4e71;
// fixed priorities?
- state->m_vregs.allocate(3);
+ m_vregs.allocate(3);
DRIVER_INIT_CALL(blandia);
}
@@ -10914,13 +10908,12 @@ static DRIVER_INIT( crazyfgt )
International Toote
***************************************************************************/
-static DRIVER_INIT( inttoote )
+DRIVER_INIT_MEMBER(seta_state,inttoote)
{
- seta_state *state = machine.driver_data<seta_state>();
- UINT16 *ROM = (UINT16 *)state->memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)memregion( "maincpu" )->base();
// missing / unused video regs
- state->m_vregs.allocate(3);
+ m_vregs.allocate(3);
// code patches (to be removed...)
ROM[0x4de0/2] = 0x4e71; // hardware test errors
@@ -10929,14 +10922,12 @@ static DRIVER_INIT( inttoote )
ROM[0x368a/2] = 0x50f9; // betting count down
}
-static DRIVER_INIT( inttootea )
+DRIVER_INIT_MEMBER(seta_state,inttootea)
{
- //seta_state *state = machine.driver_data<seta_state>();
- //UINT16 *ROM = (UINT16 *)state->memregion( "maincpu" )->base();
+ //UINT16 *ROM = (UINT16 *)memregion( "maincpu" )->base();
// missing / unused video regs
- seta_state *state = machine.driver_data<seta_state>();
- state->m_vregs.allocate(3);
+ m_vregs.allocate(3);
// code patches (to be removed...)
//ROM[0x4de0/2] = 0x4e71; // hardware test errors
@@ -10954,64 +10945,64 @@ static DRIVER_INIT( inttootea )
***************************************************************************/
/* 68000 + 65C02 */
-GAME( 1987, tndrcade, 0, tndrcade, tndrcade, seta_state, 0, ROT270, "Seta (Taito license)", "Thundercade / Twin Formation" , 0) // Title/License: DSW
-GAME( 1987, tndrcadej,tndrcade, tndrcade, tndrcadj, seta_state, 0, ROT270, "Seta (Taito license)", "Tokusyu Butai U.A.G. (Japan)" , 0) // License: DSW
+GAME( 1987, tndrcade, 0, tndrcade, tndrcade, driver_device, 0, ROT270, "Seta (Taito license)", "Thundercade / Twin Formation" , 0) // Title/License: DSW
+GAME( 1987, tndrcadej,tndrcade, tndrcade, tndrcadj, driver_device, 0, ROT270, "Seta (Taito license)", "Tokusyu Butai U.A.G. (Japan)" , 0) // License: DSW
GAME( 1988, twineagl, 0, twineagl, twineagl, seta_state, twineagl, ROT270, "Seta (Taito license)", "Twin Eagle - Revenge Joe's Brother" , 0) // Country/License: DSW
GAME( 1989, downtown, 0, downtown, downtown, seta_state, downtown, ROT270, "Seta", "DownTown / Mokugeki (set 1)" , 0) // Country/License: DSW
GAME( 1989, downtown2,downtown, downtown, downtown, seta_state, downtown, ROT270, "Seta", "DownTown / Mokugeki (set 2)" , 0) // Country/License: DSW
GAME( 1989, downtownj,downtown, downtown, downtown, seta_state, downtown, ROT270, "Seta", "DownTown / Mokugeki (joystick hack)" , 0) // Country/License: DSW
GAME( 1989, downtownp,downtown, downtown, downtown, seta_state, downtown, ROT270, "Seta", "DownTown / Mokugeki (prototype)" , 0) // Country/License: DSW
-GAME( 1989, usclssic, 0, usclssic, usclssic, seta_state, 0, ROT270, "Seta", "U.S. Classic" , 0) // Country/License: DSW
-GAME( 1989, calibr50, 0, calibr50, calibr50, seta_state, 0, ROT270, "Athena / Seta", "Caliber 50" , 0) // Country/License: DSW
+GAME( 1989, usclssic, 0, usclssic, usclssic, driver_device, 0, ROT270, "Seta", "U.S. Classic" , 0) // Country/License: DSW
+GAME( 1989, calibr50, 0, calibr50, calibr50, driver_device, 0, ROT270, "Athena / Seta", "Caliber 50" , 0) // Country/License: DSW
GAME( 1989, arbalest, 0, metafox, arbalest, seta_state, arbalest, ROT270, "Seta", "Arbalester" , 0) // Country/License: DSW
GAME( 1989, metafox, 0, metafox, metafox, seta_state, metafox, ROT270, "Seta", "Meta Fox" , 0) // Country/License: DSW
/* 68000 */
-GAME( 198?, setaroul, 0, setaroul, setaroul, seta_state, 0, ROT270, "Visco", "Visco Roulette", GAME_NOT_WORKING ) // I can't see a title in the GFX roms. Press F2 twice to boot..
-GAME( 1989, drgnunit, 0, drgnunit, drgnunit, seta_state, 0, ROT0, "Seta", "Dragon Unit / Castle of Dragon", 0 )
-GAME( 1989, wits, 0, wits, wits, seta_state, 0, ROT0, "Athena (Visco license)", "Wit's (Japan)" , 0) // Country/License: DSW
-GAME( 1990, thunderl, 0, thunderl, thunderl, seta_state, 0, ROT270, "Seta", "Thunder & Lightning" , 0) // Country/License: DSW
-GAME( 1990, thunderlbl,thunderl,thunderlbl,thunderl, seta_state,0, ROT270, "bootleg", "Thunder & Lightning (bootleg with Tetris sound)" , GAME_NO_SOUND) // Country/License: DSW
+GAME( 198?, setaroul, 0, setaroul, setaroul, driver_device, 0, ROT270, "Visco", "Visco Roulette", GAME_NOT_WORKING ) // I can't see a title in the GFX roms. Press F2 twice to boot..
+GAME( 1989, drgnunit, 0, drgnunit, drgnunit, driver_device, 0, ROT0, "Seta", "Dragon Unit / Castle of Dragon", 0 )
+GAME( 1989, wits, 0, wits, wits, driver_device, 0, ROT0, "Athena (Visco license)", "Wit's (Japan)" , 0) // Country/License: DSW
+GAME( 1990, thunderl, 0, thunderl, thunderl, driver_device, 0, ROT270, "Seta", "Thunder & Lightning" , 0) // Country/License: DSW
+GAME( 1990, thunderlbl,thunderl,thunderlbl,thunderl, driver_device,0, ROT270, "bootleg", "Thunder & Lightning (bootleg with Tetris sound)" , GAME_NO_SOUND) // Country/License: DSW
GAME( 1994, wiggie, 0, wiggie, thunderl, seta_state, wiggie, ROT270, "Promat", "Wiggie Waggie", GAME_IMPERFECT_GRAPHICS ) // hack of Thunder & Lightning
GAME( 1994, superbar, wiggie, superbar, thunderl, seta_state, wiggie, ROT270, "Promat", "Super Bar", GAME_IMPERFECT_GRAPHICS ) // hack of Thunder & Lightning
-GAME( 1990, jockeyc, 0, jockeyc, jockeyc, seta_state, 0, ROT0, "Seta (Visco license)", "Jockey Club", 0 )
+GAME( 1990, jockeyc, 0, jockeyc, jockeyc, driver_device, 0, ROT0, "Seta (Visco license)", "Jockey Club", 0 )
GAME( 1998, inttoote, jockeyc, inttoote, inttoote, seta_state, inttoote, ROT0, "Coinmaster", "International Toote (Germany)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
GAME( 1993, inttootea,jockeyc, inttoote, inttoote, seta_state, inttootea,ROT0, "Coinmaster", "International Toote II (World?)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
GAME( 1991, rezon, 0, rezon, rezon, seta_state, rezon, ROT0, "Allumer", "Rezon", 0 )
GAME( 1992, rezont, rezon, rezon, rezont, seta_state, rezon, ROT0, "Allumer (Taito license)","Rezon (Taito)", 0 )
-GAME( 1991, stg, 0, drgnunit, stg, seta_state, 0, ROT270, "Athena / Tecmo", "Strike Gunner S.T.G", 0 )
-GAME( 1991, pairlove, 0, pairlove, pairlove, seta_state, 0, ROT270, "Athena", "Pairs Love", 0 )
+GAME( 1991, stg, 0, drgnunit, stg, driver_device, 0, ROT270, "Athena / Tecmo", "Strike Gunner S.T.G", 0 )
+GAME( 1991, pairlove, 0, pairlove, pairlove, driver_device, 0, ROT270, "Athena", "Pairs Love", 0 )
GAME( 1992, blandia, 0, blandia, blandia, seta_state, blandia, ROT0, "Allumer", "Blandia", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, blandiap, blandia, blandiap, blandia, seta_state, 0, ROT0, "Allumer", "Blandia (prototype)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, blockcar, 0, blockcar, blockcar, seta_state, 0, ROT90, "Visco", "Block Carnival / Thunder & Lightning 2" , 0) // Title: DSW
-GAME( 1992, qzkklogy, 0, drgnunit, qzkklogy, seta_state, 0, ROT0, "Tecmo", "Quiz Kokology", 0 )
-GAME( 1992, neobattl, 0, umanclub, neobattl, seta_state, 0, ROT270, "Banpresto / Sotsu Agency. Sunrise", "SD Gundam Neo Battling (Japan)", 0 )
-GAME( 1992, umanclub, 0, umanclub, umanclub, seta_state, 0, ROT0, "Banpresto / Tsuburaya Productions", "Ultraman Club - Tatakae! Ultraman Kyoudai!!", 0 )
-GAME( 1992, zingzip, 0, zingzip, zingzip, seta_state, 0, ROT270, "Allumer / Tecmo", "Zing Zing Zip", 0 )
-GAME( 1992, zingzipbl,zingzip, zingzipbl,zingzip, seta_state, 0, ROT270, "bootleg", "Zing Zing Zip (bootleg)", GAME_NOT_WORKING )
-GAME( 1993, atehate, 0, atehate, atehate, seta_state, 0, ROT0, "Athena", "Athena no Hatena ?", 0 )
-GAME( 1993, daioh, 0, daioh, daioh, seta_state, 0, ROT270, "Athena", "Daioh (set 1)", 0 )
-GAME( 1993, daioha, daioh, daioh, daioh, seta_state, 0, ROT270, "Athena", "Daioh (set 2)", 0 )
-GAME( 1993, jjsquawk, 0, jjsquawk, jjsquawk, seta_state, 0, ROT0, "Athena / Able", "J. J. Squawkers", GAME_IMPERFECT_SOUND )
-GAME( 1993, jjsquawkb,jjsquawk, jjsquawb, jjsquawk, seta_state, 0, ROT0, "bootleg", "J. J. Squawkers (bootleg)", GAME_IMPERFECT_SOUND )
-GAME( 1993, jjsquawkb2,jjsquawk,jjsquawk, jjsquawk, seta_state, 0, ROT0, "bootleg", "J. J. Squawkers (bootleg, Blandia Conversion)", GAME_IMPERFECT_SOUND )
-GAME( 1993, kamenrid, 0, kamenrid, kamenrid, seta_state, 0, ROT0, "Banpresto / Toei", "Masked Riders Club Battle Race", 0 )
-GAME( 1993, madshark, 0, madshark, madshark, seta_state, 0, ROT270, "Allumer", "Mad Shark", 0 )
-GAME( 1993, msgundam, 0, msgundam, msgundam, seta_state, 0, ROT0, "Banpresto", "Mobile Suit Gundam", 0 )
-GAME( 1993, msgundam1,msgundam, msgundam, msgunda1, seta_state, 0, ROT0, "Banpresto", "Mobile Suit Gundam (Japan)", 0 )
-GAME( 1993, oisipuzl, 0, oisipuzl, oisipuzl, seta_state, 0, ROT0, "Sunsoft / Atlus", "Oishii Puzzle Ha Irimasenka", 0 )
-GAME( 1993, triplfun, oisipuzl, triplfun, oisipuzl, seta_state, 0, ROT0, "bootleg", "Triple Fun", 0 )
-GAME( 1993, qzkklgy2, 0, qzkklgy2, qzkklgy2, seta_state, 0, ROT0, "Tecmo", "Quiz Kokology 2", 0 )
-GAME( 1993, utoukond, 0, utoukond, utoukond, seta_state, 0, ROT0, "Banpresto / Tsuburaya Productions", "Ultra Toukon Densetsu (Japan)", 0 )
-GAME( 1993, wrofaero, 0, wrofaero, wrofaero, seta_state, 0, ROT270, "Yang Cheng", "War of Aero - Project MEIOU", 0 )
+GAME( 1992, blandiap, blandia, blandiap, blandia, driver_device, 0, ROT0, "Allumer", "Blandia (prototype)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, blockcar, 0, blockcar, blockcar, driver_device, 0, ROT90, "Visco", "Block Carnival / Thunder & Lightning 2" , 0) // Title: DSW
+GAME( 1992, qzkklogy, 0, drgnunit, qzkklogy, driver_device, 0, ROT0, "Tecmo", "Quiz Kokology", 0 )
+GAME( 1992, neobattl, 0, umanclub, neobattl, driver_device, 0, ROT270, "Banpresto / Sotsu Agency. Sunrise", "SD Gundam Neo Battling (Japan)", 0 )
+GAME( 1992, umanclub, 0, umanclub, umanclub, driver_device, 0, ROT0, "Banpresto / Tsuburaya Productions", "Ultraman Club - Tatakae! Ultraman Kyoudai!!", 0 )
+GAME( 1992, zingzip, 0, zingzip, zingzip, driver_device, 0, ROT270, "Allumer / Tecmo", "Zing Zing Zip", 0 )
+GAME( 1992, zingzipbl,zingzip, zingzipbl,zingzip, driver_device, 0, ROT270, "bootleg", "Zing Zing Zip (bootleg)", GAME_NOT_WORKING )
+GAME( 1993, atehate, 0, atehate, atehate, driver_device, 0, ROT0, "Athena", "Athena no Hatena ?", 0 )
+GAME( 1993, daioh, 0, daioh, daioh, driver_device, 0, ROT270, "Athena", "Daioh (set 1)", 0 )
+GAME( 1993, daioha, daioh, daioh, daioh, driver_device, 0, ROT270, "Athena", "Daioh (set 2)", 0 )
+GAME( 1993, jjsquawk, 0, jjsquawk, jjsquawk, driver_device, 0, ROT0, "Athena / Able", "J. J. Squawkers", GAME_IMPERFECT_SOUND )
+GAME( 1993, jjsquawkb,jjsquawk, jjsquawb, jjsquawk, driver_device, 0, ROT0, "bootleg", "J. J. Squawkers (bootleg)", GAME_IMPERFECT_SOUND )
+GAME( 1993, jjsquawkb2,jjsquawk,jjsquawk, jjsquawk, driver_device, 0, ROT0, "bootleg", "J. J. Squawkers (bootleg, Blandia Conversion)", GAME_IMPERFECT_SOUND )
+GAME( 1993, kamenrid, 0, kamenrid, kamenrid, driver_device, 0, ROT0, "Banpresto / Toei", "Masked Riders Club Battle Race", 0 )
+GAME( 1993, madshark, 0, madshark, madshark, driver_device, 0, ROT270, "Allumer", "Mad Shark", 0 )
+GAME( 1993, msgundam, 0, msgundam, msgundam, driver_device, 0, ROT0, "Banpresto", "Mobile Suit Gundam", 0 )
+GAME( 1993, msgundam1,msgundam, msgundam, msgunda1, driver_device, 0, ROT0, "Banpresto", "Mobile Suit Gundam (Japan)", 0 )
+GAME( 1993, oisipuzl, 0, oisipuzl, oisipuzl, driver_device, 0, ROT0, "Sunsoft / Atlus", "Oishii Puzzle Ha Irimasenka", 0 )
+GAME( 1993, triplfun, oisipuzl, triplfun, oisipuzl, driver_device, 0, ROT0, "bootleg", "Triple Fun", 0 )
+GAME( 1993, qzkklgy2, 0, qzkklgy2, qzkklgy2, driver_device, 0, ROT0, "Tecmo", "Quiz Kokology 2", 0 )
+GAME( 1993, utoukond, 0, utoukond, utoukond, driver_device, 0, ROT0, "Banpresto / Tsuburaya Productions", "Ultra Toukon Densetsu (Japan)", 0 )
+GAME( 1993, wrofaero, 0, wrofaero, wrofaero, driver_device, 0, ROT270, "Yang Cheng", "War of Aero - Project MEIOU", 0 )
GAME( 1994, eightfrc, 0, eightfrc, eightfrc, seta_state, eightfrc, ROT90, "Tecmo", "Eight Forces", 0 )
GAME( 1994, kiwame, 0, kiwame, kiwame, seta_state, kiwame, ROT0, "Athena", "Pro Mahjong Kiwame", 0 )
-GAME( 1994, krzybowl, 0, krzybowl, krzybowl, seta_state, 0, ROT270, "American Sammy", "Krazy Bowl", 0 )
-GAME( 1994, magspeed, 0, magspeed, magspeed, seta_state, 0, ROT0, "Allumer", "Magical Speed", 0 )
-GAME( 1994, orbs, 0, orbs, orbs, seta_state, 0, ROT0, "American Sammy", "Orbs (10/7/94 prototype?)", 0 )
-GAME( 1993, keroppi, 0, keroppi, keroppi, seta_state, 0, ROT0, "Sammy Industries", "Kero Kero Keroppi no Issyoni Asobou (Japan)", 0 )
-GAME( 1995, extdwnhl, 0, extdwnhl, extdwnhl, seta_state, 0, ROT0, "Sammy Industries Japan", "Extreme Downhill (v1.5)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, gundhara, 0, gundhara, gundhara, seta_state, 0, ROT270, "Banpresto", "Gundhara", 0 )
-GAME( 1995, sokonuke, 0, extdwnhl, sokonuke, seta_state, 0, ROT0, "Sammy Industries", "Sokonuke Taisen Game (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1994, krzybowl, 0, krzybowl, krzybowl, driver_device, 0, ROT270, "American Sammy", "Krazy Bowl", 0 )
+GAME( 1994, magspeed, 0, magspeed, magspeed, driver_device, 0, ROT0, "Allumer", "Magical Speed", 0 )
+GAME( 1994, orbs, 0, orbs, orbs, driver_device, 0, ROT0, "American Sammy", "Orbs (10/7/94 prototype?)", 0 )
+GAME( 1993, keroppi, 0, keroppi, keroppi, driver_device, 0, ROT0, "Sammy Industries", "Kero Kero Keroppi no Issyoni Asobou (Japan)", 0 )
+GAME( 1995, extdwnhl, 0, extdwnhl, extdwnhl, driver_device, 0, ROT0, "Sammy Industries Japan", "Extreme Downhill (v1.5)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, gundhara, 0, gundhara, gundhara, driver_device, 0, ROT270, "Banpresto", "Gundhara", 0 )
+GAME( 1995, sokonuke, 0, extdwnhl, sokonuke, driver_device, 0, ROT0, "Sammy Industries", "Sokonuke Taisen Game (Japan)", GAME_IMPERFECT_SOUND )
GAME( 1995, zombraid, 0, gundhara, zombraid, seta_state, zombraid, ROT0, "American Sammy", "Zombie Raid (US)", GAME_NO_COCKTAIL )
GAME( 1996, crazyfgt, 0, crazyfgt, crazyfgt, seta_state, crazyfgt, ROT0, "Subsino", "Crazy Fight", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/seta2.c b/src/mame/drivers/seta2.c
index 6f3790ba023..895e461cc0f 100644
--- a/src/mame/drivers/seta2.c
+++ b/src/mame/drivers/seta2.c
@@ -2499,10 +2499,10 @@ ROM_START( funcube5 )
ROM_LOAD( "fc51_snd-0.u47", 0x000000, 0x200000, CRC(2a504fe1) SHA1(911ad650bf48aa78d9cb3c64284aa526ceb519ba) )
ROM_END
-static DRIVER_INIT( funcube )
+DRIVER_INIT_MEMBER(seta2_state,funcube)
{
- UINT32 *main_cpu = (UINT32 *) machine.root_device().memregion("maincpu")->base();
- UINT16 *sub_cpu = (UINT16 *) machine.root_device().memregion("sub")->base();
+ UINT32 *main_cpu = (UINT32 *) machine().root_device().memregion("maincpu")->base();
+ UINT16 *sub_cpu = (UINT16 *) machine().root_device().memregion("sub")->base();
main_cpu[0x064/4] = 0x0000042a; // PIC protection?
@@ -2510,10 +2510,10 @@ static DRIVER_INIT( funcube )
sub_cpu[0x506/2] = 0x5470; // rte -> rts
}
-static DRIVER_INIT( funcube2 )
+DRIVER_INIT_MEMBER(seta2_state,funcube2)
{
- UINT32 *main_cpu = (UINT32 *) machine.root_device().memregion("maincpu")->base();
- UINT16 *sub_cpu = (UINT16 *) machine.root_device().memregion("sub")->base();
+ UINT32 *main_cpu = (UINT32 *) machine().root_device().memregion("maincpu")->base();
+ UINT16 *sub_cpu = (UINT16 *) machine().root_device().memregion("sub")->base();
main_cpu[0xa5c/4] = 0x4e713e3c; // PIC protection?
main_cpu[0xa74/4] = 0x4e713e3c;
@@ -2523,10 +2523,10 @@ static DRIVER_INIT( funcube2 )
sub_cpu[0x4d4/2] = 0x5470; // rte -> rts
}
-static DRIVER_INIT( funcube3 )
+DRIVER_INIT_MEMBER(seta2_state,funcube3)
{
- UINT32 *main_cpu = (UINT32 *) machine.root_device().memregion("maincpu")->base();
- UINT16 *sub_cpu = (UINT16 *) machine.root_device().memregion("sub")->base();
+ UINT32 *main_cpu = (UINT32 *) machine().root_device().memregion("maincpu")->base();
+ UINT16 *sub_cpu = (UINT16 *) machine().root_device().memregion("sub")->base();
main_cpu[0x008bc/4] = 0x4a804e71;
main_cpu[0x19f0c/4] = 0x4e714e71;
@@ -3375,27 +3375,27 @@ ROM_START( trophyh ) /* V1.0 is currently the only known version */
ROM_END
-GAME( 1994, gundamex, 0, gundamex, gundamex, seta2_state, 0, ROT0, "Banpresto", "Mobile Suit Gundam EX Revue", 0 )
-GAME( 1995, grdians, 0, grdians, grdians, seta2_state, 0, ROT0, "Banpresto", "Guardians / Denjin Makai II", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS ) // Displays (c) Winky Soft at game's end.
-GAME( 1996, mj4simai, 0, mj4simai, mj4simai, seta2_state, 0, ROT0, "Maboroshi Ware", "Wakakusamonogatari Mahjong Yonshimai (Japan)", GAME_NO_COCKTAIL )
-GAME( 1996, myangel, 0, myangel, myangel, seta2_state, 0, ROT0, "Namco", "Kosodate Quiz My Angel (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, myangel2, 0, myangel2, myangel2, seta2_state, 0, ROT0, "Namco", "Kosodate Quiz My Angel 2 (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, pzlbowl, 0, pzlbowl, pzlbowl, seta2_state, 0, ROT0, "Nihon System / Moss", "Puzzle De Bowling (Japan)", GAME_NO_COCKTAIL )
-GAME( 2000, penbros, 0, penbros, penbros, seta2_state, 0, ROT0, "Subsino", "Penguin Brothers (Japan)", GAME_NO_COCKTAIL )
-GAME( 2000, namcostr, 0, namcostr, funcube, seta2_state, 0, ROT0, "Namco", "Namco Stars", GAME_NO_COCKTAIL | GAME_NOT_WORKING )
-GAME( 2000, deerhunt, 0, samshoot, deerhunt, seta2_state, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.3", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, deerhunta,deerhunt, samshoot, deerhunt, seta2_state, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.2", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, deerhuntb,deerhunt, samshoot, deerhunt, seta2_state, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.0", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, deerhuntc,deerhunt, samshoot, deerhunt, seta2_state, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V3", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, deerhuntd,deerhunt, samshoot, deerhunt, seta2_state, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V2", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, deerhunte,deerhunt, samshoot, deerhunt, seta2_state, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V1", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2001, turkhunt, 0, samshoot, turkhunt, seta2_state, 0, ROT0, "Sammy USA Corporation", "Turkey Hunting USA V1.0", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2001, wschamp, 0, samshoot, wschamp, seta2_state, 0, ROT0, "Sammy USA Corporation", "Wing Shooting Championship V2.00", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2001, wschampa, wschamp, samshoot, wschamp, seta2_state, 0, ROT0, "Sammy USA Corporation", "Wing Shooting Championship V1.01", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2002, trophyh, 0, samshoot, trophyh, seta2_state, 0, ROT0, "Sammy USA Corporation", "Trophy Hunting - Bear & Moose V1.0", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, gundamex, 0, gundamex, gundamex, driver_device, 0, ROT0, "Banpresto", "Mobile Suit Gundam EX Revue", 0 )
+GAME( 1995, grdians, 0, grdians, grdians, driver_device, 0, ROT0, "Banpresto", "Guardians / Denjin Makai II", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS ) // Displays (c) Winky Soft at game's end.
+GAME( 1996, mj4simai, 0, mj4simai, mj4simai, driver_device, 0, ROT0, "Maboroshi Ware", "Wakakusamonogatari Mahjong Yonshimai (Japan)", GAME_NO_COCKTAIL )
+GAME( 1996, myangel, 0, myangel, myangel, driver_device, 0, ROT0, "Namco", "Kosodate Quiz My Angel (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, myangel2, 0, myangel2, myangel2, driver_device, 0, ROT0, "Namco", "Kosodate Quiz My Angel 2 (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, pzlbowl, 0, pzlbowl, pzlbowl, driver_device, 0, ROT0, "Nihon System / Moss", "Puzzle De Bowling (Japan)", GAME_NO_COCKTAIL )
+GAME( 2000, penbros, 0, penbros, penbros, driver_device, 0, ROT0, "Subsino", "Penguin Brothers (Japan)", GAME_NO_COCKTAIL )
+GAME( 2000, namcostr, 0, namcostr, funcube, driver_device, 0, ROT0, "Namco", "Namco Stars", GAME_NO_COCKTAIL | GAME_NOT_WORKING )
+GAME( 2000, deerhunt, 0, samshoot, deerhunt, driver_device, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.3", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, deerhunta,deerhunt, samshoot, deerhunt, driver_device, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.2", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, deerhuntb,deerhunt, samshoot, deerhunt, driver_device, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.0", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, deerhuntc,deerhunt, samshoot, deerhunt, driver_device, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V3", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, deerhuntd,deerhunt, samshoot, deerhunt, driver_device, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V2", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, deerhunte,deerhunt, samshoot, deerhunt, driver_device, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V1", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 2001, turkhunt, 0, samshoot, turkhunt, driver_device, 0, ROT0, "Sammy USA Corporation", "Turkey Hunting USA V1.0", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 2001, wschamp, 0, samshoot, wschamp, driver_device, 0, ROT0, "Sammy USA Corporation", "Wing Shooting Championship V2.00", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 2001, wschampa, wschamp, samshoot, wschamp, driver_device, 0, ROT0, "Sammy USA Corporation", "Wing Shooting Championship V1.01", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 2002, trophyh, 0, samshoot, trophyh, driver_device, 0, ROT0, "Sammy USA Corporation", "Trophy Hunting - Bear & Moose V1.0", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
GAME( 2000, funcube, 0, funcube, funcube, seta2_state, funcube, ROT0, "Namco", "Funcube (v1.5)", GAME_NO_COCKTAIL )
GAME( 2001, funcube2, 0, funcube2, funcube, seta2_state, funcube2, ROT0, "Namco", "Funcube 2 (v1.1)", GAME_NO_COCKTAIL )
GAME( 2001, funcube3, 0, funcube3, funcube, seta2_state, funcube3, ROT0, "Namco", "Funcube 3 (v1.1)", GAME_NO_COCKTAIL )
GAME( 2001, funcube4, 0, funcube2, funcube, seta2_state, funcube2, ROT0, "Namco", "Funcube 4 (v1.0)", GAME_NO_COCKTAIL )
GAME( 2002, funcube5, 0, funcube2, funcube, seta2_state, funcube2, ROT0, "Namco", "Funcube 5 (v1.0)", GAME_NO_COCKTAIL )
-GAME( ????, reelquak, 0, reelquak, reelquak, seta2_state, 0, ROT0, "<unknown>", "Reel'N Quake! (Ver. 1.05)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( ????, reelquak, 0, reelquak, reelquak, driver_device, 0, ROT0, "<unknown>", "Reel'N Quake! (Ver. 1.05)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/sf.c b/src/mame/drivers/sf.c
index 1e71273c812..120f3dbf901 100644
--- a/src/mame/drivers/sf.c
+++ b/src/mame/drivers/sf.c
@@ -1250,8 +1250,8 @@ ROM_END
-GAME( 1987, sf, 0, sf, sf, sf_state, 0, ROT0, "Capcom", "Street Fighter (World, Analog buttons)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sfu, sf, sfus, sfus, sf_state, 0, ROT0, "Capcom", "Street Fighter (US, set 1)", GAME_SUPPORTS_SAVE ) // Shows Capcom copyright
-GAME( 1987, sfua, sf, sfjp, sfjp, sf_state, 0, ROT0, "Capcom", "Street Fighter (US, set 2) (protected)", GAME_SUPPORTS_SAVE ) // Shows Capcom USA copyright
-GAME( 1987, sfj, sf, sfjp, sfjp, sf_state, 0, ROT0, "Capcom", "Street Fighter (Japan) (protected)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sfp, sf, sfp, sf, sf_state, 0, ROT0, "Capcom", "Street Fighter (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1987, sf, 0, sf, sf, driver_device, 0, ROT0, "Capcom", "Street Fighter (World, Analog buttons)", GAME_SUPPORTS_SAVE )
+GAME( 1987, sfu, sf, sfus, sfus, driver_device, 0, ROT0, "Capcom", "Street Fighter (US, set 1)", GAME_SUPPORTS_SAVE ) // Shows Capcom copyright
+GAME( 1987, sfua, sf, sfjp, sfjp, driver_device, 0, ROT0, "Capcom", "Street Fighter (US, set 2) (protected)", GAME_SUPPORTS_SAVE ) // Shows Capcom USA copyright
+GAME( 1987, sfj, sf, sfjp, sfjp, driver_device, 0, ROT0, "Capcom", "Street Fighter (Japan) (protected)", GAME_SUPPORTS_SAVE )
+GAME( 1987, sfp, sf, sfp, sf, driver_device, 0, ROT0, "Capcom", "Street Fighter (prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/sfbonus.c b/src/mame/drivers/sfbonus.c
index 370b107a76f..24ea9066621 100644
--- a/src/mame/drivers/sfbonus.c
+++ b/src/mame/drivers/sfbonus.c
@@ -322,6 +322,130 @@ public:
DECLARE_WRITE8_MEMBER(sfbonus_3000_w);
DECLARE_WRITE8_MEMBER(sfbonus_2801_w);
DECLARE_WRITE8_MEMBER(sfbonus_2c01_w);
+ DECLARE_DRIVER_INIT(hldspin2d);
+ DECLARE_DRIVER_INIT(ch2000v3);
+ DECLARE_DRIVER_INIT(fb5v);
+ DECLARE_DRIVER_INIT(suprball);
+ DECLARE_DRIVER_INIT(ch2000v2);
+ DECLARE_DRIVER_INIT(act2000v3);
+ DECLARE_DRIVER_INIT(classiced3);
+ DECLARE_DRIVER_INIT(fb6v3);
+ DECLARE_DRIVER_INIT(fb4d);
+ DECLARE_DRIVER_INIT(dblchal);
+ DECLARE_DRIVER_INIT(tighookv2);
+ DECLARE_DRIVER_INIT(funriverv);
+ DECLARE_DRIVER_INIT(pir2002);
+ DECLARE_DRIVER_INIT(moneymacd);
+ DECLARE_DRIVER_INIT(classice);
+ DECLARE_DRIVER_INIT(fb6);
+ DECLARE_DRIVER_INIT(classicev3);
+ DECLARE_DRIVER_INIT(fb4);
+ DECLARE_DRIVER_INIT(ch2000c);
+ DECLARE_DRIVER_INIT(pir2001);
+ DECLARE_DRIVER_INIT(version4);
+ DECLARE_DRIVER_INIT(pir2002v);
+ DECLARE_DRIVER_INIT(act2000v2);
+ DECLARE_DRIVER_INIT(fb6s);
+ DECLARE_DRIVER_INIT(abnudge);
+ DECLARE_DRIVER_INIT(fb2genv3);
+ DECLARE_DRIVER_INIT(robadv2d);
+ DECLARE_DRIVER_INIT(pir2002d);
+ DECLARE_DRIVER_INIT(bugfeverv);
+ DECLARE_DRIVER_INIT(anithunt);
+ DECLARE_DRIVER_INIT(fb2genv);
+ DECLARE_DRIVER_INIT(bugfeverv2);
+ DECLARE_DRIVER_INIT(tighookd);
+ DECLARE_DRIVER_INIT(fb6v);
+ DECLARE_DRIVER_INIT(pir2002v2);
+ DECLARE_DRIVER_INIT(sfruitbv);
+ DECLARE_DRIVER_INIT(sfbonus);
+ DECLARE_DRIVER_INIT(pirpok2v2);
+ DECLARE_DRIVER_INIT(parrot3v2);
+ DECLARE_DRIVER_INIT(fb4v3);
+ DECLARE_DRIVER_INIT(sfbonus_common);
+ DECLARE_DRIVER_INIT(seawld);
+ DECLARE_DRIVER_INIT(moneymacv);
+ DECLARE_DRIVER_INIT(fb3g);
+ DECLARE_DRIVER_INIT(act2000);
+ DECLARE_DRIVER_INIT(robadv2v1);
+ DECLARE_DRIVER_INIT(moneymac);
+ DECLARE_DRIVER_INIT(pickwinv);
+ DECLARE_DRIVER_INIT(version4v);
+ DECLARE_DRIVER_INIT(pir2001v2);
+ DECLARE_DRIVER_INIT(spooky);
+ DECLARE_DRIVER_INIT(pickwinv2);
+ DECLARE_DRIVER_INIT(pickwin);
+ DECLARE_DRIVER_INIT(act2000v);
+ DECLARE_DRIVER_INIT(fb6d);
+ DECLARE_DRIVER_INIT(fb5d);
+ DECLARE_DRIVER_INIT(seawldv);
+ DECLARE_DRIVER_INIT(anibonusv);
+ DECLARE_DRIVER_INIT(getrich);
+ DECLARE_DRIVER_INIT(anibonus);
+ DECLARE_DRIVER_INIT(atworld);
+ DECLARE_DRIVER_INIT(anibonusd);
+ DECLARE_DRIVER_INIT(fb2gen);
+ DECLARE_DRIVER_INIT(atworldd);
+ DECLARE_DRIVER_INIT(fb2gend);
+ DECLARE_DRIVER_INIT(sfruitbd);
+ DECLARE_DRIVER_INIT(anithuntv);
+ DECLARE_DRIVER_INIT(version4d2);
+ DECLARE_DRIVER_INIT(classiced);
+ DECLARE_DRIVER_INIT(fb5);
+ DECLARE_DRIVER_INIT(fruitcar2);
+ DECLARE_DRIVER_INIT(fruitcar3);
+ DECLARE_DRIVER_INIT(sfbonusd);
+ DECLARE_DRIVER_INIT(dblchald);
+ DECLARE_DRIVER_INIT(pirpok2);
+ DECLARE_DRIVER_INIT(anithuntd);
+ DECLARE_DRIVER_INIT(fb2ndv);
+ DECLARE_DRIVER_INIT(ch2000v);
+ DECLARE_DRIVER_INIT(funriver);
+ DECLARE_DRIVER_INIT(pickwind);
+ DECLARE_DRIVER_INIT(fruitcar);
+ DECLARE_DRIVER_INIT(hldspin1);
+ DECLARE_DRIVER_INIT(sfruitb);
+ DECLARE_DRIVER_INIT(hldspin1v);
+ DECLARE_DRIVER_INIT(sfbonusv);
+ DECLARE_DRIVER_INIT(dblchalv);
+ DECLARE_DRIVER_INIT(act2000d);
+ DECLARE_DRIVER_INIT(sfruitbv2);
+ DECLARE_DRIVER_INIT(robadv2v4);
+ DECLARE_DRIVER_INIT(anibonus3);
+ DECLARE_DRIVER_INIT(fb2ndd);
+ DECLARE_DRIVER_INIT(classicev);
+ DECLARE_DRIVER_INIT(hldspin1d);
+ DECLARE_DRIVER_INIT(fb4v);
+ DECLARE_DRIVER_INIT(abnudgev);
+ DECLARE_DRIVER_INIT(bugfeverd);
+ DECLARE_DRIVER_INIT(dvisland);
+ DECLARE_DRIVER_INIT(fb2nd);
+ DECLARE_DRIVER_INIT(version4v2);
+ DECLARE_DRIVER_INIT(ch2000);
+ DECLARE_DRIVER_INIT(ch2000d);
+ DECLARE_DRIVER_INIT(abnudged);
+ DECLARE_DRIVER_INIT(anibonusv3);
+ DECLARE_DRIVER_INIT(fbdeluxe);
+ DECLARE_DRIVER_INIT(bugfever);
+ DECLARE_DRIVER_INIT(parrot3v);
+ DECLARE_DRIVER_INIT(pir2001v);
+ DECLARE_DRIVER_INIT(tighook);
+ DECLARE_DRIVER_INIT(hldspin2);
+ DECLARE_DRIVER_INIT(hldspin2v);
+ DECLARE_DRIVER_INIT(pirpok2v);
+ DECLARE_DRIVER_INIT(parrot3d);
+ DECLARE_DRIVER_INIT(pir2001d);
+ DECLARE_DRIVER_INIT(tighookv);
+ DECLARE_DRIVER_INIT(robadv);
+ DECLARE_DRIVER_INIT(pirpok2d);
+ void sfbonus_bitswap(UINT8 xor0, UINT8 b00, UINT8 b01, UINT8 b02, UINT8 b03, UINT8 b04, UINT8 b05, UINT8 b06,UINT8 b07,
+ UINT8 xor1, UINT8 b10, UINT8 b11, UINT8 b12, UINT8 b13, UINT8 b14, UINT8 b15, UINT8 b16,UINT8 b17,
+ UINT8 xor2, UINT8 b20, UINT8 b21, UINT8 b22, UINT8 b23, UINT8 b24, UINT8 b25, UINT8 b26,UINT8 b27,
+ UINT8 xor3, UINT8 b30, UINT8 b31, UINT8 b32, UINT8 b33, UINT8 b34, UINT8 b35, UINT8 b36,UINT8 b37,
+ UINT8 xor4, UINT8 b40, UINT8 b41, UINT8 b42, UINT8 b43, UINT8 b44, UINT8 b45, UINT8 b46,UINT8 b47,
+ UINT8 xor5, UINT8 b50, UINT8 b51, UINT8 b52, UINT8 b53, UINT8 b54, UINT8 b55, UINT8 b56,UINT8 b57,
+ UINT8 xor6, UINT8 b60, UINT8 b61, UINT8 b62, UINT8 b63, UINT8 b64, UINT8 b65, UINT8 b66,UINT8 b67,
+ UINT8 xor7, UINT8 b70, UINT8 b71, UINT8 b72, UINT8 b73, UINT8 b74, UINT8 b75, UINT8 b76,UINT8 b77 );
};
@@ -5686,40 +5810,39 @@ ROM_END
//ROM_REGION( 0x80000, "user1", 0 ) /* Z80 Code */
//ROM_LOAD( "dummy.rom", 0x00000, 0x40000, CRC(1) SHA1(1) )
-static DRIVER_INIT( sfbonus_common)
+DRIVER_INIT_MEMBER(sfbonus_state,sfbonus_common)
{
- sfbonus_state *state = machine.driver_data<sfbonus_state>();
- state->m_tilemap_ram = auto_alloc_array(machine, UINT8, 0x4000);
- memset(state->m_tilemap_ram, 0xff, 0x4000);
- state_save_register_global_pointer(machine, state->m_tilemap_ram , 0x4000);
+ m_tilemap_ram = auto_alloc_array(machine(), UINT8, 0x4000);
+ memset(m_tilemap_ram, 0xff, 0x4000);
+ state_save_register_global_pointer(machine(), m_tilemap_ram , 0x4000);
- state->m_reel_ram = auto_alloc_array(machine, UINT8, 0x0800);
- memset(state->m_reel_ram, 0xff ,0x0800);
- state_save_register_global_pointer(machine, state->m_reel_ram , 0x0800);
+ m_reel_ram = auto_alloc_array(machine(), UINT8, 0x0800);
+ memset(m_reel_ram, 0xff ,0x0800);
+ state_save_register_global_pointer(machine(), m_reel_ram , 0x0800);
- state->m_reel2_ram = auto_alloc_array(machine, UINT8, 0x0800);
- memset(state->m_reel2_ram, 0xff, 0x0800);
- state_save_register_global_pointer(machine, state->m_reel2_ram , 0x0800);
+ m_reel2_ram = auto_alloc_array(machine(), UINT8, 0x0800);
+ memset(m_reel2_ram, 0xff, 0x0800);
+ state_save_register_global_pointer(machine(), m_reel2_ram , 0x0800);
- state->m_reel3_ram = auto_alloc_array(machine, UINT8, 0x0800);
- memset(state->m_reel3_ram, 0xff, 0x0800);
- state_save_register_global_pointer(machine, state->m_reel3_ram , 0x0800);
+ m_reel3_ram = auto_alloc_array(machine(), UINT8, 0x0800);
+ memset(m_reel3_ram, 0xff, 0x0800);
+ state_save_register_global_pointer(machine(), m_reel3_ram , 0x0800);
- state->m_reel4_ram = auto_alloc_array(machine, UINT8, 0x0800);
- memset(state->m_reel4_ram, 0xff, 0x0800);
- state_save_register_global_pointer(machine, state->m_reel4_ram , 0x0800);
+ m_reel4_ram = auto_alloc_array(machine(), UINT8, 0x0800);
+ memset(m_reel4_ram, 0xff, 0x0800);
+ state_save_register_global_pointer(machine(), m_reel4_ram , 0x0800);
- state->m_videoram = auto_alloc_array(machine, UINT8, 0x10000);
+ m_videoram = auto_alloc_array(machine(), UINT8, 0x10000);
- memset(state->m_videoram, 0xff, 0x10000);
+ memset(m_videoram, 0xff, 0x10000);
- state_save_register_global_pointer(machine, state->m_videoram, 0x10000);
+ state_save_register_global_pointer(machine(), m_videoram, 0x10000);
// dummy.rom helper
{
- UINT8 *ROM = state->memregion("maincpu")->base();
- int length = state->memregion("maincpu")->bytes();
- UINT8* ROM2 = state->memregion("user1")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
+ int length = memregion("maincpu")->bytes();
+ UINT8* ROM2 = memregion("user1")->base();
if (ROM2)
{
@@ -5745,7 +5868,7 @@ static DRIVER_INIT( sfbonus_common)
{
FILE *fp;
char filename[256];
- sprintf(filename,"decr_%s", machine.system().name);
+ sprintf(filename,"decr_%s", machine().system().name);
fp = fopen(filename, "w+b");
if (fp)
{
@@ -5757,7 +5880,7 @@ static DRIVER_INIT( sfbonus_common)
}
}
-static void sfbonus_bitswap( running_machine& machine,
+void sfbonus_state::sfbonus_bitswap(
UINT8 xor0, UINT8 b00, UINT8 b01, UINT8 b02, UINT8 b03, UINT8 b04, UINT8 b05, UINT8 b06,UINT8 b07,
UINT8 xor1, UINT8 b10, UINT8 b11, UINT8 b12, UINT8 b13, UINT8 b14, UINT8 b15, UINT8 b16,UINT8 b17,
UINT8 xor2, UINT8 b20, UINT8 b21, UINT8 b22, UINT8 b23, UINT8 b24, UINT8 b25, UINT8 b26,UINT8 b27,
@@ -5769,9 +5892,9 @@ static void sfbonus_bitswap( running_machine& machine,
{
int i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
- for(i = 0; i < machine.root_device().memregion("maincpu")->bytes(); i++)
+ for(i = 0; i < machine().root_device().memregion("maincpu")->bytes(); i++)
{
UINT8 x = ROM[i];
@@ -5789,126 +5912,126 @@ static void sfbonus_bitswap( running_machine& machine,
ROM[i] = x;
}
- DRIVER_INIT_CALL(sfbonus_common);
+ init_sfbonus_common();
}
//static DRIVER_INIT(helper) { sfbonus_bitswap(machine, 0xff, 7,6,5,4,3,2,1,0, 0xff, 7,6,5,4,3,2,1,0, 0xff, 7,6,5,4,3,2,1,0, 0xff, 7,6,5,4,3,2,1,0, 0xff, 7,6,5,4,3,2,1,0, 0xff, 7,6,5,4,3,2,1,0, 0xff, 7,6,5,4,3,2,1,0, 0xff, 7,6,5,4,3,2,1,0); }
-static DRIVER_INIT(abnudge) { sfbonus_bitswap(machine, 0x33, 0,3,7,6,5,2,1,4, 0xff, 3,7,6,5,1,0,4,2, 0x36, 4,2,3,7,6,5,1,0, 0xa8, 3,2,4,0,1,7,6,5, 0x2c, 0,1,7,6,5,2,4,3, 0xff, 3,7,6,5,1,0,4,2, 0x26, 2,4,3,7,6,5,1,0, 0xbe, 4,1,3,0,2,7,6,5); }
-static DRIVER_INIT(abnudged) { sfbonus_bitswap(machine, 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x21, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3d, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x21, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(abnudgev) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(act2000) { sfbonus_bitswap(machine, 0x25, 1,2,7,6,5,4,3,0, 0xE6, 1,7,6,5,4,3,0,2, 0x20, 2,4,1,7,6,5,0,3, 0xBF, 0,3,1,2,4,7,6,5, 0x2E, 1,3,7,6,5,2,0,4, 0xE0, 3,7,6,5,2,0,4,1, 0x2D, 4,1,2,7,6,5,0,3, 0xB2, 2,0,4,1,3,7,6,5); }
-static DRIVER_INIT(act2000d) { sfbonus_bitswap(machine, 0x3d, 0,2,7,6,5,4,3,1, 0xef, 1,7,6,5,4,3,2,0, 0x27, 0,2,1,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xed, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(act2000v) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(act2000v2) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(act2000v3) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(anibonus) { sfbonus_bitswap(machine, 0x33, 0,3,7,6,5,2,1,4, 0xe7, 2,7,6,5,3,4,1,0, 0x3a, 4,2,3,7,6,5,1,0, 0xa8, 3,4,2,0,1,7,6,5, 0x3d, 2,3,7,6,5,1,0,4, 0xff, 3,7,6,5,1,0,2,4, 0x3a, 4,2,3,7,6,5,1,0, 0xbe, 3,4,1,0,2,7,6,5); }
-static DRIVER_INIT(anibonus3) { sfbonus_bitswap(machine, 0x33, 0,3,7,6,5,2,1,4, 0xff, 3,7,6,5,1,0,4,2, 0x36, 4,2,3,7,6,5,1,0, 0xa8, 3,2,4,0,1,7,6,5, 0x2c, 0,1,7,6,5,2,4,3, 0xff, 3,7,6,5,1,0,4,2, 0x26, 2,4,3,7,6,5,1,0, 0xbe, 4,1,3,0,2,7,6,5); }
-static DRIVER_INIT(anibonusd) { sfbonus_bitswap(machine, 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x21, 0,2,1,7,6,5,4,3, 0xa8, 4,3,0,1,2,7,6,5, 0x3d, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x21, 0,2,1,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(anibonusv) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 0,1,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(anibonusv3) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(anithunt) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xe7, 4,7,6,5,0,3,1,2, 0x33, 0,2,1,7,6,5,4,3, 0xb3, 0,3,4,2,1,7,6,5, 0x2a, 1,3,7,6,5,2,0,4, 0xe4, 3,7,6,5,2,0,4,1, 0x2d, 4,1,3,7,6,5,2,0, 0xb6, 0,3,2,1,4,7,6,5); }
-static DRIVER_INIT(anithuntd) { sfbonus_bitswap(machine, 0x3c, 0,1,7,6,5,4,3,2, 0xee, 0,7,6,5,4,3,2,1, 0x21, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3d, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x21, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(anithuntv) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(atworld) { sfbonus_bitswap(machine, 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x26, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
-static DRIVER_INIT(atworldd) { sfbonus_bitswap(machine, 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x26, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xe8, 1,7,6,5,4,3,0,2, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
-static DRIVER_INIT(ch2000) { sfbonus_bitswap(machine, 0x29, 2,3,7,6,5,0,4,1, 0xfe, 2,7,6,5,1,0,3,4, 0x33, 0,1,3,7,6,5,2,4, 0xa6, 1,0,3,4,2,7,6,5, 0x25, 4,1,7,6,5,3,2,0, 0xfe, 2,7,6,5,1,0,3,4, 0x35, 0,1,4,7,6,5,3,2, 0xbe, 1,0,4,2,3,7,6,5); }
-static DRIVER_INIT(ch2000c) { sfbonus_bitswap(machine, 0x29, 2,3,7,6,5,0,4,1, 0xfe, 2,7,6,5,1,0,3,4, 0x33, 0,1,3,7,6,5,2,4, 0xa6, 1,0,3,4,2,7,6,5, 0x25, 4,1,7,6,5,3,2,0, 0xfe, 2,7,6,5,1,0,3,4, 0x35, 0,1,4,7,6,5,3,2, 0xbe, 1,0,4,2,3,7,6,5); }
-static DRIVER_INIT(ch2000d) { sfbonus_bitswap(machine, 0x38, 0,2,7,6,5,4,3,1, 0xed, 0,7,6,5,4,3,2,1, 0x25, 2,0,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3c, 0,1,7,6,5,4,3,2, 0xed, 1,7,6,5,4,3,0,2, 0x25, 2,0,1,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(ch2000v) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(ch2000v2) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3e, 2,1,7,6,5,4,3,0, 0xec, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(ch2000v3) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(classice) { sfbonus_bitswap(machine, 0x3f, 2,0,7,6,5,4,3,1, 0xe9, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xab, 4,3,2,0,1,7,6,5, 0x3e, 2,1,7,6,5,4,3,0, 0xeb, 2,7,6,5,4,3,0,1, 0x22, 0,2,1,7,6,5,4,3, 0xad, 4,3,0,2,1,7,6,5); }
-static DRIVER_INIT(classiced) { sfbonus_bitswap(machine, 0x38, 0,2,7,6,5,4,3,1, 0xea, 2,7,6,5,4,3,0,1, 0x24, 2,1,0,7,6,5,4,3, 0xaa, 4,3,2,0,1,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xe8, 0,7,6,5,4,3,1,2, 0x24, 2,1,0,7,6,5,4,3, 0xa8, 4,3,0,2,1,7,6,5); }
-static DRIVER_INIT(classiced3) { sfbonus_bitswap(machine, 0x3b, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x24, 2,1,0,7,6,5,4,3, 0xaa, 4,3,2,0,1,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xe8, 0,7,6,5,4,3,1,2, 0x24, 2,1,0,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5); }
-static DRIVER_INIT(classicev) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(classicev3) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xe9, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(dblchal) { sfbonus_bitswap(machine, 0x3D, 0,3,7,6,5,2,1,4, 0xF3, 3,7,6,5,1,0,4,2, 0x3D, 2,0,1,7,6,5,3,4, 0xA8, 3,4,2,0,1,7,6,5, 0x3D, 2,3,7,6,5,1,0,4, 0xEF, 2,7,6,5,1,0,3,4, 0x3A, 4,2,3,7,6,5,1,0, 0xBA, 2,4,1,0,3,7,6,5); }
-static DRIVER_INIT(dblchald) { sfbonus_bitswap(machine, 0x3c, 0,1,7,6,5,4,3,2, 0xed, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x27, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(dblchalv) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb2gen) { sfbonus_bitswap(machine, 0x35, 0,3,7,6,5,2,1,4, 0xe8, 2,7,6,5,4,3,1,0, 0x23, 4,3,2,7,6,5,1,0, 0xb8, 2,1,4,0,3,7,6,5, 0x2d, 0,1,7,6,5,4,2,3, 0xf8, 2,7,6,5,1,4,3,0, 0x23, 4,0,3,7,6,5,2,1, 0xb8, 2,1,4,0,3,7,6,5); }
-static DRIVER_INIT(fb2gend) { sfbonus_bitswap(machine, 0x3d, 2,0,7,6,5,4,3,1, 0xeb, 1,7,6,5,4,3,0,2, 0x25, 2,0,1,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3c, 0,1,7,6,5,4,3,2, 0xeb, 2,7,6,5,4,3,1,0, 0x25, 2,0,1,7,6,5,4,3, 0xac, 4,3,2,1,0,7,6,5); }
-static DRIVER_INIT(fb2genv) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xea, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb2genv3) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xeb, 0,7,6,5,4,3,2,1, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb2nd) { sfbonus_bitswap(machine, 0x2f, 0,2,7,6,5,3,4,1, 0xff, 2,7,6,5,3,0,4,1, 0x3e, 4,0,1,7,6,5,2,3, 0xad, 3,0,4,1,2,7,6,5, 0x35, 4,3,7,6,5,1,0,2, 0xfd, 4,7,6,5,3,1,2,0, 0x3a, 4,1,2,7,6,5,3,0, 0xbd, 3,4,2,0,1,7,6,5); }
-static DRIVER_INIT(fb2ndv) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 2,1,7,6,5,4,3,0, 0xec, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb2ndd) { sfbonus_bitswap(machine, 0x3b, 1,0,7,6,5,4,3,2, 0xeb, 1,7,6,5,4,3,0,2, 0x25, 2,0,1,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3c, 0,1,7,6,5,4,3,2, 0xeb, 2,7,6,5,4,3,1,0, 0x25, 2,0,1,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(fb4) { sfbonus_bitswap(machine, 0x37, 1,2,7,6,5,4,3,0, 0xeb, 1,7,6,5,4,0,2,3, 0x2d, 4,0,2,7,6,5,3,1, 0xbd, 2,0,4,1,3,7,6,5, 0x29, 4,1,7,6,5,2,3,0, 0xff, 1,7,6,5,2,3,0,4, 0x3f, 1,0,4,7,6,5,3,2, 0xae, 2,3,0,4,1,7,6,5); }
-static DRIVER_INIT(fb4d) { sfbonus_bitswap(machine, 0x3d, 2,0,7,6,5,4,3,1, 0xeb, 1,7,6,5,4,3,0,2, 0x25, 2,0,1,7,6,5,4,3, 0xad, 4,3,2,1,0,7,6,5, 0x3c, 0,1,7,6,5,4,3,2, 0xeb, 2,7,6,5,4,3,1,0, 0x25, 2,0,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb4v) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xeb, 0,7,6,5,4,3,2,1, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb4v3) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3e, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb5) { sfbonus_bitswap(machine, 0x20, 0,3,7,6,5,1,4,2, 0xf1, 1,7,6,5,3,2,4,0, 0x33, 2,3,1,7,6,5,0,4, 0xaf, 2,0,1,4,3,7,6,5, 0x2d, 2,4,7,6,5,1,0,3, 0xfb, 4,7,6,5,1,0,3,2, 0x34, 2,0,4,7,6,5,3,1, 0xb7, 1,0,3,2,4,7,6,5); }
-static DRIVER_INIT(fb5d) { sfbonus_bitswap(machine, 0x3e, 2,1,7,6,5,4,3,0, 0xef, 1,7,6,5,4,3,2,0, 0x24, 2,1,0,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xeb, 2,7,6,5,4,3,1,0, 0x24, 2,1,0,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(fb5v) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb6) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb6d) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb6s) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x24, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 0,7,6,5,4,3,2,1, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb6v) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xed, 2,7,6,5,4,3,1,0, 0x23, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb6v3) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fruitcar) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fruitcar2) { sfbonus_bitswap(machine, 0x33, 0,3,7,6,5,2,1,4, 0xff, 3,7,6,5,1,0,4,2, 0x36, 4,2,3,7,6,5,1,0, 0xa8, 3,2,4,0,1,7,6,5, 0x2c, 0,1,7,6,5,2,4,3, 0xff, 3,7,6,5,1,0,4,2, 0x26, 2,4,3,7,6,5,1,0, 0xbe, 4,1,3,0,2,7,6,5); }
-static DRIVER_INIT(fruitcar3) { sfbonus_bitswap(machine, 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x21, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3d, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x21, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(hldspin1) { sfbonus_bitswap(machine, 0x21, 0,2,7,6,5,4,3,1, 0xe1, 1,7,6,5,4,3,2,0, 0x31, 1,4,3,7,6,5,2,0, 0xbc, 0,3,4,2,1,7,6,5, 0x24, 4,3,7,6,5,2,0,1, 0xf8, 3,7,6,5,2,0,1,4, 0x39, 1,4,2,7,6,5,0,3, 0xaf, 0,3,2,1,4,7,6,5); }
-static DRIVER_INIT(hldspin1d) { sfbonus_bitswap(machine, 0x38, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x27, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3e, 0,2,7,6,5,4,3,1, 0xeb, 1,7,6,5,4,3,0,2, 0x27, 1,0,2,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(hldspin1v) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x26, 2,1,0,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(hldspin2) { sfbonus_bitswap(machine, 0x21, 1,3,7,6,5,0,4,2, 0xfe, 2,7,6,5,1,0,4,3, 0x33, 1,0,3,7,6,5,2,4, 0xa6, 1,0,4,3,2,7,6,5, 0x37, 0,1,7,6,5,3,2,4, 0xfe, 2,7,6,5,1,0,4,3, 0x36, 1,0,4,7,6,5,3,2, 0xa2, 1,0,2,4,3,7,6,5); }
-static DRIVER_INIT(hldspin2d) { sfbonus_bitswap(machine, 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x27, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3e, 0,2,7,6,5,4,3,1, 0xeb, 1,7,6,5,4,3,0,2, 0x27, 1,0,2,7,6,5,4,3, 0xab, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(hldspin2v) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x23, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(moneymac) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xeb, 0,7,6,5,4,3,2,1, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(moneymacv) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x23, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xeb, 0,7,6,5,4,3,2,1, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(moneymacd) { sfbonus_bitswap(machine, 0x3a, 1,0,7,6,5,4,3,2, 0xe9, 0,7,6,5,4,3,1,2, 0x26, 0,2,1,7,6,5,4,3, 0xaf, 4,3,1,2,0,7,6,5, 0x3d, 0,2,7,6,5,4,3,1, 0xe9, 0,7,6,5,4,3,1,2, 0x23, 0,1,2,7,6,5,4,3, 0xae, 4,3,2,0,1,7,6,5); }
-static DRIVER_INIT(parrot3d) { sfbonus_bitswap(machine, 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xee, 2,7,6,5,4,3,1,0, 0x27, 0,2,1,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(parrot3v) { sfbonus_bitswap(machine, 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x26, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
-static DRIVER_INIT(parrot3v2) { sfbonus_bitswap(machine, 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xe9, 2,7,6,5,4,3,1,0, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
-static DRIVER_INIT(pickwin) { sfbonus_bitswap(machine, 0x20, 1,3,7,6,5,2,4,0, 0xfa, 2,7,6,5,4,0,1,3, 0x37, 1,0,3,7,6,5,2,4, 0xb0, 4,0,1,3,2,7,6,5, 0x34, 0,1,7,6,5,3,2,4, 0xef, 3,7,6,5,2,0,1,4, 0x27, 1,0,4,7,6,5,3,2, 0xb0, 4,0,1,3,2,7,6,5); }
-static DRIVER_INIT(pickwind) { sfbonus_bitswap(machine, 0x3c, 0,1,7,6,5,4,3,2, 0xed, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xe8, 0,7,6,5,4,3,1,2, 0x27, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(pickwinv) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(pickwinv2) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x26, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(pir2001) { sfbonus_bitswap(machine, 0x3a, 1,2,7,6,5,4,3,0, 0xfa, 3,7,6,5,2,0,4,1, 0x33, 4,1,3,7,6,5,2,0, 0xa8, 2,0,4,1,3,7,6,5, 0x2a, 2,4,7,6,5,0,3,1, 0xf7, 1,7,6,5,4,3,0,2, 0x27, 4,1,2,7,6,5,0,3, 0xaf, 0,3,2,4,1,7,6,5); }
-static DRIVER_INIT(pir2001v) { sfbonus_bitswap(machine, 0x39, 1,0,7,6,5,4,3,2, 0xea, 0,7,6,5,4,3,2,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x23, 0,1,2,7,6,5,4,3, 0xac, 4,3,2,1,0,7,6,5); }
-static DRIVER_INIT(pir2001v2) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x39, 1,0,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(pir2001d) { sfbonus_bitswap(machine, 0x3c, 0,1,7,6,5,4,3,2, 0xeb, 0,7,6,5,4,3,2,1, 0x27, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3e, 0,2,7,6,5,4,3,1, 0xeb, 1,7,6,5,4,3,0,2, 0x27, 1,0,2,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(pir2002) { sfbonus_bitswap(machine, 0x30, 3,2,7,6,5,4,0,1, 0xec, 2,7,6,5,4,0,1,3, 0x2d, 1,4,3,7,6,5,2,0, 0xa6, 4,0,1,3,2,7,6,5, 0x20, 4,1,7,6,5,2,3,0, 0xf9, 2,7,6,5,4,3,0,1, 0x3a, 4,1,2,7,6,5,0,3, 0xb7, 1,0,3,2,4,7,6,5); }
-static DRIVER_INIT(pir2002d) { sfbonus_bitswap(machine, 0x3d, 2,0,7,6,5,4,3,1, 0xef, 1,7,6,5,4,3,2,0, 0x27, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xed, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(pir2002v) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(pir2002v2) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(pirpok2) { sfbonus_bitswap(machine, 0x26, 1,2,7,6,5,4,3,0, 0xf6, 1,7,6,5,4,3,0,2, 0x29, 4,0,1,7,6,5,2,3, 0xad, 0,3,1,2,4,7,6,5, 0x2e, 1,3,7,6,5,2,0,4, 0xe0, 3,7,6,5,2,0,4,1, 0x39, 4,1,2,7,6,5,0,3, 0xb2, 2,0,4,1,3,7,6,5); }
-static DRIVER_INIT(pirpok2d) { sfbonus_bitswap(machine, 0x3c, 0,1,7,6,5,4,3,2, 0xed, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x38, 0,2,7,6,5,4,3,1, 0xed, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(pirpok2v) { sfbonus_bitswap(machine, 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x23, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3e, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,1,0, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
-static DRIVER_INIT(pirpok2v2) { sfbonus_bitswap(machine, 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,1,0, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
-static DRIVER_INIT(robadv) { sfbonus_bitswap(machine, 0x31, 0,3,7,6,5,2,1,4, 0xe0, 1,7,6,5,3,2,4,0, 0x2f, 4,0,2,7,6,5,3,1, 0xa7, 1,0,3,4,2,7,6,5, 0x33, 1,3,7,6,5,2,0,4, 0xed, 2,7,6,5,1,4,3,0, 0x34, 4,1,3,7,6,5,2,0, 0xaf, 2,0,4,1,3,7,6,5); }
-static DRIVER_INIT(robadv2d) { sfbonus_bitswap(machine, 0x3c, 0,1,7,6,5,4,3,2, 0xe8, 0,7,6,5,4,3,1,2, 0x24, 2,1,0,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xed, 1,7,6,5,4,3,0,2, 0x24, 2,1,0,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(robadv2v1) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(robadv2v4) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(seawld) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x24, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,2,0, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(seawldv) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(sfbonus) { sfbonus_bitswap(machine, 0x2a, 1,3,7,6,5,2,0,4, 0xe4, 3,7,6,5,2,0,4,1, 0x2d, 4,1,3,7,6,5,2,0, 0xba, 4,3,0,2,1,7,6,5, 0x30, 2,1,7,6,5,0,3,4, 0xf1, 2,7,6,5,1,3,4,0, 0x3d, 2,1,4,7,6,5,3,0, 0xba, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(sfbonusd) { sfbonus_bitswap(machine, 0x3b, 0,1,7,6,5,4,3,2, 0xef, 1,7,6,5,4,3,0,2, 0x24, 2,1,0,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xeb, 2,7,6,5,4,3,1,0, 0x24, 2,1,0,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(sfbonusv) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x25, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(sfruitb) { sfbonus_bitswap(machine, 0x3e, 2,1,7,6,5,4,3,0, 0xfd, 1,7,6,5,0,3,2,4, 0x37, 4,1,3,7,6,5,2,0, 0xac, 2,0,4,1,3,7,6,5, 0x35, 2,3,7,6,5,1,0,4, 0xf6, 3,7,6,5,2,0,1,4, 0x37, 4,1,3,7,6,5,2,0, 0xb9, 0,3,4,1,2,7,6,5); }
-static DRIVER_INIT(sfruitbd) { sfbonus_bitswap(machine, 0x3e, 1,0,7,6,5,4,3,2, 0xed, 1,7,6,5,4,3,0,2, 0x25, 2,0,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3c, 0,1,7,6,5,4,3,2, 0xed, 2,7,6,5,4,3,1,0, 0x25, 2,0,1,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(sfruitbv) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x25, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(sfruitbv2) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x25, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(suprball) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xe7, 4,7,6,5,0,3,1,2, 0x33, 0,2,1,7,6,5,4,3, 0xb3, 0,3,4,2,1,7,6,5, 0x2a, 1,3,7,6,5,2,0,4, 0xe4, 3,7,6,5,2,0,4,1, 0x2d, 4,1,3,7,6,5,2,0, 0xb6, 0,3,2,1,4,7,6,5); }
-static DRIVER_INIT(tighook) { sfbonus_bitswap(machine, 0x33, 0,1,7,6,5,2,3,4, 0xf3, 3,7,6,5,1,0,4,2, 0x2e, 4,0,2,7,6,5,3,1, 0xa7, 1,0,4,2,3,7,6,5, 0x2d, 1,2,7,6,5,3,4,0, 0xff, 2,7,6,5,1,0,3,4, 0x27, 1,0,2,7,6,5,3,4, 0xa7, 1,0,4,2,3,7,6,5); }
-static DRIVER_INIT(tighookd) { sfbonus_bitswap(machine, 0x3d, 0,1,7,6,5,4,3,2, 0xed, 1,7,6,5,4,3,0,2, 0x26, 2,1,0,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3c, 1,0,7,6,5,4,3,2, 0xed, 2,7,6,5,4,3,1,0, 0x26, 2,1,0,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
-static DRIVER_INIT(tighookv) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(tighookv2) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xea, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(bugfever) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x22, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(bugfeverd) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xe8, 1,7,6,5,4,3,0,2, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(bugfeverv) { sfbonus_bitswap(machine, 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x22, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xea, 2,7,6,5,4,3,1,0, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
-static DRIVER_INIT(bugfeverv2) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x23, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xed, 2,7,6,5,4,3,1,0, 0x26, 2,1,0,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(version4) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(version4v2) { sfbonus_bitswap(machine, 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x26, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xea, 2,7,6,5,4,3,1,0, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
-static DRIVER_INIT(version4d2) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x25, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(version4v) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x26, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(dvisland) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x23, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(funriver) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x24, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 0,7,6,5,4,3,2,1, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(funriverv) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(spooky) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x39, 1,0,7,6,5,4,3,2, 0xe8, 1,7,6,5,4,3,2,0, 0x23, 0,2,1,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fbdeluxe) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,2,0, 0x26, 0,2,1,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(fb3g) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x25, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,2,0, 0x24, 0,2,1,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
-static DRIVER_INIT(getrich) { sfbonus_bitswap(machine, 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x23, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,2,0, 0x24, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,abnudge) { sfbonus_bitswap( 0x33, 0,3,7,6,5,2,1,4, 0xff, 3,7,6,5,1,0,4,2, 0x36, 4,2,3,7,6,5,1,0, 0xa8, 3,2,4,0,1,7,6,5, 0x2c, 0,1,7,6,5,2,4,3, 0xff, 3,7,6,5,1,0,4,2, 0x26, 2,4,3,7,6,5,1,0, 0xbe, 4,1,3,0,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,abnudged) { sfbonus_bitswap( 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x21, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3d, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x21, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,abnudgev) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,act2000) { sfbonus_bitswap( 0x25, 1,2,7,6,5,4,3,0, 0xE6, 1,7,6,5,4,3,0,2, 0x20, 2,4,1,7,6,5,0,3, 0xBF, 0,3,1,2,4,7,6,5, 0x2E, 1,3,7,6,5,2,0,4, 0xE0, 3,7,6,5,2,0,4,1, 0x2D, 4,1,2,7,6,5,0,3, 0xB2, 2,0,4,1,3,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,act2000d) { sfbonus_bitswap( 0x3d, 0,2,7,6,5,4,3,1, 0xef, 1,7,6,5,4,3,2,0, 0x27, 0,2,1,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xed, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,act2000v) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,act2000v2) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,act2000v3) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,anibonus) { sfbonus_bitswap( 0x33, 0,3,7,6,5,2,1,4, 0xe7, 2,7,6,5,3,4,1,0, 0x3a, 4,2,3,7,6,5,1,0, 0xa8, 3,4,2,0,1,7,6,5, 0x3d, 2,3,7,6,5,1,0,4, 0xff, 3,7,6,5,1,0,2,4, 0x3a, 4,2,3,7,6,5,1,0, 0xbe, 3,4,1,0,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,anibonus3) { sfbonus_bitswap( 0x33, 0,3,7,6,5,2,1,4, 0xff, 3,7,6,5,1,0,4,2, 0x36, 4,2,3,7,6,5,1,0, 0xa8, 3,2,4,0,1,7,6,5, 0x2c, 0,1,7,6,5,2,4,3, 0xff, 3,7,6,5,1,0,4,2, 0x26, 2,4,3,7,6,5,1,0, 0xbe, 4,1,3,0,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,anibonusd) { sfbonus_bitswap( 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x21, 0,2,1,7,6,5,4,3, 0xa8, 4,3,0,1,2,7,6,5, 0x3d, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x21, 0,2,1,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,anibonusv) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 0,1,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,anibonusv3) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,anithunt) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xe7, 4,7,6,5,0,3,1,2, 0x33, 0,2,1,7,6,5,4,3, 0xb3, 0,3,4,2,1,7,6,5, 0x2a, 1,3,7,6,5,2,0,4, 0xe4, 3,7,6,5,2,0,4,1, 0x2d, 4,1,3,7,6,5,2,0, 0xb6, 0,3,2,1,4,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,anithuntd) { sfbonus_bitswap( 0x3c, 0,1,7,6,5,4,3,2, 0xee, 0,7,6,5,4,3,2,1, 0x21, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3d, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x21, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,anithuntv) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,atworld) { sfbonus_bitswap( 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x26, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,atworldd) { sfbonus_bitswap( 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x26, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xe8, 1,7,6,5,4,3,0,2, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,ch2000) { sfbonus_bitswap( 0x29, 2,3,7,6,5,0,4,1, 0xfe, 2,7,6,5,1,0,3,4, 0x33, 0,1,3,7,6,5,2,4, 0xa6, 1,0,3,4,2,7,6,5, 0x25, 4,1,7,6,5,3,2,0, 0xfe, 2,7,6,5,1,0,3,4, 0x35, 0,1,4,7,6,5,3,2, 0xbe, 1,0,4,2,3,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,ch2000c) { sfbonus_bitswap( 0x29, 2,3,7,6,5,0,4,1, 0xfe, 2,7,6,5,1,0,3,4, 0x33, 0,1,3,7,6,5,2,4, 0xa6, 1,0,3,4,2,7,6,5, 0x25, 4,1,7,6,5,3,2,0, 0xfe, 2,7,6,5,1,0,3,4, 0x35, 0,1,4,7,6,5,3,2, 0xbe, 1,0,4,2,3,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,ch2000d) { sfbonus_bitswap( 0x38, 0,2,7,6,5,4,3,1, 0xed, 0,7,6,5,4,3,2,1, 0x25, 2,0,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3c, 0,1,7,6,5,4,3,2, 0xed, 1,7,6,5,4,3,0,2, 0x25, 2,0,1,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,ch2000v) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,ch2000v2) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3e, 2,1,7,6,5,4,3,0, 0xec, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,ch2000v3) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,classice) { sfbonus_bitswap( 0x3f, 2,0,7,6,5,4,3,1, 0xe9, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xab, 4,3,2,0,1,7,6,5, 0x3e, 2,1,7,6,5,4,3,0, 0xeb, 2,7,6,5,4,3,0,1, 0x22, 0,2,1,7,6,5,4,3, 0xad, 4,3,0,2,1,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,classiced) { sfbonus_bitswap( 0x38, 0,2,7,6,5,4,3,1, 0xea, 2,7,6,5,4,3,0,1, 0x24, 2,1,0,7,6,5,4,3, 0xaa, 4,3,2,0,1,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xe8, 0,7,6,5,4,3,1,2, 0x24, 2,1,0,7,6,5,4,3, 0xa8, 4,3,0,2,1,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,classiced3) { sfbonus_bitswap( 0x3b, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x24, 2,1,0,7,6,5,4,3, 0xaa, 4,3,2,0,1,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xe8, 0,7,6,5,4,3,1,2, 0x24, 2,1,0,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,classicev) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,classicev3) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xe9, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,dblchal) { sfbonus_bitswap( 0x3D, 0,3,7,6,5,2,1,4, 0xF3, 3,7,6,5,1,0,4,2, 0x3D, 2,0,1,7,6,5,3,4, 0xA8, 3,4,2,0,1,7,6,5, 0x3D, 2,3,7,6,5,1,0,4, 0xEF, 2,7,6,5,1,0,3,4, 0x3A, 4,2,3,7,6,5,1,0, 0xBA, 2,4,1,0,3,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,dblchald) { sfbonus_bitswap( 0x3c, 0,1,7,6,5,4,3,2, 0xed, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x27, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,dblchalv) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb2gen) { sfbonus_bitswap( 0x35, 0,3,7,6,5,2,1,4, 0xe8, 2,7,6,5,4,3,1,0, 0x23, 4,3,2,7,6,5,1,0, 0xb8, 2,1,4,0,3,7,6,5, 0x2d, 0,1,7,6,5,4,2,3, 0xf8, 2,7,6,5,1,4,3,0, 0x23, 4,0,3,7,6,5,2,1, 0xb8, 2,1,4,0,3,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb2gend) { sfbonus_bitswap( 0x3d, 2,0,7,6,5,4,3,1, 0xeb, 1,7,6,5,4,3,0,2, 0x25, 2,0,1,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3c, 0,1,7,6,5,4,3,2, 0xeb, 2,7,6,5,4,3,1,0, 0x25, 2,0,1,7,6,5,4,3, 0xac, 4,3,2,1,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb2genv) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xea, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb2genv3) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xeb, 0,7,6,5,4,3,2,1, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb2nd) { sfbonus_bitswap( 0x2f, 0,2,7,6,5,3,4,1, 0xff, 2,7,6,5,3,0,4,1, 0x3e, 4,0,1,7,6,5,2,3, 0xad, 3,0,4,1,2,7,6,5, 0x35, 4,3,7,6,5,1,0,2, 0xfd, 4,7,6,5,3,1,2,0, 0x3a, 4,1,2,7,6,5,3,0, 0xbd, 3,4,2,0,1,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb2ndv) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 2,1,7,6,5,4,3,0, 0xec, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb2ndd) { sfbonus_bitswap( 0x3b, 1,0,7,6,5,4,3,2, 0xeb, 1,7,6,5,4,3,0,2, 0x25, 2,0,1,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3c, 0,1,7,6,5,4,3,2, 0xeb, 2,7,6,5,4,3,1,0, 0x25, 2,0,1,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb4) { sfbonus_bitswap( 0x37, 1,2,7,6,5,4,3,0, 0xeb, 1,7,6,5,4,0,2,3, 0x2d, 4,0,2,7,6,5,3,1, 0xbd, 2,0,4,1,3,7,6,5, 0x29, 4,1,7,6,5,2,3,0, 0xff, 1,7,6,5,2,3,0,4, 0x3f, 1,0,4,7,6,5,3,2, 0xae, 2,3,0,4,1,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb4d) { sfbonus_bitswap( 0x3d, 2,0,7,6,5,4,3,1, 0xeb, 1,7,6,5,4,3,0,2, 0x25, 2,0,1,7,6,5,4,3, 0xad, 4,3,2,1,0,7,6,5, 0x3c, 0,1,7,6,5,4,3,2, 0xeb, 2,7,6,5,4,3,1,0, 0x25, 2,0,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb4v) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xeb, 0,7,6,5,4,3,2,1, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb4v3) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3e, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb5) { sfbonus_bitswap( 0x20, 0,3,7,6,5,1,4,2, 0xf1, 1,7,6,5,3,2,4,0, 0x33, 2,3,1,7,6,5,0,4, 0xaf, 2,0,1,4,3,7,6,5, 0x2d, 2,4,7,6,5,1,0,3, 0xfb, 4,7,6,5,1,0,3,2, 0x34, 2,0,4,7,6,5,3,1, 0xb7, 1,0,3,2,4,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb5d) { sfbonus_bitswap( 0x3e, 2,1,7,6,5,4,3,0, 0xef, 1,7,6,5,4,3,2,0, 0x24, 2,1,0,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xeb, 2,7,6,5,4,3,1,0, 0x24, 2,1,0,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb5v) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb6) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb6d) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb6s) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x24, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 0,7,6,5,4,3,2,1, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb6v) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xed, 2,7,6,5,4,3,1,0, 0x23, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb6v3) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fruitcar) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fruitcar2) { sfbonus_bitswap( 0x33, 0,3,7,6,5,2,1,4, 0xff, 3,7,6,5,1,0,4,2, 0x36, 4,2,3,7,6,5,1,0, 0xa8, 3,2,4,0,1,7,6,5, 0x2c, 0,1,7,6,5,2,4,3, 0xff, 3,7,6,5,1,0,4,2, 0x26, 2,4,3,7,6,5,1,0, 0xbe, 4,1,3,0,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fruitcar3) { sfbonus_bitswap( 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x21, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3d, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x21, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,hldspin1) { sfbonus_bitswap( 0x21, 0,2,7,6,5,4,3,1, 0xe1, 1,7,6,5,4,3,2,0, 0x31, 1,4,3,7,6,5,2,0, 0xbc, 0,3,4,2,1,7,6,5, 0x24, 4,3,7,6,5,2,0,1, 0xf8, 3,7,6,5,2,0,1,4, 0x39, 1,4,2,7,6,5,0,3, 0xaf, 0,3,2,1,4,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,hldspin1d) { sfbonus_bitswap( 0x38, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x27, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3e, 0,2,7,6,5,4,3,1, 0xeb, 1,7,6,5,4,3,0,2, 0x27, 1,0,2,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,hldspin1v) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x26, 2,1,0,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,hldspin2) { sfbonus_bitswap( 0x21, 1,3,7,6,5,0,4,2, 0xfe, 2,7,6,5,1,0,4,3, 0x33, 1,0,3,7,6,5,2,4, 0xa6, 1,0,4,3,2,7,6,5, 0x37, 0,1,7,6,5,3,2,4, 0xfe, 2,7,6,5,1,0,4,3, 0x36, 1,0,4,7,6,5,3,2, 0xa2, 1,0,2,4,3,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,hldspin2d) { sfbonus_bitswap( 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x27, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3e, 0,2,7,6,5,4,3,1, 0xeb, 1,7,6,5,4,3,0,2, 0x27, 1,0,2,7,6,5,4,3, 0xab, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,hldspin2v) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x23, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,moneymac) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xeb, 0,7,6,5,4,3,2,1, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,moneymacv) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x23, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xeb, 0,7,6,5,4,3,2,1, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,moneymacd) { sfbonus_bitswap( 0x3a, 1,0,7,6,5,4,3,2, 0xe9, 0,7,6,5,4,3,1,2, 0x26, 0,2,1,7,6,5,4,3, 0xaf, 4,3,1,2,0,7,6,5, 0x3d, 0,2,7,6,5,4,3,1, 0xe9, 0,7,6,5,4,3,1,2, 0x23, 0,1,2,7,6,5,4,3, 0xae, 4,3,2,0,1,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,parrot3d) { sfbonus_bitswap( 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xee, 2,7,6,5,4,3,1,0, 0x27, 0,2,1,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,parrot3v) { sfbonus_bitswap( 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x26, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,parrot3v2) { sfbonus_bitswap( 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xe9, 2,7,6,5,4,3,1,0, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pickwin) { sfbonus_bitswap( 0x20, 1,3,7,6,5,2,4,0, 0xfa, 2,7,6,5,4,0,1,3, 0x37, 1,0,3,7,6,5,2,4, 0xb0, 4,0,1,3,2,7,6,5, 0x34, 0,1,7,6,5,3,2,4, 0xef, 3,7,6,5,2,0,1,4, 0x27, 1,0,4,7,6,5,3,2, 0xb0, 4,0,1,3,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pickwind) { sfbonus_bitswap( 0x3c, 0,1,7,6,5,4,3,2, 0xed, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xe8, 0,7,6,5,4,3,1,2, 0x27, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pickwinv) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pickwinv2) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x26, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pir2001) { sfbonus_bitswap( 0x3a, 1,2,7,6,5,4,3,0, 0xfa, 3,7,6,5,2,0,4,1, 0x33, 4,1,3,7,6,5,2,0, 0xa8, 2,0,4,1,3,7,6,5, 0x2a, 2,4,7,6,5,0,3,1, 0xf7, 1,7,6,5,4,3,0,2, 0x27, 4,1,2,7,6,5,0,3, 0xaf, 0,3,2,4,1,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pir2001v) { sfbonus_bitswap( 0x39, 1,0,7,6,5,4,3,2, 0xea, 0,7,6,5,4,3,2,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x23, 0,1,2,7,6,5,4,3, 0xac, 4,3,2,1,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pir2001v2) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x39, 1,0,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pir2001d) { sfbonus_bitswap( 0x3c, 0,1,7,6,5,4,3,2, 0xeb, 0,7,6,5,4,3,2,1, 0x27, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3e, 0,2,7,6,5,4,3,1, 0xeb, 1,7,6,5,4,3,0,2, 0x27, 1,0,2,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pir2002) { sfbonus_bitswap( 0x30, 3,2,7,6,5,4,0,1, 0xec, 2,7,6,5,4,0,1,3, 0x2d, 1,4,3,7,6,5,2,0, 0xa6, 4,0,1,3,2,7,6,5, 0x20, 4,1,7,6,5,2,3,0, 0xf9, 2,7,6,5,4,3,0,1, 0x3a, 4,1,2,7,6,5,0,3, 0xb7, 1,0,3,2,4,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pir2002d) { sfbonus_bitswap( 0x3d, 2,0,7,6,5,4,3,1, 0xef, 1,7,6,5,4,3,2,0, 0x27, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xed, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pir2002v) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pir2002v2) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pirpok2) { sfbonus_bitswap( 0x26, 1,2,7,6,5,4,3,0, 0xf6, 1,7,6,5,4,3,0,2, 0x29, 4,0,1,7,6,5,2,3, 0xad, 0,3,1,2,4,7,6,5, 0x2e, 1,3,7,6,5,2,0,4, 0xe0, 3,7,6,5,2,0,4,1, 0x39, 4,1,2,7,6,5,0,3, 0xb2, 2,0,4,1,3,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pirpok2d) { sfbonus_bitswap( 0x3c, 0,1,7,6,5,4,3,2, 0xed, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x38, 0,2,7,6,5,4,3,1, 0xed, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pirpok2v) { sfbonus_bitswap( 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x23, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3e, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,1,0, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,pirpok2v2) { sfbonus_bitswap( 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,1,0, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,robadv) { sfbonus_bitswap( 0x31, 0,3,7,6,5,2,1,4, 0xe0, 1,7,6,5,3,2,4,0, 0x2f, 4,0,2,7,6,5,3,1, 0xa7, 1,0,3,4,2,7,6,5, 0x33, 1,3,7,6,5,2,0,4, 0xed, 2,7,6,5,1,4,3,0, 0x34, 4,1,3,7,6,5,2,0, 0xaf, 2,0,4,1,3,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,robadv2d) { sfbonus_bitswap( 0x3c, 0,1,7,6,5,4,3,2, 0xe8, 0,7,6,5,4,3,1,2, 0x24, 2,1,0,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xed, 1,7,6,5,4,3,0,2, 0x24, 2,1,0,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,robadv2v1) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,robadv2v4) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,seawld) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x24, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,2,0, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,seawldv) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,sfbonus) { sfbonus_bitswap( 0x2a, 1,3,7,6,5,2,0,4, 0xe4, 3,7,6,5,2,0,4,1, 0x2d, 4,1,3,7,6,5,2,0, 0xba, 4,3,0,2,1,7,6,5, 0x30, 2,1,7,6,5,0,3,4, 0xf1, 2,7,6,5,1,3,4,0, 0x3d, 2,1,4,7,6,5,3,0, 0xba, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,sfbonusd) { sfbonus_bitswap( 0x3b, 0,1,7,6,5,4,3,2, 0xef, 1,7,6,5,4,3,0,2, 0x24, 2,1,0,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xeb, 2,7,6,5,4,3,1,0, 0x24, 2,1,0,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,sfbonusv) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x25, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,sfruitb) { sfbonus_bitswap( 0x3e, 2,1,7,6,5,4,3,0, 0xfd, 1,7,6,5,0,3,2,4, 0x37, 4,1,3,7,6,5,2,0, 0xac, 2,0,4,1,3,7,6,5, 0x35, 2,3,7,6,5,1,0,4, 0xf6, 3,7,6,5,2,0,1,4, 0x37, 4,1,3,7,6,5,2,0, 0xb9, 0,3,4,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,sfruitbd) { sfbonus_bitswap( 0x3e, 1,0,7,6,5,4,3,2, 0xed, 1,7,6,5,4,3,0,2, 0x25, 2,0,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3c, 0,1,7,6,5,4,3,2, 0xed, 2,7,6,5,4,3,1,0, 0x25, 2,0,1,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,sfruitbv) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x25, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,sfruitbv2) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x25, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,suprball) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xe7, 4,7,6,5,0,3,1,2, 0x33, 0,2,1,7,6,5,4,3, 0xb3, 0,3,4,2,1,7,6,5, 0x2a, 1,3,7,6,5,2,0,4, 0xe4, 3,7,6,5,2,0,4,1, 0x2d, 4,1,3,7,6,5,2,0, 0xb6, 0,3,2,1,4,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,tighook) { sfbonus_bitswap( 0x33, 0,1,7,6,5,2,3,4, 0xf3, 3,7,6,5,1,0,4,2, 0x2e, 4,0,2,7,6,5,3,1, 0xa7, 1,0,4,2,3,7,6,5, 0x2d, 1,2,7,6,5,3,4,0, 0xff, 2,7,6,5,1,0,3,4, 0x27, 1,0,2,7,6,5,3,4, 0xa7, 1,0,4,2,3,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,tighookd) { sfbonus_bitswap( 0x3d, 0,1,7,6,5,4,3,2, 0xed, 1,7,6,5,4,3,0,2, 0x26, 2,1,0,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3c, 1,0,7,6,5,4,3,2, 0xed, 2,7,6,5,4,3,1,0, 0x26, 2,1,0,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,tighookv) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,tighookv2) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xea, 0,7,6,5,4,3,2,1, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,bugfever) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x22, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,bugfeverd) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xe8, 1,7,6,5,4,3,0,2, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,bugfeverv) { sfbonus_bitswap( 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x22, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xea, 2,7,6,5,4,3,1,0, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,bugfeverv2) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x23, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xed, 2,7,6,5,4,3,1,0, 0x26, 2,1,0,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,version4) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,version4v2) { sfbonus_bitswap( 0x3c, 1,0,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x26, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xea, 2,7,6,5,4,3,1,0, 0x22, 0,1,2,7,6,5,4,3, 0xa9, 4,3,2,1,0,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,version4d2) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x25, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,version4v) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x26, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,dvisland) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x23, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,funriver) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x24, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xec, 0,7,6,5,4,3,2,1, 0x23, 1,0,2,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,funriverv) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x26, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,spooky) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x39, 1,0,7,6,5,4,3,2, 0xe8, 1,7,6,5,4,3,2,0, 0x23, 0,2,1,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fbdeluxe) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,2,0, 0x26, 0,2,1,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,fb3g) { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x25, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,2,0, 0x24, 0,2,1,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
+DRIVER_INIT_MEMBER(sfbonus_state,getrich) { sfbonus_bitswap( 0x3c, 1,2,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x23, 1,0,2,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,2,0, 0x24, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5); }
GAME( 2002, suprball, 0, sfbonus, amcoe2_reels3, sfbonus_state, suprball, ROT0, "Amcoe", "Super Ball (Version 1.3)", 0)
diff --git a/src/mame/drivers/sfkick.c b/src/mame/drivers/sfkick.c
index b2ba67920cb..54eb8a3e485 100644
--- a/src/mame/drivers/sfkick.c
+++ b/src/mame/drivers/sfkick.c
@@ -77,6 +77,7 @@ public:
DECLARE_READ8_MEMBER(ppi_port_b_r);
DECLARE_WRITE8_MEMBER(ppi_port_a_w);
DECLARE_WRITE8_MEMBER(ppi_port_c_w);
+ DECLARE_DRIVER_INIT(sfkick);
};
@@ -510,10 +511,9 @@ static MACHINE_CONFIG_START( sfkick, sfkick_state )
MACHINE_CONFIG_END
-static DRIVER_INIT(sfkick)
+DRIVER_INIT_MEMBER(sfkick_state,sfkick)
{
- sfkick_state *state = machine.driver_data<sfkick_state>();
- state->m_main_mem=auto_alloc_array(machine, UINT8, 0x4000);
+ m_main_mem=auto_alloc_array(machine(), UINT8, 0x4000);
}
diff --git a/src/mame/drivers/sg1000a.c b/src/mame/drivers/sg1000a.c
index 8eaeedd4a64..c2d5d32c149 100644
--- a/src/mame/drivers/sg1000a.c
+++ b/src/mame/drivers/sg1000a.c
@@ -127,6 +127,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(vdp_interrupt);
DECLARE_WRITE8_MEMBER(sg1000a_coin_counter_w);
+ DECLARE_DRIVER_INIT(sg1000a);
+ DECLARE_DRIVER_INIT(chwrestl);
};
@@ -322,14 +324,14 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( sg1000a )
+DRIVER_INIT_MEMBER(sg1000a_state,sg1000a)
{
}
-static DRIVER_INIT(chwrestl)
+DRIVER_INIT_MEMBER(sg1000a_state,chwrestl)
{
DRIVER_INIT_CALL(sg1000a);
- regulus_decode(machine, "maincpu");
+ regulus_decode(machine(), "maincpu");
}
/*************************************
diff --git a/src/mame/drivers/shadfrce.c b/src/mame/drivers/shadfrce.c
index 06ff8ce8585..ee5e52227fa 100644
--- a/src/mame/drivers/shadfrce.c
+++ b/src/mame/drivers/shadfrce.c
@@ -676,6 +676,6 @@ ROM_START( shadfrcejv2 )
ROM_END
-GAME( 1993, shadfrce, 0, shadfrce, shadfrce, shadfrce_state, 0, ROT0, "Technos Japan", "Shadow Force (US Version 2)", GAME_NO_COCKTAIL )
-GAME( 1993, shadfrcej, shadfrce, shadfrce, shadfrce, shadfrce_state, 0, ROT0, "Technos Japan", "Shadow Force (Japan Version 3)", GAME_NO_COCKTAIL )
-GAME( 1993, shadfrcejv2, shadfrce, shadfrce, shadfrce, shadfrce_state, 0, ROT0, "Technos Japan", "Shadow Force (Japan Version 2)", GAME_NO_COCKTAIL )
+GAME( 1993, shadfrce, 0, shadfrce, shadfrce, driver_device, 0, ROT0, "Technos Japan", "Shadow Force (US Version 2)", GAME_NO_COCKTAIL )
+GAME( 1993, shadfrcej, shadfrce, shadfrce, shadfrce, driver_device, 0, ROT0, "Technos Japan", "Shadow Force (Japan Version 3)", GAME_NO_COCKTAIL )
+GAME( 1993, shadfrcejv2, shadfrce, shadfrce, shadfrce, driver_device, 0, ROT0, "Technos Japan", "Shadow Force (Japan Version 2)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/shangha3.c b/src/mame/drivers/shangha3.c
index 4cebf15a64b..c80ee11811d 100644
--- a/src/mame/drivers/shangha3.c
+++ b/src/mame/drivers/shangha3.c
@@ -651,18 +651,16 @@ ROM_END
-static DRIVER_INIT( shangha3 )
+DRIVER_INIT_MEMBER(shangha3_state,shangha3)
{
- shangha3_state *state = machine.driver_data<shangha3_state>();
- state->m_do_shadows = 1;
+ m_do_shadows = 1;
}
-static DRIVER_INIT( heberpop )
+DRIVER_INIT_MEMBER(shangha3_state,heberpop)
{
- shangha3_state *state = machine.driver_data<shangha3_state>();
- state->m_do_shadows = 0;
+ m_do_shadows = 0;
}
GAME( 1993, shangha3, 0, shangha3, shangha3, shangha3_state, shangha3, ROT0, "Sunsoft", "Shanghai III (Japan)", 0 )
diff --git a/src/mame/drivers/shanghai.c b/src/mame/drivers/shanghai.c
index cee2805b7a8..1c77d1ee885 100644
--- a/src/mame/drivers/shanghai.c
+++ b/src/mame/drivers/shanghai.c
@@ -638,7 +638,7 @@ ROM_END
-GAME( 1988, shanghai, 0, shanghai, shanghai, shanghai_state, 0, ROT0, "Sunsoft", "Shanghai (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1989, shangha2, 0, shangha2, shangha2, shanghai_state, 0, ROT0, "Sunsoft", "Shanghai II (Japan)", 0 )
-GAME( 1990, kothello, 0, kothello, kothello, shanghai_state, 0, ROT0, "Success", "Kyuukyoku no Othello", GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, shanghai, 0, shanghai, shanghai, driver_device, 0, ROT0, "Sunsoft", "Shanghai (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1989, shangha2, 0, shangha2, shangha2, driver_device, 0, ROT0, "Sunsoft", "Shanghai II (Japan)", 0 )
+GAME( 1990, kothello, 0, kothello, kothello, driver_device, 0, ROT0, "Success", "Kyuukyoku no Othello", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/shangkid.c b/src/mame/drivers/shangkid.c
index 4bc12bbb31f..2f2ddb15a88 100644
--- a/src/mame/drivers/shangkid.c
+++ b/src/mame/drivers/shangkid.c
@@ -119,20 +119,18 @@ READ8_MEMBER(shangkid_state::shangkid_soundlatch_r)
/***************************************************************************************/
-static DRIVER_INIT( chinhero )
+DRIVER_INIT_MEMBER(shangkid_state,chinhero)
{
- shangkid_state *state = machine.driver_data<shangkid_state>();
- state->m_gfx_type = 0;
+ m_gfx_type = 0;
}
-static DRIVER_INIT( shangkid )
+DRIVER_INIT_MEMBER(shangkid_state,shangkid)
{
- shangkid_state *state = machine.driver_data<shangkid_state>();
- state->m_gfx_type = 1;
+ m_gfx_type = 1;
/* set up banking */
- state->membank("bank1")->configure_entries(0, 2, state->memregion("maincpu")->base() + 0x8000, 0x8000);
- state->membank("bank2")->configure_entries(0, 2, state->memregion("audiocpu")->base() + 0x0000, 0x10000);
+ membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x8000, 0x8000);
+ membank("bank2")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x0000, 0x10000);
}
/***************************************************************************************/
@@ -970,7 +968,7 @@ ROM_START( dynamski )
ROM_END
-GAME( 1984, dynamski, 0, dynamski, dynamski, shangkid_state, 0, ROT90, "Taiyo", "Dynamic Ski", GAME_NO_COCKTAIL )
+GAME( 1984, dynamski, 0, dynamski, dynamski, driver_device, 0, ROT90, "Taiyo", "Dynamic Ski", GAME_NO_COCKTAIL )
GAME( 1984, chinhero, 0, chinhero, chinhero, shangkid_state, chinhero, ROT90, "Taiyo", "Chinese Hero", 0 ) // by Nihon Game?
GAME( 1984, chinhero2,chinhero, chinhero, chinhero, shangkid_state, chinhero, ROT90, "Taiyo", "Chinese Hero (older)", 0 )
GAME( 1984, chinherot,chinhero, chinhero, chinhero, shangkid_state, chinhero, ROT90, "Taiyo (Taito license)", "Chinese Heroe (Taito)", 0 )
diff --git a/src/mame/drivers/shaolins.c b/src/mame/drivers/shaolins.c
index 40e613d2520..7a0312cbe22 100644
--- a/src/mame/drivers/shaolins.c
+++ b/src/mame/drivers/shaolins.c
@@ -337,6 +337,6 @@ ROM_END
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS */
-GAME( 1985, kicker, 0, shaolins, shaolins, shaolins_state, 0, ROT90, "Konami", "Kicker", 0 )
-GAME( 1985, shaolins, kicker, shaolins, shaolins, shaolins_state, 0, ROT90, "Konami", "Shao-lin's Road (set 1)", 0 )
-GAME( 1985, shaolinb, kicker, shaolins, shaolins, shaolins_state, 0, ROT90, "Konami", "Shao-lin's Road (set 2)", 0 )
+GAME( 1985, kicker, 0, shaolins, shaolins, driver_device, 0, ROT90, "Konami", "Kicker", 0 )
+GAME( 1985, shaolins, kicker, shaolins, shaolins, driver_device, 0, ROT90, "Konami", "Shao-lin's Road (set 1)", 0 )
+GAME( 1985, shaolinb, kicker, shaolins, shaolins, driver_device, 0, ROT90, "Konami", "Shao-lin's Road (set 2)", 0 )
diff --git a/src/mame/drivers/shisen.c b/src/mame/drivers/shisen.c
index a54fbdeb4db..1a398ddba02 100644
--- a/src/mame/drivers/shisen.c
+++ b/src/mame/drivers/shisen.c
@@ -429,8 +429,8 @@ ROM_START( matchit )
/* no samples on this board */
ROM_END
-GAME( 1989, matchit, 0, shisen, matchit, shisen_state, 0, ROT0, "Tamtex", "Match It", 0 )
-GAME( 1989, shisen, matchit, shisen, shisen, shisen_state, 0, ROT0, "Tamtex", "Shisensho - Joshiryo-Hen (Japan)", 0 )
-GAME( 1989, sichuan2, matchit, shisen, shisen, shisen_state, 0, ROT0, "hack", "Sichuan II (hack, set 1)", 0 )
-GAME( 1989, sichuan2a,matchit, shisen, shisen, shisen_state, 0, ROT0, "hack", "Sichuan II (hack, set 2)", 0 )
+GAME( 1989, matchit, 0, shisen, matchit, driver_device, 0, ROT0, "Tamtex", "Match It", 0 )
+GAME( 1989, shisen, matchit, shisen, shisen, driver_device, 0, ROT0, "Tamtex", "Shisensho - Joshiryo-Hen (Japan)", 0 )
+GAME( 1989, sichuan2, matchit, shisen, shisen, driver_device, 0, ROT0, "hack", "Sichuan II (hack, set 1)", 0 )
+GAME( 1989, sichuan2a,matchit, shisen, shisen, driver_device, 0, ROT0, "hack", "Sichuan II (hack, set 2)", 0 )
diff --git a/src/mame/drivers/shootout.c b/src/mame/drivers/shootout.c
index bec779c53bf..c4b479197e8 100644
--- a/src/mame/drivers/shootout.c
+++ b/src/mame/drivers/shootout.c
@@ -406,12 +406,12 @@ ROM_START( shootoutb )
ROM_END
-static DRIVER_INIT( shootout )
+DRIVER_INIT_MEMBER(shootout_state,shootout)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- int length = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, length - 0x8000);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ int length = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, length - 0x8000);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int A;
space->set_decrypted_region(0x8000, 0xffff, decrypt);
@@ -419,13 +419,13 @@ static DRIVER_INIT( shootout )
for (A = 0x8000;A < length;A++)
decrypt[A-0x8000] = (rom[A] & 0x9f) | ((rom[A] & 0x40) >> 1) | ((rom[A] & 0x20) << 1);
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
- machine.root_device().membank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x8000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x8000, 0x4000);
}
-static DRIVER_INIT( shootouj )
+DRIVER_INIT_MEMBER(shootout_state,shootouj)
{
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
}
diff --git a/src/mame/drivers/shougi.c b/src/mame/drivers/shougi.c
index 0253e609b7c..0d15474c681 100644
--- a/src/mame/drivers/shougi.c
+++ b/src/mame/drivers/shougi.c
@@ -485,5 +485,5 @@ ROM_END
-GAME( 1982, shougi, 0, shougi, shougi, shougi_state, 0, ROT0, "Alpha Denshi Co.", "Shougi", 0 )
-GAME( 1982, shougi2, shougi, shougi, shougi2, shougi_state, 0, ROT0, "Alpha Denshi Co.", "Shougi 2", 0 )
+GAME( 1982, shougi, 0, shougi, shougi, driver_device, 0, ROT0, "Alpha Denshi Co.", "Shougi", 0 )
+GAME( 1982, shougi2, shougi, shougi, shougi2, driver_device, 0, ROT0, "Alpha Denshi Co.", "Shougi 2", 0 )
diff --git a/src/mame/drivers/shtzone.c b/src/mame/drivers/shtzone.c
index 86eaf7466f5..873af4d301a 100644
--- a/src/mame/drivers/shtzone.c
+++ b/src/mame/drivers/shtzone.c
@@ -120,4 +120,4 @@ ROM_START( shtzone )
ROM_LOAD( "epr10894a.20", 0x00000, 0x04000, CRC(ea8901d9) SHA1(43fd8bfc395e3b2e3fbe9645d692a5eb04783d9c) )
ROM_END
-GAME( 1987, shtzone, 0, shtzone, shtzone, shtzone_state, 0, ROT0, "Sega", "Shooting Zone System BIOS", GAME_IS_SKELETON | GAME_NO_SOUND | GAME_NOT_WORKING | GAME_IS_BIOS_ROOT )
+GAME( 1987, shtzone, 0, shtzone, shtzone, driver_device, 0, ROT0, "Sega", "Shooting Zone System BIOS", GAME_IS_SKELETON | GAME_NO_SOUND | GAME_NOT_WORKING | GAME_IS_BIOS_ROOT )
diff --git a/src/mame/drivers/shuuz.c b/src/mame/drivers/shuuz.c
index 5955afeb52a..d010fda6c2e 100644
--- a/src/mame/drivers/shuuz.c
+++ b/src/mame/drivers/shuuz.c
@@ -371,5 +371,5 @@ ROM_END
*
*************************************/
-GAME( 1990, shuuz, 0, shuuz, shuuz, shuuz_state, 0, ROT0, "Atari Games", "Shuuz (version 8.0)", 0 )
-GAME( 1990, shuuz2, shuuz, shuuz, shuuz2, shuuz_state, 0, ROT0, "Atari Games", "Shuuz (version 7.1)", 0 )
+GAME( 1990, shuuz, 0, shuuz, shuuz, driver_device, 0, ROT0, "Atari Games", "Shuuz (version 8.0)", 0 )
+GAME( 1990, shuuz2, shuuz, shuuz, shuuz2, driver_device, 0, ROT0, "Atari Games", "Shuuz (version 7.1)", 0 )
diff --git a/src/mame/drivers/sidearms.c b/src/mame/drivers/sidearms.c
index 02f490367e9..25db931dda3 100644
--- a/src/mame/drivers/sidearms.c
+++ b/src/mame/drivers/sidearms.c
@@ -1144,32 +1144,28 @@ ROM_START( whizz ) /* Whizz Philko 1989. Original pcb. Boardnumber: 01-90 / Seri
ROM_LOAD( "t-7.y8", 0x0000, 0x8000, CRC(a8b5f750) SHA1(94eb7af3cb8bee87ce3d31260e3bde062ebbc8f0) )
ROM_END
-static DRIVER_INIT( sidearms )
+DRIVER_INIT_MEMBER(sidearms_state,sidearms)
{
- sidearms_state *state = machine.driver_data<sidearms_state>();
- state->m_gameid = 0;
+ m_gameid = 0;
}
-static DRIVER_INIT( turtship )
+DRIVER_INIT_MEMBER(sidearms_state,turtship)
{
- sidearms_state *state = machine.driver_data<sidearms_state>();
- state->m_gameid = 1;
+ m_gameid = 1;
}
-static DRIVER_INIT( dyger )
+DRIVER_INIT_MEMBER(sidearms_state,dyger)
{
- sidearms_state *state = machine.driver_data<sidearms_state>();
- state->m_gameid = 2;
+ m_gameid = 2;
}
-static DRIVER_INIT( whizz )
+DRIVER_INIT_MEMBER(sidearms_state,whizz)
{
- sidearms_state *state = machine.driver_data<sidearms_state>();
- state->m_gameid = 3;
+ m_gameid = 3;
}
GAME( 1986, sidearms, 0, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom", "Side Arms - Hyper Dyne (World)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/sidepckt.c b/src/mame/drivers/sidepckt.c
index 015b3dfae16..645a6f23927 100644
--- a/src/mame/drivers/sidepckt.c
+++ b/src/mame/drivers/sidepckt.c
@@ -502,21 +502,19 @@ ROM_START( sidepcktb )
ROM_END
-static DRIVER_INIT( sidepckt )
+DRIVER_INIT_MEMBER(sidepckt_state,sidepckt)
{
- sidepckt_state *state = machine.driver_data<sidepckt_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3014, 0x3014, read8_delegate(FUNC(sidepckt_state::sidepckt_i8751_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x3018, 0x3018, write8_delegate(FUNC(sidepckt_state::sidepckt_i8751_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3014, 0x3014, read8_delegate(FUNC(sidepckt_state::sidepckt_i8751_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x3018, 0x3018, write8_delegate(FUNC(sidepckt_state::sidepckt_i8751_w),this));
}
-static DRIVER_INIT( sidepctj )
+DRIVER_INIT_MEMBER(sidepckt_state,sidepctj)
{
- sidepckt_state *state = machine.driver_data<sidepckt_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3014, 0x3014, read8_delegate(FUNC(sidepckt_state::sidepckt_i8751_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x3018, 0x3018, write8_delegate(FUNC(sidepckt_state::sidepctj_i8751_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x3014, 0x3014, read8_delegate(FUNC(sidepckt_state::sidepckt_i8751_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x3018, 0x3018, write8_delegate(FUNC(sidepckt_state::sidepctj_i8751_w),this));
}
GAME( 1986, sidepckt, 0, sidepckt, sidepckt, sidepckt_state, sidepckt, ROT0, "Data East Corporation", "Side Pocket (World)", GAME_NO_COCKTAIL )
GAME( 1986, sidepcktj, sidepckt, sidepckt, sidepcktj, sidepckt_state, sidepctj, ROT0, "Data East Corporation", "Side Pocket (Japan)", GAME_NO_COCKTAIL )
-GAME( 1986, sidepcktb, sidepckt, sidepckt, sidepcktb, sidepckt_state, 0, ROT0, "bootleg", "Side Pocket (bootleg)", GAME_NO_COCKTAIL )
+GAME( 1986, sidepcktb, sidepckt, sidepckt, sidepcktb, driver_device, 0, ROT0, "bootleg", "Side Pocket (bootleg)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/sigmab52.c b/src/mame/drivers/sigmab52.c
index a7acf385f5b..fd47b804ab2 100644
--- a/src/mame/drivers/sigmab52.c
+++ b/src/mame/drivers/sigmab52.c
@@ -145,6 +145,7 @@ public:
DECLARE_READ8_MEMBER(unk_f700_r);
DECLARE_WRITE8_MEMBER(unk_f710_w);
DECLARE_READ8_MEMBER(unk_f721_r);
+ DECLARE_DRIVER_INIT(jwildb52);
};
@@ -676,9 +677,9 @@ ROM_END
* Driver Init *
*************************/
-static DRIVER_INIT(jwildb52)
+DRIVER_INIT_MEMBER(sigmab52_state,jwildb52)
{
- //HD63484_start(machine);
+ //HD63484_start(machine());
}
diff --git a/src/mame/drivers/sigmab98.c b/src/mame/drivers/sigmab98.c
index 47939265a5c..e075273b404 100644
--- a/src/mame/drivers/sigmab98.c
+++ b/src/mame/drivers/sigmab98.c
@@ -168,6 +168,12 @@ public:
DECLARE_WRITE8_MEMBER(eeprom_w);
DECLARE_READ8_MEMBER(sammymdl_eeprom_r);
DECLARE_WRITE8_MEMBER(sammymdl_eeprom_w);
+ DECLARE_DRIVER_INIT(gegege);
+ DECLARE_DRIVER_INIT(pepsiman);
+ DECLARE_DRIVER_INIT(itazuram);
+ DECLARE_DRIVER_INIT(animalc);
+ DECLARE_DRIVER_INIT(ucytokyu);
+ DECLARE_DRIVER_INIT(haekaka);
};
@@ -1900,9 +1906,9 @@ ROM_START( gegege )
ROM_LOAD( "b9804-5.ic16", 0x00000, 0x80000, CRC(ddd7984c) SHA1(3558c495776671ffd3cd5c665b87827b3959b360) )
ROM_END
-static DRIVER_INIT( gegege )
+DRIVER_INIT_MEMBER(sigmab98_state,gegege)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
// Protection?
rom[0x0bdd] = 0xc9;
@@ -1920,14 +1926,14 @@ static DRIVER_INIT( gegege )
rom[0x8165] = 0x00;
// ROM banks
- machine.root_device().membank("rombank")->configure_entries(0, 0x18, rom + 0x8000, 0x1000);
- machine.root_device().membank("rombank")->set_entry(0);
+ machine().root_device().membank("rombank")->configure_entries(0, 0x18, rom + 0x8000, 0x1000);
+ machine().root_device().membank("rombank")->set_entry(0);
// RAM banks
- UINT8 *bankedram = auto_alloc_array(machine, UINT8, 0x800 * 2);
+ UINT8 *bankedram = auto_alloc_array(machine(), UINT8, 0x800 * 2);
- machine.root_device().membank("rambank")->configure_entries(0, 2, bankedram, 0x800);
- machine.root_device().membank("rambank")->set_entry(0);
+ machine().root_device().membank("rambank")->configure_entries(0, 2, bankedram, 0x800);
+ machine().root_device().membank("rambank")->set_entry(0);
}
@@ -1949,9 +1955,9 @@ ROM_START( pepsiman )
ROM_LOAD( "b9806-5.ic16", 0x00000, 0x80000, CRC(6d405dfb) SHA1(e65ffe1279680097894754e379d7ad638657eb49) )
ROM_END
-static DRIVER_INIT( pepsiman )
+DRIVER_INIT_MEMBER(sigmab98_state,pepsiman)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
// Protection?
rom[0x058a] = 0xc9;
@@ -1969,14 +1975,14 @@ static DRIVER_INIT( pepsiman )
rom[0x8165] = 0x00;
// ROM banks
- machine.root_device().membank("rombank")->configure_entries(0, 0x18, rom + 0x8000, 0x1000);
- machine.root_device().membank("rombank")->set_entry(0);
+ machine().root_device().membank("rombank")->configure_entries(0, 0x18, rom + 0x8000, 0x1000);
+ machine().root_device().membank("rombank")->set_entry(0);
// RAM banks
- UINT8 *bankedram = auto_alloc_array(machine, UINT8, 0x800 * 2);
+ UINT8 *bankedram = auto_alloc_array(machine(), UINT8, 0x800 * 2);
- machine.root_device().membank("rambank")->configure_entries(0, 2, bankedram, 0x800);
- machine.root_device().membank("rambank")->set_entry(0);
+ machine().root_device().membank("rambank")->configure_entries(0, 2, bankedram, 0x800);
+ machine().root_device().membank("rambank")->set_entry(0);
}
@@ -2000,9 +2006,9 @@ ROM_START( ucytokyu )
ROM_LOAD( "b9809-6.ic26", 0x80000, 0x80000, CRC(4e2d5fdf) SHA1(af1357b0f6a407890ecad26a18d2b4e223802693) )
ROM_END
-static DRIVER_INIT( ucytokyu )
+DRIVER_INIT_MEMBER(sigmab98_state,ucytokyu)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
// Protection?
rom[0x0bfa] = 0xc9;
@@ -2020,14 +2026,14 @@ static DRIVER_INIT( ucytokyu )
rom[0x8165] = 0x00;
// ROM banks
- machine.root_device().membank("rombank")->configure_entries(0, 0x18, rom + 0x8000, 0x1000);
- machine.root_device().membank("rombank")->set_entry(0);
+ machine().root_device().membank("rombank")->configure_entries(0, 0x18, rom + 0x8000, 0x1000);
+ machine().root_device().membank("rombank")->set_entry(0);
// RAM banks
- UINT8 *bankedram = auto_alloc_array(machine, UINT8, 0x800 * 2);
+ UINT8 *bankedram = auto_alloc_array(machine(), UINT8, 0x800 * 2);
- machine.root_device().membank("rambank")->configure_entries(0, 2, bankedram, 0x800);
- machine.root_device().membank("rambank")->set_entry(0);
+ machine().root_device().membank("rambank")->configure_entries(0, 2, bankedram, 0x800);
+ machine().root_device().membank("rambank")->set_entry(0);
}
@@ -2110,23 +2116,22 @@ ROM_START( animalc )
ROM_LOAD( "vx2301l01.u016", 0x00000, 0x200000, CRC(4ae14ff9) SHA1(1273d15ea642452fecacff572655cd3ab47a5884) ) // 1xxxxxxxxxxxxxxxxxxxx = 0x00
ROM_END
-static DRIVER_INIT( animalc )
+DRIVER_INIT_MEMBER(sigmab98_state,animalc)
{
- sigmab98_state *state = machine.driver_data<sigmab98_state>();
// RAM banks
- UINT8 *bankedram = auto_alloc_array(machine, UINT8, 0x1000 * 5);
- state->membank("rambank")->configure_entry(0, state->m_nvram);
- state->membank("rambank")->configure_entries(1, 4, bankedram, 0x1000);
- state->membank("rambank")->set_entry(0);
-
- state->m_spriteram.allocate(0x1000 * 5);
- memset(state->m_spriteram, 0, 0x1000 * 5);
- state->membank("sprbank")->configure_entries(0, 5, state->m_spriteram, 0x1000);
- state->membank("sprbank")->set_entry(0);
-
- state->m_vblank_vector = 0x00; // increment counter
- state->m_timer0_vector = 0x1c; // read hopper state
- state->m_timer1_vector = 0x1e; // drive hopper motor
+ UINT8 *bankedram = auto_alloc_array(machine(), UINT8, 0x1000 * 5);
+ membank("rambank")->configure_entry(0, m_nvram);
+ membank("rambank")->configure_entries(1, 4, bankedram, 0x1000);
+ membank("rambank")->set_entry(0);
+
+ m_spriteram.allocate(0x1000 * 5);
+ memset(m_spriteram, 0, 0x1000 * 5);
+ membank("sprbank")->configure_entries(0, 5, m_spriteram, 0x1000);
+ membank("sprbank")->set_entry(0);
+
+ m_vblank_vector = 0x00; // increment counter
+ m_timer0_vector = 0x1c; // read hopper state
+ m_timer1_vector = 0x1e; // drive hopper motor
}
/***************************************************************************
@@ -2151,29 +2156,28 @@ ROM_START( itazuram )
ROM_LOAD( "vx2001l01.u016", 0x00000, 0x200000, CRC(9ee95222) SHA1(7154d43ef312a48a882207ca37e1c61e8b215a9b) )
ROM_END
-static DRIVER_INIT( itazuram )
+DRIVER_INIT_MEMBER(sigmab98_state,itazuram)
{
- sigmab98_state *state = machine.driver_data<sigmab98_state>();
// ROM banks
- UINT8 *rom = state->memregion("maincpu")->base();
- state->membank("rombank0")->set_base(rom + 0x3400);
- state->membank("rombank1")->set_base(rom + 0x4400);
- state->m_rombank = 0x0f;
+ UINT8 *rom = memregion("maincpu")->base();
+ membank("rombank0")->set_base(rom + 0x3400);
+ membank("rombank1")->set_base(rom + 0x4400);
+ m_rombank = 0x0f;
// RAM banks
- state->m_generic_paletteram_8.allocate(0x3000);
- memset(state->m_generic_paletteram_8, 0, 0x3000);
- state->membank("palbank")->set_base(state->m_generic_paletteram_8);
- state->m_rambank = 0x64;
-
- state->m_spriteram.allocate(0x1000 * 5);
- memset(state->m_spriteram, 0, 0x1000 * 5);
- state->membank("sprbank0")->set_base(state->m_spriteram + 0x1000*4); // scratch
- state->membank("sprbank1")->set_base(state->m_spriteram + 0x1000*4); // scratch
-
- state->m_vblank_vector = 0x00;
- state->m_timer0_vector = 0x02;
- state->m_timer1_vector = 0x16;
+ m_generic_paletteram_8.allocate(0x3000);
+ memset(m_generic_paletteram_8, 0, 0x3000);
+ membank("palbank")->set_base(m_generic_paletteram_8);
+ m_rambank = 0x64;
+
+ m_spriteram.allocate(0x1000 * 5);
+ memset(m_spriteram, 0, 0x1000 * 5);
+ membank("sprbank0")->set_base(m_spriteram + 0x1000*4); // scratch
+ membank("sprbank1")->set_base(m_spriteram + 0x1000*4); // scratch
+
+ m_vblank_vector = 0x00;
+ m_timer0_vector = 0x02;
+ m_timer1_vector = 0x16;
}
/***************************************************************************
@@ -2270,22 +2274,21 @@ ROM_START( haekaka )
ROM_LOAD( "em4207l01.u016.bin", 0x00000, 0x200000, CRC(3876961c) SHA1(3d842c1f63ea5aa7e799967928b86c5fabb4e65e) )
ROM_END
-static DRIVER_INIT( haekaka )
+DRIVER_INIT_MEMBER(sigmab98_state,haekaka)
{
- sigmab98_state *state = machine.driver_data<sigmab98_state>();
// RAM banks
- state->m_generic_paletteram_8.allocate(0x200);
- memset(state->m_generic_paletteram_8, 0, 0x200);
+ m_generic_paletteram_8.allocate(0x200);
+ memset(m_generic_paletteram_8, 0, 0x200);
- state->m_spriteram.allocate(0x1000);
- memset(state->m_spriteram, 0, 0x1000);
+ m_spriteram.allocate(0x1000);
+ memset(m_spriteram, 0, 0x1000);
- state->m_rombank = 0x65;
- state->m_rambank = 0x53;
+ m_rombank = 0x65;
+ m_rambank = 0x53;
- state->m_vblank_vector = 0x04;
- state->m_timer0_vector = 0x1a;
- state->m_timer1_vector = 0x1c;
+ m_vblank_vector = 0x04;
+ m_timer0_vector = 0x1a;
+ m_timer1_vector = 0x1c;
}
@@ -2299,7 +2302,7 @@ GAME( 1997, gegege, 0, gegege, gegege, sigmab98_state, gegege, RO
GAME( 1997, pepsiman, 0, gegege, pepsiman, sigmab98_state, pepsiman, ROT0, "Sigma", "PEPSI Man", 0 )
GAME( 1997, ucytokyu, 0, gegege, ucytokyu, sigmab98_state, ucytokyu, ROT0, "Sigma", "Uchuu Tokkyuu Medalian", 0 ) // Banpresto + others in the ROM
// Sammy Medal Games:
-GAME( 2000, sammymdl, 0, sammymdl, sammymdl, sigmab98_state, 0, ROT0, "Sammy", "Sammy Medal Game System Bios", GAME_IS_BIOS_ROOT )
+GAME( 2000, sammymdl, 0, sammymdl, sammymdl, driver_device, 0, ROT0, "Sammy", "Sammy Medal Game System Bios", GAME_IS_BIOS_ROOT )
GAME( 2000, animalc, sammymdl, animalc, sammymdl, sigmab98_state, animalc, ROT0, "Sammy", "Animal Catch", 0 )
GAME( 2000, itazuram, sammymdl, itazuram, sammymdl, sigmab98_state, itazuram, ROT0, "Sammy", "Itazura Monkey", 0 )
GAME( 2000, pyenaget, sammymdl, pyenaget, sammymdl, sigmab98_state, haekaka, ROT0, "Sammy", "Pye-nage Taikai", 0 )
diff --git a/src/mame/drivers/silkroad.c b/src/mame/drivers/silkroad.c
index bf0824eea84..aa0bc0abe02 100644
--- a/src/mame/drivers/silkroad.c
+++ b/src/mame/drivers/silkroad.c
@@ -320,14 +320,14 @@ MACHINE_CONFIG_END
Game driver(s)
***************************************************************************/
-static DRIVER_INIT( silkroad )
+DRIVER_INIT_MEMBER(silkroad_state,silkroad)
{
/* why? rom04.bin looks like a bad dump, but it seems not since it was
verified as correct... problem with the original which the gfx
hardware didn't care about? */
- UINT8 *src = machine.root_device().memregion("gfx1")->base()+0x1000000;
+ UINT8 *src = machine().root_device().memregion("gfx1")->base()+0x1000000;
int len = 0x0200000;
UINT8 *buffer;
@@ -335,13 +335,13 @@ static DRIVER_INIT( silkroad )
src += tileoffset; len -=tileoffset;
- buffer = auto_alloc_array(machine, UINT8, len);
+ buffer = auto_alloc_array(machine(), UINT8, len);
{
int i;
for (i = 0;i < len; i++)
buffer[i] = src[i-1];
memcpy(src,buffer,len);
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
}
diff --git a/src/mame/drivers/silvmil.c b/src/mame/drivers/silvmil.c
index cad9673265b..e2427649d05 100644
--- a/src/mame/drivers/silvmil.c
+++ b/src/mame/drivers/silvmil.c
@@ -104,6 +104,7 @@ public:
}
+ DECLARE_DRIVER_INIT(silvmil);
};
@@ -428,9 +429,9 @@ static void tumblepb_gfx1_rearrange(running_machine &machine)
}
}
-static DRIVER_INIT( silvmil )
+DRIVER_INIT_MEMBER(silvmil_state,silvmil)
{
- tumblepb_gfx1_rearrange(machine);
+ tumblepb_gfx1_rearrange(machine());
}
GAME( 1995, silvmil, 0, silvmil, silvmil, silvmil_state, silvmil, ROT270, "Para", "Silver Millennium", 0 )
diff --git a/src/mame/drivers/simpl156.c b/src/mame/drivers/simpl156.c
index 59056f16751..509e374463f 100644
--- a/src/mame/drivers/simpl156.c
+++ b/src/mame/drivers/simpl156.c
@@ -1020,11 +1020,11 @@ ROM_END
*/
-static DRIVER_INIT( simpl156 )
+DRIVER_INIT_MEMBER(simpl156_state,simpl156)
{
- UINT8 *rom = machine.root_device().memregion("okimusic")->base();
- int length = machine.root_device().memregion("okimusic")->bytes();
- UINT8 *buf1 = auto_alloc_array(machine, UINT8, length);
+ UINT8 *rom = machine().root_device().memregion("okimusic")->base();
+ int length = machine().root_device().memregion("okimusic")->bytes();
+ UINT8 *buf1 = auto_alloc_array(machine(), UINT8, length);
UINT32 x;
@@ -1045,10 +1045,10 @@ static DRIVER_INIT( simpl156 )
memcpy(rom, buf1, length);
- auto_free(machine, buf1);
+ auto_free(machine(), buf1);
- deco56_decrypt_gfx(machine, "gfx1");
- deco156_decrypt(machine);
+ deco56_decrypt_gfx(machine(), "gfx1");
+ deco156_decrypt(machine());
}
/* Everything seems more stable if we run the CPU speed x4 and use Idle skips.. maybe it has an internal multipler? */
@@ -1060,10 +1060,9 @@ READ32_MEMBER(simpl156_state::joemacr_speedup_r)
}
-static DRIVER_INIT( joemacr )
+DRIVER_INIT_MEMBER(simpl156_state,joemacr)
{
- simpl156_state *state = machine.driver_data<simpl156_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0201018, 0x020101b, read32_delegate(FUNC(simpl156_state::joemacr_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0201018, 0x020101b, read32_delegate(FUNC(simpl156_state::joemacr_speedup_r),this));
DRIVER_INIT_CALL(simpl156);
}
@@ -1074,10 +1073,9 @@ READ32_MEMBER(simpl156_state::chainrec_speedup_r)
return m_systemram[0x18/4];
}
-static DRIVER_INIT( chainrec )
+DRIVER_INIT_MEMBER(simpl156_state,chainrec)
{
- simpl156_state *state = machine.driver_data<simpl156_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0201018, 0x020101b, read32_delegate(FUNC(simpl156_state::chainrec_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0201018, 0x020101b, read32_delegate(FUNC(simpl156_state::chainrec_speedup_r),this));
DRIVER_INIT_CALL(simpl156);
}
@@ -1088,10 +1086,9 @@ READ32_MEMBER(simpl156_state::prtytime_speedup_r)
return m_systemram[0xae0/4];
}
-static DRIVER_INIT( prtytime )
+DRIVER_INIT_MEMBER(simpl156_state,prtytime)
{
- simpl156_state *state = machine.driver_data<simpl156_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0201ae0, 0x0201ae3, read32_delegate(FUNC(simpl156_state::prtytime_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0201ae0, 0x0201ae3, read32_delegate(FUNC(simpl156_state::prtytime_speedup_r),this));
DRIVER_INIT_CALL(simpl156);
}
@@ -1103,10 +1100,9 @@ READ32_MEMBER(simpl156_state::charlien_speedup_r)
return m_systemram[0x10/4];
}
-static DRIVER_INIT( charlien )
+DRIVER_INIT_MEMBER(simpl156_state,charlien)
{
- simpl156_state *state = machine.driver_data<simpl156_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0201010, 0x0201013, read32_delegate(FUNC(simpl156_state::charlien_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0201010, 0x0201013, read32_delegate(FUNC(simpl156_state::charlien_speedup_r),this));
DRIVER_INIT_CALL(simpl156);
}
@@ -1117,10 +1113,9 @@ READ32_MEMBER(simpl156_state::osman_speedup_r)
return m_systemram[0x10/4];
}
-static DRIVER_INIT( osman )
+DRIVER_INIT_MEMBER(simpl156_state,osman)
{
- simpl156_state *state = machine.driver_data<simpl156_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0201010, 0x0201013, read32_delegate(FUNC(simpl156_state::osman_speedup_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0201010, 0x0201013, read32_delegate(FUNC(simpl156_state::osman_speedup_r),this));
DRIVER_INIT_CALL(simpl156);
}
diff --git a/src/mame/drivers/simpsons.c b/src/mame/drivers/simpsons.c
index 62b7a4a14ae..714d3b392e3 100644
--- a/src/mame/drivers/simpsons.c
+++ b/src/mame/drivers/simpsons.c
@@ -545,9 +545,9 @@ ROM_END
***************************************************************************/
// the region warning, if one exists, is shown after the high-score screen in attract mode
-GAME( 1991, simpsons, 0, simpsons, simpsons, simpsons_state, 0, ROT0, "Konami", "The Simpsons (4 Players World, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, simpsons4pa, simpsons, simpsons, simpsons, simpsons_state, 0, ROT0, "Konami", "The Simpsons (4 Players World, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, simpsons2p, simpsons, simpsons, simpsn2p, simpsons_state, 0, ROT0, "Konami", "The Simpsons (2 Players World, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, simpsons2p2, simpsons, simpsons, simpsons, simpsons_state, 0, ROT0, "Konami", "The Simpsons (2 Players World, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, simpsons2pa, simpsons, simpsons, simpsn2p, simpsons_state, 0, ROT0, "Konami", "The Simpsons (2 Players Asia)", GAME_SUPPORTS_SAVE )
-GAME( 1991, simpsons2pj, simpsons, simpsons, simpsn2p, simpsons_state, 0, ROT0, "Konami", "The Simpsons (2 Players Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, simpsons, 0, simpsons, simpsons, driver_device, 0, ROT0, "Konami", "The Simpsons (4 Players World, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, simpsons4pa, simpsons, simpsons, simpsons, driver_device, 0, ROT0, "Konami", "The Simpsons (4 Players World, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1991, simpsons2p, simpsons, simpsons, simpsn2p, driver_device, 0, ROT0, "Konami", "The Simpsons (2 Players World, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, simpsons2p2, simpsons, simpsons, simpsons, driver_device, 0, ROT0, "Konami", "The Simpsons (2 Players World, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1991, simpsons2pa, simpsons, simpsons, simpsn2p, driver_device, 0, ROT0, "Konami", "The Simpsons (2 Players Asia)", GAME_SUPPORTS_SAVE )
+GAME( 1991, simpsons2pj, simpsons, simpsons, simpsn2p, driver_device, 0, ROT0, "Konami", "The Simpsons (2 Players Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/skeetsht.c b/src/mame/drivers/skeetsht.c
index 311c3a420d1..8323886a81b 100644
--- a/src/mame/drivers/skeetsht.c
+++ b/src/mame/drivers/skeetsht.c
@@ -313,5 +313,5 @@ ROM_END
*
*************************************/
-GAME( 1991, skeetsht, 0, skeetsht, skeetsht, skeetsht_state, 0, ROT0, "Dynamo", "Skeet Shot", GAME_NOT_WORKING )
-GAME( 1991, popshot, 0, skeetsht, skeetsht, skeetsht_state, 0, ROT0, "Dynamo", "Pop Shot (prototype)", GAME_NOT_WORKING )
+GAME( 1991, skeetsht, 0, skeetsht, skeetsht, driver_device, 0, ROT0, "Dynamo", "Skeet Shot", GAME_NOT_WORKING )
+GAME( 1991, popshot, 0, skeetsht, skeetsht, driver_device, 0, ROT0, "Dynamo", "Pop Shot (prototype)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/skimaxx.c b/src/mame/drivers/skimaxx.c
index 47f4e69ada5..266b80f0b52 100644
--- a/src/mame/drivers/skimaxx.c
+++ b/src/mame/drivers/skimaxx.c
@@ -623,4 +623,4 @@ ROM_END
*
*************************************/
-GAME( 1996, skimaxx, 0, skimaxx, skimaxx, skimaxx_state, 0, ROT0, "Kyle Hodgetts / ICE", "Skimaxx", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, skimaxx, 0, skimaxx, skimaxx, driver_device, 0, ROT0, "Kyle Hodgetts / ICE", "Skimaxx", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/skullxbo.c b/src/mame/drivers/skullxbo.c
index 60631fc55eb..e9b7d5f569d 100644
--- a/src/mame/drivers/skullxbo.c
+++ b/src/mame/drivers/skullxbo.c
@@ -616,10 +616,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( skullxbo )
+DRIVER_INIT_MEMBER(skullxbo_state,skullxbo)
{
- atarijsa_init(machine, "FF5802", 0x0080);
- memset(machine.root_device().memregion("gfx1")->base() + 0x170000, 0, 0x20000);
+ atarijsa_init(machine(), "FF5802", 0x0080);
+ memset(machine().root_device().memregion("gfx1")->base() + 0x170000, 0, 0x20000);
}
diff --git a/src/mame/drivers/skyarmy.c b/src/mame/drivers/skyarmy.c
index 87ce98fa27b..1eb07cac305 100644
--- a/src/mame/drivers/skyarmy.c
+++ b/src/mame/drivers/skyarmy.c
@@ -326,4 +326,4 @@ ROM_START( skyarmy )
ROM_LOAD( "a6.bin", 0x0000, 0x0020, CRC(c721220b) SHA1(61b3320fb616c0600d56840cb6438616c7e0c6eb) )
ROM_END
-GAME( 1982, skyarmy, 0, skyarmy, skyarmy, skyarmy_state, 0, ROT90, "Shoei", "Sky Army", GAME_NO_COCKTAIL )
+GAME( 1982, skyarmy, 0, skyarmy, skyarmy, driver_device, 0, ROT90, "Shoei", "Sky Army", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/skydiver.c b/src/mame/drivers/skydiver.c
index 9bdb60989e3..20793844904 100644
--- a/src/mame/drivers/skydiver.c
+++ b/src/mame/drivers/skydiver.c
@@ -435,4 +435,4 @@ ROM_END
*
*************************************/
-GAME( 1978, skydiver, 0, skydiver, skydiver, skydiver_state, 0, ROT0, "Atari", "Sky Diver", 0 )
+GAME( 1978, skydiver, 0, skydiver, skydiver, driver_device, 0, ROT0, "Atari", "Sky Diver", 0 )
diff --git a/src/mame/drivers/skyfox.c b/src/mame/drivers/skyfox.c
index abc3c4e713f..b21fe159454 100644
--- a/src/mame/drivers/skyfox.c
+++ b/src/mame/drivers/skyfox.c
@@ -430,10 +430,10 @@ ROM_END
/* Untangle the graphics: cut each 32x32x8 tile in 16 8x8x8 tiles */
-static DRIVER_INIT( skyfox )
+DRIVER_INIT_MEMBER(skyfox_state,skyfox)
{
- UINT8 *RAM = machine.root_device().memregion("gfx1")->base();
- UINT8 *end = RAM + machine.root_device().memregion("gfx1")->bytes();
+ UINT8 *RAM = machine().root_device().memregion("gfx1")->base();
+ UINT8 *end = RAM + machine().root_device().memregion("gfx1")->bytes();
UINT8 buf[32 * 32];
while (RAM < end)
diff --git a/src/mame/drivers/skykid.c b/src/mame/drivers/skykid.c
index 41055356624..fad8b9972e7 100644
--- a/src/mame/drivers/skykid.c
+++ b/src/mame/drivers/skykid.c
@@ -632,13 +632,13 @@ ROM_END
-static DRIVER_INIT( skykid )
+DRIVER_INIT_MEMBER(skykid_state,skykid)
{
UINT8 *rom;
int i;
/* unpack the third sprite ROM */
- rom = machine.root_device().memregion("gfx3")->base() + 0x4000;
+ rom = machine().root_device().memregion("gfx3")->base() + 0x4000;
for (i = 0;i < 0x2000;i++)
{
rom[i + 0x4000] = rom[i]; // sprite set #1, plane 3
diff --git a/src/mame/drivers/skylncr.c b/src/mame/drivers/skylncr.c
index 2e4cce97a67..5beb850a679 100644
--- a/src/mame/drivers/skylncr.c
+++ b/src/mame/drivers/skylncr.c
@@ -101,6 +101,7 @@ public:
DECLARE_READ8_MEMBER(ret_ff);
DECLARE_READ8_MEMBER(ret_00);
DECLARE_WRITE8_MEMBER(skylncr_nmi_enable_w);
+ DECLARE_DRIVER_INIT(skylncr);
};
@@ -870,11 +871,10 @@ ROM_END
* Driver Init *
**********************************/
-static DRIVER_INIT( skylncr )
+DRIVER_INIT_MEMBER(skylncr_state,skylncr)
{
- skylncr_state *state = machine.driver_data<skylncr_state>();
- state->m_generic_paletteram_8.allocate(0x100 * 3);
- state->m_generic_paletteram2_8.allocate(0x100 * 3);
+ m_generic_paletteram_8.allocate(0x100 * 3);
+ m_generic_paletteram2_8.allocate(0x100 * 3);
}
diff --git a/src/mame/drivers/skyraid.c b/src/mame/drivers/skyraid.c
index 41bedfa060b..695adebd0b4 100644
--- a/src/mame/drivers/skyraid.c
+++ b/src/mame/drivers/skyraid.c
@@ -277,4 +277,4 @@ ROM_START( skyraid )
ROM_END
-GAME( 1978, skyraid, 0, skyraid, skyraid, skyraid_state, 0, ORIENTATION_FLIP_Y, "Atari", "Sky Raider", GAME_IMPERFECT_COLORS )
+GAME( 1978, skyraid, 0, skyraid, skyraid, driver_device, 0, ORIENTATION_FLIP_Y, "Atari", "Sky Raider", GAME_IMPERFECT_COLORS )
diff --git a/src/mame/drivers/slapfght.c b/src/mame/drivers/slapfght.c
index 3aefc2da936..7eea25bf4b6 100644
--- a/src/mame/drivers/slapfght.c
+++ b/src/mame/drivers/slapfght.c
@@ -1738,16 +1738,14 @@ ROM_START( gtstarb2 )
ROM_END
-static DRIVER_INIT( tigerh )
+DRIVER_INIT_MEMBER(slapfght_state,tigerh)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xe803, 0xe803, read8_delegate(FUNC(slapfght_state::tigerh_mcu_r),state), write8_delegate(FUNC(slapfght_state::tigerh_mcu_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xe803, 0xe803, read8_delegate(FUNC(slapfght_state::tigerh_mcu_r),this), write8_delegate(FUNC(slapfght_state::tigerh_mcu_w),this));
}
-static DRIVER_INIT( tigerhb )
+DRIVER_INIT_MEMBER(slapfght_state,tigerhb)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xe803, 0xe803, read8_delegate(FUNC(slapfght_state::tigerhb_e803_r),state), write8_delegate(FUNC(slapfght_state::tigerhb_e803_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xe803, 0xe803, read8_delegate(FUNC(slapfght_state::tigerhb_e803_r),this), write8_delegate(FUNC(slapfght_state::tigerhb_e803_w),this));
}
@@ -1812,30 +1810,27 @@ static void getstar_init( running_machine &machine )
machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x00, read8_delegate(FUNC(slapfght_state::slapfight_port_00_r),state));
}
-static DRIVER_INIT( getstar )
+DRIVER_INIT_MEMBER(slapfght_state,getstar)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
- state->m_getstar_id = GETSTAR;
- getstar_init(machine);
+ m_getstar_id = GETSTAR;
+ getstar_init(machine());
}
-static DRIVER_INIT( getstarj )
+DRIVER_INIT_MEMBER(slapfght_state,getstarj)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
- state->m_getstar_id = GETSTARJ;
- getstar_init(machine);
+ m_getstar_id = GETSTARJ;
+ getstar_init(machine());
}
-static DRIVER_INIT( gtstarb1 )
+DRIVER_INIT_MEMBER(slapfght_state,gtstarb1)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->m_getstar_id = GTSTARB1;
- getstar_init(machine);
+ m_getstar_id = GTSTARB1;
+ getstar_init(machine());
/* specific handlers for this bootleg */
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x0, 0x0, read8_delegate(FUNC(slapfght_state::gtstarb1_port_0_read),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x0, 0x0, read8_delegate(FUNC(slapfght_state::gtstarb1_port_0_read),this));
/* requires this or it gets stuck with 'rom test' on screen */
/* it is possible the program roms are slighly corrupt like the gfx roms, or
that the bootleg simply shouldn't execute the code due to the modified roms */
@@ -1843,24 +1838,21 @@ static DRIVER_INIT( gtstarb1 )
ROM[0x6d56] = 0xc3; //jp instead of jp z
}
-static DRIVER_INIT( gtstarb2 )
+DRIVER_INIT_MEMBER(slapfght_state,gtstarb2)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
- state->m_getstar_id = GTSTARB2;
- getstar_init(machine);
+ m_getstar_id = GTSTARB2;
+ getstar_init(machine());
}
-static DRIVER_INIT( slapfigh )
+DRIVER_INIT_MEMBER(slapfght_state,slapfigh)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xe803, 0xe803, read8_delegate(FUNC(slapfght_state::slapfight_mcu_r),state), write8_delegate(FUNC(slapfght_state::slapfight_mcu_w),state));
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x00, read8_delegate(FUNC(slapfght_state::slapfight_mcu_status_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xe803, 0xe803, read8_delegate(FUNC(slapfght_state::slapfight_mcu_r),this), write8_delegate(FUNC(slapfght_state::slapfight_mcu_w),this));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x00, read8_delegate(FUNC(slapfght_state::slapfight_mcu_status_r),this));
}
-static DRIVER_INIT( perfrman )
+DRIVER_INIT_MEMBER(slapfght_state,perfrman)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
- machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x00, read8_delegate(FUNC(slapfght_state::perfrman_port_00_r),state));
+ machine().device("maincpu")->memory().space(AS_IO)->install_read_handler(0x00, 0x00, read8_delegate(FUNC(slapfght_state::perfrman_port_00_r),this));
}
/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS ) */
@@ -1870,15 +1862,15 @@ GAME( 1985, perfrmanu, perfrman, perfrman, perfrman, slapfght_state, perfrman
GAME( 1985, tigerh, 0, tigerh, tigerh, slapfght_state, tigerh, ROT270, "Toaplan / Taito America Corp.", "Tiger Heli (US)", GAME_NO_COCKTAIL )
GAME( 1985, tigerhj, tigerh, tigerh, tigerh, slapfght_state, tigerh, ROT270, "Toaplan / Taito", "Tiger Heli (Japan)", GAME_NO_COCKTAIL )
GAME( 1985, tigerhb1, tigerh, tigerhb, tigerh, slapfght_state, tigerhb, ROT270, "bootleg", "Tiger Heli (bootleg set 1)", GAME_NO_COCKTAIL )
-GAME( 1985, tigerhb2, tigerh, tigerhb, tigerh, slapfght_state, 0, ROT270, "bootleg", "Tiger Heli (bootleg set 2)", GAME_NO_COCKTAIL )
-GAME( 1985, tigerhb3, tigerh, tigerhb, tigerh, slapfght_state, 0, ROT270, "bootleg", "Tiger Heli (bootleg set 3)", GAME_NO_COCKTAIL )
+GAME( 1985, tigerhb2, tigerh, tigerhb, tigerh, driver_device, 0, ROT270, "bootleg", "Tiger Heli (bootleg set 2)", GAME_NO_COCKTAIL )
+GAME( 1985, tigerhb3, tigerh, tigerhb, tigerh, driver_device, 0, ROT270, "bootleg", "Tiger Heli (bootleg set 3)", GAME_NO_COCKTAIL )
GAME( 1986, alcon, 0, slapfigh, slapfigh, slapfght_state, slapfigh, ROT270, "Toaplan / Taito America Corp.", "Alcon (US)", GAME_NO_COCKTAIL )
GAME( 1986, slapfigh, alcon, slapfigh, slapfigh, slapfght_state, slapfigh, ROT270, "Toaplan / Taito", "Slap Fight (Japan set 1)", GAME_NO_COCKTAIL )
GAME( 1986, slapfigha, alcon, slapfigh, slapfigh, slapfght_state, slapfigh, ROT270, "Toaplan / Taito", "Slap Fight (Japan set 2)", GAME_NOT_WORKING | GAME_NO_COCKTAIL ) /* MCU code not dumped */
-GAME( 1986, slapfighb1, alcon, slapfighb1, slapfigh, slapfght_state, 0, ROT270, "bootleg", "Slap Fight (bootleg set 1)", GAME_NO_COCKTAIL )
-GAME( 1986, slapfighb2, alcon, slapfighb2, slapfigh, slapfght_state, 0, ROT270, "bootleg", "Slap Fight (bootleg set 2)", GAME_NO_COCKTAIL ) // England?
-GAME( 1986, slapfighb3, alcon, slapfighb2, slapfigh, slapfght_state, 0, ROT270, "bootleg", "Slap Fight (bootleg set 3)", GAME_NO_COCKTAIL ) // PCB labeled 'slap fighter'
+GAME( 1986, slapfighb1, alcon, slapfighb1, slapfigh, driver_device, 0, ROT270, "bootleg", "Slap Fight (bootleg set 1)", GAME_NO_COCKTAIL )
+GAME( 1986, slapfighb2, alcon, slapfighb2, slapfigh, driver_device, 0, ROT270, "bootleg", "Slap Fight (bootleg set 2)", GAME_NO_COCKTAIL ) // England?
+GAME( 1986, slapfighb3, alcon, slapfighb2, slapfigh, driver_device, 0, ROT270, "bootleg", "Slap Fight (bootleg set 3)", GAME_NO_COCKTAIL ) // PCB labeled 'slap fighter'
GAME( 1986, getstar, 0, slapfigh, getstar, slapfght_state, getstar, ROT0, "Toaplan / Taito America Corporation (Kitkorp license)", "Guardian (US)", GAME_NO_COCKTAIL )
GAME( 1986, getstarj, getstar, slapfigh, getstarj, slapfght_state, getstarj, ROT0, "Toaplan / Taito", "Get Star (Japan)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/slapshot.c b/src/mame/drivers/slapshot.c
index ba7fa39732f..bbe178877f0 100644
--- a/src/mame/drivers/slapshot.c
+++ b/src/mame/drivers/slapshot.c
@@ -727,11 +727,11 @@ ROM_START( opwolf3u )
ROM_END
-static DRIVER_INIT( slapshot )
+DRIVER_INIT_MEMBER(slapshot_state,slapshot)
{
UINT32 offset,i;
- UINT8 *gfx = machine.root_device().memregion("gfx2")->base();
- int size = machine.root_device().memregion("gfx2")->bytes();
+ UINT8 *gfx = machine().root_device().memregion("gfx2")->base();
+ int size = machine().root_device().memregion("gfx2")->bytes();
int data;
offset = size / 2;
diff --git a/src/mame/drivers/sleic.c b/src/mame/drivers/sleic.c
index 288afeaa1c7..a5c19a8bb1d 100644
--- a/src/mame/drivers/sleic.c
+++ b/src/mame/drivers/sleic.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(sleic);
};
@@ -33,7 +35,7 @@ void sleic_state::machine_reset()
{
}
-static DRIVER_INIT( sleic )
+DRIVER_INIT_MEMBER(sleic_state,sleic)
{
}
diff --git a/src/mame/drivers/sliver.c b/src/mame/drivers/sliver.c
index 2c6cbe6440b..f2a1fe8cee5 100644
--- a/src/mame/drivers/sliver.c
+++ b/src/mame/drivers/sliver.c
@@ -523,4 +523,4 @@ ROM_START( sliver )
ROM_LOAD( "ka-12.bin", 0x100000, 0x80000, CRC(0901e142) SHA1(68ebd38beeedf53414a831c01813881feee33446) )
ROM_END
-GAME( 1996, sliver, 0, sliver, sliver, sliver_state, 0, ROT0, "Hollow Corp", "Sliver", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, sliver, 0, sliver, sliver, driver_device, 0, ROT0, "Hollow Corp", "Sliver", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/slotcarn.c b/src/mame/drivers/slotcarn.c
index 181a291912a..d102e21c624 100644
--- a/src/mame/drivers/slotcarn.c
+++ b/src/mame/drivers/slotcarn.c
@@ -758,5 +758,5 @@ ROM_END
**********************************************
YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1985, slotcarn, 0, slotcarn, slotcarn, slotcarn_state, 0, ROT0, "Wing Co., Ltd.", "Slot Carnival", GAME_NOT_WORKING )
-GAME( 1985, spielbud, 0, slotcarn, spielbud, slotcarn_state, 0, ROT0, "ADP", "Spiel Bude (German)", GAME_NOT_WORKING )
+GAME( 1985, slotcarn, 0, slotcarn, slotcarn, driver_device, 0, ROT0, "Wing Co., Ltd.", "Slot Carnival", GAME_NOT_WORKING )
+GAME( 1985, spielbud, 0, slotcarn, spielbud, driver_device, 0, ROT0, "ADP", "Spiel Bude (German)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/sms.c b/src/mame/drivers/sms.c
index ec538b26672..7edc981a79f 100644
--- a/src/mame/drivers/sms.c
+++ b/src/mame/drivers/sms.c
@@ -930,7 +930,7 @@ ROM_START( secondch )
ROM_RELOAD( 0x1000, 0x1000 )
ROM_END
-GAME( 1984, trvhang, 0, sms, sms, smsmfg_state, 0, ROT0, "SMS Manufacturing Corp.", "Trivia Hangup (question set 1)", GAME_SUPPORTS_SAVE ) /* Version Trivia-1-050185 */
-GAME( 1984, trvhanga, 0, sms, sms, smsmfg_state, 0, ROT0, "SMS Manufacturing Corp.", "Trivia Hangup (question set 2)", GAME_NOT_WORKING ) /* Version Trivia-2-011586 */
-GAME( 1985, sureshot, 0, sureshot, sms, smsmfg_state, 0, ROT0, "SMS Manufacturing Corp.", "Sure Shot", GAME_SUPPORTS_SAVE )
-GAME( 1985, secondch, 0, sureshot, sms, smsmfg_state, 0, ROT0, "SMS Manufacturing Corp.", "Second Chance", GAME_SUPPORTS_SAVE )
+GAME( 1984, trvhang, 0, sms, sms, driver_device, 0, ROT0, "SMS Manufacturing Corp.", "Trivia Hangup (question set 1)", GAME_SUPPORTS_SAVE ) /* Version Trivia-1-050185 */
+GAME( 1984, trvhanga, 0, sms, sms, driver_device, 0, ROT0, "SMS Manufacturing Corp.", "Trivia Hangup (question set 2)", GAME_NOT_WORKING ) /* Version Trivia-2-011586 */
+GAME( 1985, sureshot, 0, sureshot, sms, driver_device, 0, ROT0, "SMS Manufacturing Corp.", "Sure Shot", GAME_SUPPORTS_SAVE )
+GAME( 1985, secondch, 0, sureshot, sms, driver_device, 0, ROT0, "SMS Manufacturing Corp.", "Second Chance", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/snesb.c b/src/mame/drivers/snesb.c
index 1a1f8ce6481..69904930493 100644
--- a/src/mame/drivers/snesb.c
+++ b/src/mame/drivers/snesb.c
@@ -166,6 +166,12 @@ public:
DECLARE_READ8_MEMBER(snesb_coin_r);
DECLARE_READ8_MEMBER(spc_ram_100_r);
DECLARE_WRITE8_MEMBER(spc_ram_100_w);
+ DECLARE_DRIVER_INIT(iron);
+ DECLARE_DRIVER_INIT(denseib);
+ DECLARE_DRIVER_INIT(kinstb);
+ DECLARE_DRIVER_INIT(sblast2b);
+ DECLARE_DRIVER_INIT(ffight2b);
+ DECLARE_DRIVER_INIT(endless);
};
@@ -650,32 +656,31 @@ static MACHINE_CONFIG_START( kinstb, snesb_state )
MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
MACHINE_CONFIG_END
-static DRIVER_INIT(kinstb)
+DRIVER_INIT_MEMBER(snesb_state,kinstb)
{
- snesb_state *state = machine.driver_data<snesb_state>();
INT32 i;
- UINT8 *rom = state->memregion("user3")->base();
+ UINT8 *rom = memregion("user3")->base();
for (i = 0; i < 0x400000; i++)
{
rom[i] = BITSWAP8(rom[i], 5, 0, 6, 1, 7, 4, 3, 2);
}
- state->m_shared_ram = auto_alloc_array(machine, INT8, 0x100);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x781000, 0x7810ff, read8_delegate(FUNC(snesb_state::sharedram_r),state), write8_delegate(FUNC(snesb_state::sharedram_w),state));
+ m_shared_ram = auto_alloc_array(machine(), INT8, 0x100);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x781000, 0x7810ff, read8_delegate(FUNC(snesb_state::sharedram_r),this), write8_delegate(FUNC(snesb_state::sharedram_w),this));
/* extra inputs */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),this));
DRIVER_INIT_CALL(snes_hirom);
}
-static DRIVER_INIT( ffight2b )
+DRIVER_INIT_MEMBER(snesb_state,ffight2b)
{
INT32 i;
- UINT8 *rom = machine.root_device().memregion("user3")->base();
+ UINT8 *rom = machine().root_device().memregion("user3")->base();
for(i = 0; i < 0x200000; i++)
{
@@ -708,18 +713,17 @@ static DRIVER_INIT( ffight2b )
rom[0x7ffc] = 0x54;
/* extra inputs */
- snesb_state *state = machine.driver_data<snesb_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),this));
DRIVER_INIT_CALL(snes);
}
-static DRIVER_INIT( iron )
+DRIVER_INIT_MEMBER(snesb_state,iron)
{
INT32 i;
- UINT8 *rom = machine.root_device().memregion("user3")->base();
+ UINT8 *rom = machine().root_device().memregion("user3")->base();
for (i = 0; i < 0x140000; i++)
{
@@ -734,17 +738,16 @@ static DRIVER_INIT( iron )
}
/* extra inputs */
- snesb_state *state = machine.driver_data<snesb_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),this));
DRIVER_INIT_CALL(snes);
}
-static DRIVER_INIT( denseib )
+DRIVER_INIT_MEMBER(snesb_state,denseib)
{
- UINT8 *rom = machine.root_device().memregion("user3")->base();
+ UINT8 *rom = machine().root_device().memregion("user3")->base();
INT32 i;
for (i = 0; i < 0x200000; i++)
@@ -766,10 +769,9 @@ static DRIVER_INIT( denseib )
rom[0xfffd] = 0xf7;
/* extra inputs */
- snesb_state *state = machine.driver_data<snesb_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),this));
DRIVER_INIT_CALL(snes_hirom);
}
@@ -791,11 +793,11 @@ static const UINT8 address_substitution_high[] =
0x2b,0x25,0x28,0x2f,0x26,0x22,0x23,0x2a,0x2d,0x24,0x2e,0x20,0x27,0x2c,0x21,0x29
};
-static DRIVER_INIT( sblast2b )
+DRIVER_INIT_MEMBER(snesb_state,sblast2b)
{
int i, cipherText, plainText, newAddress;
- UINT8 *src = machine.root_device().memregion("user7")->base();
- UINT8 *dst = machine.root_device().memregion("user3")->base();
+ UINT8 *src = machine().root_device().memregion("user7")->base();
+ UINT8 *dst = machine().root_device().memregion("user3")->base();
for (i =0; i < 0x80000 * 3; i++)
{
@@ -827,25 +829,24 @@ static DRIVER_INIT( sblast2b )
dst[0xfffd] = 0x7a;
/* protection checks */
- snesb_state *state = machine.driver_data<snesb_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x75bd37, 0x75bd37, read8_delegate(FUNC(snesb_state::sb2b_75bd37_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6a6000, 0x6a6fff, read8_delegate(FUNC(snesb_state::sb2b_6a6xxx_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x75bd37, 0x75bd37, read8_delegate(FUNC(snesb_state::sb2b_75bd37_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6a6000, 0x6a6fff, read8_delegate(FUNC(snesb_state::sb2b_6a6xxx_r),this));
/* handler to read boot code */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x007000, 0x007fff, read8_delegate(FUNC(snesb_state::sb2b_7xxx_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x007000, 0x007fff, read8_delegate(FUNC(snesb_state::sb2b_7xxx_r),this));
/* extra inputs */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),this));
DRIVER_INIT_CALL(snes_hirom);
}
-static DRIVER_INIT( endless )
+DRIVER_INIT_MEMBER(snesb_state,endless)
{
INT32 i;
- UINT8 *rom = machine.root_device().memregion("user3")->base();
+ UINT8 *rom = machine().root_device().memregion("user3")->base();
/* there is more to this, 0x800 based block swaps? */
for (i = 0; i < 0x200000; i++)
diff --git a/src/mame/drivers/snk.c b/src/mame/drivers/snk.c
index 663c9d3cd29..46be58accda 100644
--- a/src/mame/drivers/snk.c
+++ b/src/mame/drivers/snk.c
@@ -6263,63 +6263,62 @@ ROM_END
/***********************************************************************/
-static DRIVER_INIT( countryc )
+DRIVER_INIT_MEMBER(snk_state,countryc)
{
// replace coin counter with trackball select
- snk_state *state = machine.driver_data<snk_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc300, 0xc300, write8_delegate(FUNC(snk_state::countryc_trackball_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc300, 0xc300, write8_delegate(FUNC(snk_state::countryc_trackball_w),this));
}
-GAME( 1983, marvins, 0, marvins, marvins, snk_state, 0, ROT270, "SNK", "Marvin's Maze", 0 )
-GAME( 1984, vangrd2, 0, vangrd2, vangrd2, snk_state, 0, ROT270, "SNK", "Vanguard II", 0 )
-GAME( 1984, madcrash, 0, vangrd2, madcrash, snk_state, 0, ROT0, "SNK", "Mad Crasher", 0 )
-GAME( 1984, madcrush, madcrash, madcrush, madcrash, snk_state, 0, ROT0, "SNK", "Mad Crusher (Japan)", 0 )
+GAME( 1983, marvins, 0, marvins, marvins, driver_device, 0, ROT270, "SNK", "Marvin's Maze", 0 )
+GAME( 1984, vangrd2, 0, vangrd2, vangrd2, driver_device, 0, ROT270, "SNK", "Vanguard II", 0 )
+GAME( 1984, madcrash, 0, vangrd2, madcrash, driver_device, 0, ROT0, "SNK", "Mad Crasher", 0 )
+GAME( 1984, madcrush, madcrash, madcrush, madcrash, driver_device, 0, ROT0, "SNK", "Mad Crusher (Japan)", 0 )
-GAME( 1984, jcross, 0, jcross, jcross, snk_state, 0, ROT270, "SNK", "Jumping Cross", 0 )
-GAME( 1984, sgladiat, 0, sgladiat, sgladiat, snk_state, 0, ROT0, "SNK", "Gladiator 1984", 0 )
-GAME( 1985, hal21, 0, hal21, hal21, snk_state, 0, ROT270, "SNK", "HAL21", 0 )
-GAME( 1985, hal21j, hal21, hal21, hal21, snk_state, 0, ROT270, "SNK", "HAL21 (Japan)", 0 )
+GAME( 1984, jcross, 0, jcross, jcross, driver_device, 0, ROT270, "SNK", "Jumping Cross", 0 )
+GAME( 1984, sgladiat, 0, sgladiat, sgladiat, driver_device, 0, ROT0, "SNK", "Gladiator 1984", 0 )
+GAME( 1985, hal21, 0, hal21, hal21, driver_device, 0, ROT270, "SNK", "HAL21", 0 )
+GAME( 1985, hal21j, hal21, hal21, hal21, driver_device, 0, ROT270, "SNK", "HAL21 (Japan)", 0 )
-GAME( 1985, aso, 0, aso, aso, snk_state, 0, ROT270, "SNK", "ASO - Armored Scrum Object", 0 )
-GAME( 1985, alphamis, aso, aso, alphamis, snk_state, 0, ROT270, "SNK", "Alpha Mission", 0 )
-GAME( 1985, arian, aso, aso, alphamis, snk_state, 0, ROT270, "SNK", "Arian Mission", 0 )
-GAME( 1985, tnk3, 0, tnk3, tnk3, snk_state, 0, ROT270, "SNK", "T.N.K III (US)", 0 )
-GAME( 1985, tnk3j, tnk3, tnk3, tnk3, snk_state, 0, ROT270, "SNK", "T.A.N.K (Japan)", 0 )
-GAME( 1986, athena, 0, athena, athena, snk_state, 0, ROT0, "SNK", "Athena", 0 )
-GAME( 1988, fitegolf, 0, fitegolf, fitegolf, snk_state, 0, ROT0, "SNK", "Fighting Golf (World?)", 0 )
-GAME( 1988, fitegolfu,fitegolf, fitegolf, fitegolf, snk_state, 0, ROT0, "SNK", "Fighting Golf (US)", 0 )
+GAME( 1985, aso, 0, aso, aso, driver_device, 0, ROT270, "SNK", "ASO - Armored Scrum Object", 0 )
+GAME( 1985, alphamis, aso, aso, alphamis, driver_device, 0, ROT270, "SNK", "Alpha Mission", 0 )
+GAME( 1985, arian, aso, aso, alphamis, driver_device, 0, ROT270, "SNK", "Arian Mission", 0 )
+GAME( 1985, tnk3, 0, tnk3, tnk3, driver_device, 0, ROT270, "SNK", "T.N.K III (US)", 0 )
+GAME( 1985, tnk3j, tnk3, tnk3, tnk3, driver_device, 0, ROT270, "SNK", "T.A.N.K (Japan)", 0 )
+GAME( 1986, athena, 0, athena, athena, driver_device, 0, ROT0, "SNK", "Athena", 0 )
+GAME( 1988, fitegolf, 0, fitegolf, fitegolf, driver_device, 0, ROT0, "SNK", "Fighting Golf (World?)", 0 )
+GAME( 1988, fitegolfu,fitegolf, fitegolf, fitegolf, driver_device, 0, ROT0, "SNK", "Fighting Golf (US)", 0 )
GAME( 1988, countryc, 0, fitegolf, countryc, snk_state, countryc, ROT0, "SNK", "Country Club", 0 )
-GAME( 1986, ikari, 0, ikari, ikari, snk_state, 0, ROT270, "SNK", "Ikari Warriors (US JAMMA)", 0 )
-GAME( 1986, ikaria, ikari, ikari, ikaria, snk_state, 0, ROT270, "SNK", "Ikari Warriors (US)", 0 )
-GAME( 1986, ikarinc, ikari, ikari, ikarinc, snk_state, 0, ROT270, "SNK", "Ikari Warriors (US No Continues)", 0 )
-GAME( 1986, ikarijp, ikari, ikari, ikarinc, snk_state, 0, ROT270, "SNK", "Ikari (Japan No Continues)", 0 )
-GAME( 1986, ikarijpb, ikari, ikari, ikarijpb, snk_state, 0, ROT270, "bootleg", "Ikari (Joystick hack bootleg)", 0 )
-GAME( 1986, victroad, 0, victroad, victroad, snk_state, 0, ROT270, "SNK", "Victory Road", 0 )
-GAME( 1986, dogosoke, victroad, victroad, victroad, snk_state, 0, ROT270, "SNK", "Dogou Souken", 0 )
-GAME( 1986, dogosokb, victroad, victroad, dogosokb, snk_state, 0, ROT270, "bootleg", "Dogou Souken (Joystick hack bootleg)", 0 )
-
-GAME( 1987, bermudat, 0, bermudat, bermudat, snk_state, 0, ROT270, "SNK", "Bermuda Triangle (World?)", 0 )
-GAME( 1987, bermudatj,bermudat, bermudat, bermudat, snk_state, 0, ROT270, "SNK", "Bermuda Triangle (Japan)", 0 )
-GAME( 1987, worldwar, 0, bermudat, worldwar, snk_state, 0, ROT270, "SNK", "World Wars (World?)", 0 )
-GAME( 1987, bermudata,worldwar, bermudat, bermudaa, snk_state, 0, ROT270, "SNK", "Bermuda Triangle (World Wars) (US)", 0 )
-GAME( 1987, psychos, 0, psychos, psychos, snk_state, 0, ROT0, "SNK", "Psycho Soldier (US)", 0 )
-GAME( 1987, psychosj, psychos, psychos, psychos, snk_state, 0, ROT0, "SNK", "Psycho Soldier (Japan)", 0 )
-GAME( 1987, gwar, 0, gwar, gwar, snk_state, 0, ROT270, "SNK", "Guerrilla War (US)", 0 )
-GAME( 1987, gwarj, gwar, gwar, gwar, snk_state, 0, ROT270, "SNK", "Guevara (Japan)", 0 )
-GAME( 1987, gwara, gwar, gwara, gwar, snk_state, 0, ROT270, "SNK", "Guerrilla War (Version 1)", 0 )
-GAME( 1987, gwarb, gwar, gwar, gwarb, snk_state, 0, ROT270, "bootleg", "Guerrilla War (Joystick hack bootleg)", 0 )
-GAME( 1988, chopper, 0, chopper1, chopper, snk_state, 0, ROT270, "SNK", "Chopper I (US set 1)", 0 )
-GAME( 1988, choppera, chopper, choppera, choppera, snk_state, 0, ROT270, "SNK", "Chopper I (US set 2)", 0 )
-GAME( 1988, chopperb, chopper, chopper1, chopper, snk_state, 0, ROT270, "SNK", "Chopper I (US set 3)", 0 )
-GAME( 1988, legofair, chopper, chopper1, chopper, snk_state, 0, ROT270, "SNK", "Koukuu Kihei Monogatari - The Legend of Air Cavalry (Japan)", 0 )
-
-GAME( 1987, tdfever, 0, tdfever, tdfever, snk_state, 0, ROT90, "SNK", "TouchDown Fever (US)", 0 )
-GAME( 1987, tdfeverj, tdfever, tdfever, tdfever, snk_state, 0, ROT90, "SNK", "TouchDown Fever (Japan)", 0 )
-GAME( 1988, tdfever2, tdfever, tdfever2, tdfever, snk_state, 0, ROT90, "SNK", "TouchDown Fever 2", 0 ) /* upgrade kit for Touchdown Fever */
-GAME( 1988, fsoccer, 0, tdfever2, fsoccer, snk_state, 0, ROT0, "SNK", "Fighting Soccer (version 4)", 0 )
-GAME( 1988, fsoccerj, fsoccer, tdfever2, fsoccer, snk_state, 0, ROT0, "SNK", "Fighting Soccer (Japan)", 0 )
-GAME( 1988, fsoccerb, fsoccer, tdfever2, fsoccerb, snk_state, 0, ROT0, "bootleg", "Fighting Soccer (Joystick hack bootleg)", 0 )
-GAME( 1988, fsoccerba,fsoccer, tdfever2, fsoccerb, snk_state, 0, ROT0, "bootleg", "Fighting Soccer (Joystick hack bootleg, alt)", 0 )
+GAME( 1986, ikari, 0, ikari, ikari, driver_device, 0, ROT270, "SNK", "Ikari Warriors (US JAMMA)", 0 )
+GAME( 1986, ikaria, ikari, ikari, ikaria, driver_device, 0, ROT270, "SNK", "Ikari Warriors (US)", 0 )
+GAME( 1986, ikarinc, ikari, ikari, ikarinc, driver_device, 0, ROT270, "SNK", "Ikari Warriors (US No Continues)", 0 )
+GAME( 1986, ikarijp, ikari, ikari, ikarinc, driver_device, 0, ROT270, "SNK", "Ikari (Japan No Continues)", 0 )
+GAME( 1986, ikarijpb, ikari, ikari, ikarijpb, driver_device, 0, ROT270, "bootleg", "Ikari (Joystick hack bootleg)", 0 )
+GAME( 1986, victroad, 0, victroad, victroad, driver_device, 0, ROT270, "SNK", "Victory Road", 0 )
+GAME( 1986, dogosoke, victroad, victroad, victroad, driver_device, 0, ROT270, "SNK", "Dogou Souken", 0 )
+GAME( 1986, dogosokb, victroad, victroad, dogosokb, driver_device, 0, ROT270, "bootleg", "Dogou Souken (Joystick hack bootleg)", 0 )
+
+GAME( 1987, bermudat, 0, bermudat, bermudat, driver_device, 0, ROT270, "SNK", "Bermuda Triangle (World?)", 0 )
+GAME( 1987, bermudatj,bermudat, bermudat, bermudat, driver_device, 0, ROT270, "SNK", "Bermuda Triangle (Japan)", 0 )
+GAME( 1987, worldwar, 0, bermudat, worldwar, driver_device, 0, ROT270, "SNK", "World Wars (World?)", 0 )
+GAME( 1987, bermudata,worldwar, bermudat, bermudaa, driver_device, 0, ROT270, "SNK", "Bermuda Triangle (World Wars) (US)", 0 )
+GAME( 1987, psychos, 0, psychos, psychos, driver_device, 0, ROT0, "SNK", "Psycho Soldier (US)", 0 )
+GAME( 1987, psychosj, psychos, psychos, psychos, driver_device, 0, ROT0, "SNK", "Psycho Soldier (Japan)", 0 )
+GAME( 1987, gwar, 0, gwar, gwar, driver_device, 0, ROT270, "SNK", "Guerrilla War (US)", 0 )
+GAME( 1987, gwarj, gwar, gwar, gwar, driver_device, 0, ROT270, "SNK", "Guevara (Japan)", 0 )
+GAME( 1987, gwara, gwar, gwara, gwar, driver_device, 0, ROT270, "SNK", "Guerrilla War (Version 1)", 0 )
+GAME( 1987, gwarb, gwar, gwar, gwarb, driver_device, 0, ROT270, "bootleg", "Guerrilla War (Joystick hack bootleg)", 0 )
+GAME( 1988, chopper, 0, chopper1, chopper, driver_device, 0, ROT270, "SNK", "Chopper I (US set 1)", 0 )
+GAME( 1988, choppera, chopper, choppera, choppera, driver_device, 0, ROT270, "SNK", "Chopper I (US set 2)", 0 )
+GAME( 1988, chopperb, chopper, chopper1, chopper, driver_device, 0, ROT270, "SNK", "Chopper I (US set 3)", 0 )
+GAME( 1988, legofair, chopper, chopper1, chopper, driver_device, 0, ROT270, "SNK", "Koukuu Kihei Monogatari - The Legend of Air Cavalry (Japan)", 0 )
+
+GAME( 1987, tdfever, 0, tdfever, tdfever, driver_device, 0, ROT90, "SNK", "TouchDown Fever (US)", 0 )
+GAME( 1987, tdfeverj, tdfever, tdfever, tdfever, driver_device, 0, ROT90, "SNK", "TouchDown Fever (Japan)", 0 )
+GAME( 1988, tdfever2, tdfever, tdfever2, tdfever, driver_device, 0, ROT90, "SNK", "TouchDown Fever 2", 0 ) /* upgrade kit for Touchdown Fever */
+GAME( 1988, fsoccer, 0, tdfever2, fsoccer, driver_device, 0, ROT0, "SNK", "Fighting Soccer (version 4)", 0 )
+GAME( 1988, fsoccerj, fsoccer, tdfever2, fsoccer, driver_device, 0, ROT0, "SNK", "Fighting Soccer (Japan)", 0 )
+GAME( 1988, fsoccerb, fsoccer, tdfever2, fsoccerb, driver_device, 0, ROT0, "bootleg", "Fighting Soccer (Joystick hack bootleg)", 0 )
+GAME( 1988, fsoccerba,fsoccer, tdfever2, fsoccerb, driver_device, 0, ROT0, "bootleg", "Fighting Soccer (Joystick hack bootleg, alt)", 0 )
diff --git a/src/mame/drivers/snk6502.c b/src/mame/drivers/snk6502.c
index 76874720504..915795c6c95 100644
--- a/src/mame/drivers/snk6502.c
+++ b/src/mame/drivers/snk6502.c
@@ -1465,20 +1465,20 @@ ROM_END
*
*************************************/
-GAME( 1980, sasuke, 0, sasuke, sasuke, snk6502_state, 0, ROT90, "SNK", "Sasuke vs. Commander", GAME_IMPERFECT_SOUND )
-GAME( 1981, satansat, 0, satansat, satansat, snk6502_state, 0, ROT90, "SNK", "Satan of Saturn (set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1981, satansata,satansat, satansat, satansat, snk6502_state, 0, ROT90, "SNK", "Satan of Saturn (set 2)", GAME_IMPERFECT_SOUND )
-GAME( 1981, zarzon, satansat, satansat, satansat, snk6502_state, 0, ROT90, "SNK (Taito America license)", "Zarzon", GAME_IMPERFECT_SOUND )
-GAME( 1981, vanguard, 0, vanguard, vanguard, snk6502_state, 0, ROT90, "SNK", "Vanguard (SNK)", GAME_IMPERFECT_SOUND )
-GAME( 1981, vanguardc,vanguard, vanguard, vanguard, snk6502_state, 0, ROT90, "SNK (Centuri license)", "Vanguard (Centuri)", GAME_IMPERFECT_SOUND )
-GAME( 1981, vanguardj,vanguard, vanguard, vanguard, snk6502_state, 0, ROT90, "SNK", "Vanguard (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1981, fantasy, 0, fantasy, fantasy, snk6502_state, 0, ROT90, "SNK", "Fantasy (World)", GAME_IMPERFECT_SOUND )
-GAME( 1981, fantasyu, fantasy, fantasy, fantasyu, snk6502_state, 0, ROT90, "SNK (Rock-Ola license)", "Fantasy (US)", GAME_IMPERFECT_SOUND )
-GAME( 1981, fantasyj, fantasy, fantasy, fantasyu, snk6502_state, 0, ROT90, "SNK", "Fantasy (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1982, pballoon, 0, pballoon, pballoon, snk6502_state, 0, ROT90, "SNK", "Pioneer Balloon", 0 )
-GAME( 1982, pballoonr,pballoon, pballoon, pballoon, snk6502_state, 0, ROT90, "SNK (Rock-Ola license)", "Pioneer Balloon (Rock-Ola license)", 0 )
-GAME( 1982, nibbler, 0, nibbler, nibbler, snk6502_state, 0, ROT90, "Rock-Ola", "Nibbler (rev 9)", 0 )
-GAME( 1982, nibbler8, nibbler, nibbler, nibbler8, snk6502_state, 0, ROT90, "Rock-Ola", "Nibbler (rev 8)", 0 )
-GAME( 1982, nibbler6, nibbler, nibbler, nibbler6, snk6502_state, 0, ROT90, "Rock-Ola", "Nibbler (rev 6)", 0 )
-GAME( 1982, nibblerp, nibbler, nibbler, nibbler6, snk6502_state, 0, ROT90, "Rock-Ola", "Nibbler (Pioneer Balloon conversion)", 0 )
-GAME( 1983, nibblero, nibbler, nibbler, nibbler8, snk6502_state, 0, ROT90, "Rock-Ola (Olympia license)", "Nibbler (Olympia - rev 8)", 0 )
+GAME( 1980, sasuke, 0, sasuke, sasuke, driver_device, 0, ROT90, "SNK", "Sasuke vs. Commander", GAME_IMPERFECT_SOUND )
+GAME( 1981, satansat, 0, satansat, satansat, driver_device, 0, ROT90, "SNK", "Satan of Saturn (set 1)", GAME_IMPERFECT_SOUND )
+GAME( 1981, satansata,satansat, satansat, satansat, driver_device, 0, ROT90, "SNK", "Satan of Saturn (set 2)", GAME_IMPERFECT_SOUND )
+GAME( 1981, zarzon, satansat, satansat, satansat, driver_device, 0, ROT90, "SNK (Taito America license)", "Zarzon", GAME_IMPERFECT_SOUND )
+GAME( 1981, vanguard, 0, vanguard, vanguard, driver_device, 0, ROT90, "SNK", "Vanguard (SNK)", GAME_IMPERFECT_SOUND )
+GAME( 1981, vanguardc,vanguard, vanguard, vanguard, driver_device, 0, ROT90, "SNK (Centuri license)", "Vanguard (Centuri)", GAME_IMPERFECT_SOUND )
+GAME( 1981, vanguardj,vanguard, vanguard, vanguard, driver_device, 0, ROT90, "SNK", "Vanguard (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1981, fantasy, 0, fantasy, fantasy, driver_device, 0, ROT90, "SNK", "Fantasy (World)", GAME_IMPERFECT_SOUND )
+GAME( 1981, fantasyu, fantasy, fantasy, fantasyu, driver_device, 0, ROT90, "SNK (Rock-Ola license)", "Fantasy (US)", GAME_IMPERFECT_SOUND )
+GAME( 1981, fantasyj, fantasy, fantasy, fantasyu, driver_device, 0, ROT90, "SNK", "Fantasy (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1982, pballoon, 0, pballoon, pballoon, driver_device, 0, ROT90, "SNK", "Pioneer Balloon", 0 )
+GAME( 1982, pballoonr,pballoon, pballoon, pballoon, driver_device, 0, ROT90, "SNK (Rock-Ola license)", "Pioneer Balloon (Rock-Ola license)", 0 )
+GAME( 1982, nibbler, 0, nibbler, nibbler, driver_device, 0, ROT90, "Rock-Ola", "Nibbler (rev 9)", 0 )
+GAME( 1982, nibbler8, nibbler, nibbler, nibbler8, driver_device, 0, ROT90, "Rock-Ola", "Nibbler (rev 8)", 0 )
+GAME( 1982, nibbler6, nibbler, nibbler, nibbler6, driver_device, 0, ROT90, "Rock-Ola", "Nibbler (rev 6)", 0 )
+GAME( 1982, nibblerp, nibbler, nibbler, nibbler6, driver_device, 0, ROT90, "Rock-Ola", "Nibbler (Pioneer Balloon conversion)", 0 )
+GAME( 1983, nibblero, nibbler, nibbler, nibbler8, driver_device, 0, ROT90, "Rock-Ola (Olympia license)", "Nibbler (Olympia - rev 8)", 0 )
diff --git a/src/mame/drivers/snk68.c b/src/mame/drivers/snk68.c
index a9006166911..53ff0175a9b 100644
--- a/src/mame/drivers/snk68.c
+++ b/src/mame/drivers/snk68.c
@@ -1040,19 +1040,19 @@ ROM_END
/******************************************************************************/
-static DRIVER_INIT( searchar )
+DRIVER_INIT_MEMBER(snk68_state,searchar)
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("user1")->base());
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("user1")->base());
}
/******************************************************************************/
-GAME( 1988, pow, 0, pow, pow, snk68_state, 0, ROT0, "SNK", "P.O.W. - Prisoners of War (US version 1)", 0 )
-GAME( 1988, powj, pow, pow, powj, snk68_state, 0, ROT0, "SNK", "Datsugoku - Prisoners of War (Japan)", 0 )
-GAME( 1989, streetsm, 0, pow, streetsm, snk68_state, 0, ROT0, "SNK", "Street Smart (US version 2)", 0 )
-GAME( 1989, streetsm1,streetsm, searchar, streetsm, snk68_state, 0, ROT0, "SNK", "Street Smart (US version 1)", 0 )
-GAME( 1989, streetsmw,streetsm, searchar, streetsj, snk68_state, 0, ROT0, "SNK", "Street Smart (World version 1)", 0 )
-GAME( 1989, streetsmj,streetsm, searchar, streetsj, snk68_state, 0, ROT0, "SNK", "Street Smart (Japan version 1)", 0 )
+GAME( 1988, pow, 0, pow, pow, driver_device, 0, ROT0, "SNK", "P.O.W. - Prisoners of War (US version 1)", 0 )
+GAME( 1988, powj, pow, pow, powj, driver_device, 0, ROT0, "SNK", "Datsugoku - Prisoners of War (Japan)", 0 )
+GAME( 1989, streetsm, 0, pow, streetsm, driver_device, 0, ROT0, "SNK", "Street Smart (US version 2)", 0 )
+GAME( 1989, streetsm1,streetsm, searchar, streetsm, driver_device, 0, ROT0, "SNK", "Street Smart (US version 1)", 0 )
+GAME( 1989, streetsmw,streetsm, searchar, streetsj, driver_device, 0, ROT0, "SNK", "Street Smart (World version 1)", 0 )
+GAME( 1989, streetsmj,streetsm, searchar, streetsj, driver_device, 0, ROT0, "SNK", "Street Smart (Japan version 1)", 0 )
GAME( 1989, ikari3, 0, searchar, ikari3, snk68_state, searchar, ROT0, "SNK", "Ikari III - The Rescue (World, 8-Way Joystick)", 0 )
GAME( 1989, ikari3u, ikari3, searchar, ikari3, snk68_state, searchar, ROT0, "SNK", "Ikari III - The Rescue (US, Rotary Joystick)", 0 )
GAME( 1989, ikari3j, ikari3, searchar, ikari3, snk68_state, searchar, ROT0, "SNK", "Ikari Three (Japan, Rotary Joystick)", 0 )
diff --git a/src/mame/drivers/snookr10.c b/src/mame/drivers/snookr10.c
index 17790b48c23..0282c2618d3 100644
--- a/src/mame/drivers/snookr10.c
+++ b/src/mame/drivers/snookr10.c
@@ -793,6 +793,6 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1998, snookr10, 0, snookr10, snookr10, snookr10_state, 0, ROT0, "Sandii'", "Snooker 10 (Ver 1.11)", 0, layout_snookr10 )
-GAMEL( 1998, apple10, 0, apple10, apple10, snookr10_state, 0, ROT0, "Sandii'", "Apple 10 (Ver 1.21)", 0, layout_snookr10 )
-GAMEL( 1997, tenballs, snookr10, tenballs, tenballs, snookr10_state, 0, ROT0, "<unknown>", "Ten Balls (Ver 1.05)", 0, layout_snookr10 )
+GAMEL( 1998, snookr10, 0, snookr10, snookr10, driver_device, 0, ROT0, "Sandii'", "Snooker 10 (Ver 1.11)", 0, layout_snookr10 )
+GAMEL( 1998, apple10, 0, apple10, apple10, driver_device, 0, ROT0, "Sandii'", "Apple 10 (Ver 1.21)", 0, layout_snookr10 )
+GAMEL( 1997, tenballs, snookr10, tenballs, tenballs, driver_device, 0, ROT0, "<unknown>", "Ten Balls (Ver 1.05)", 0, layout_snookr10 )
diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c
index 08be3477ce2..fd0cf02b9fd 100644
--- a/src/mame/drivers/snowbros.c
+++ b/src/mame/drivers/snowbros.c
@@ -2335,29 +2335,26 @@ READ16_MEMBER(snowbros_state::moremorp_0a_read)
return 0x000a;
}
-static DRIVER_INIT( moremorp )
+DRIVER_INIT_MEMBER(snowbros_state,moremorp)
{
- //snowbros_state *state = machine.driver_data<snowbros_state>();
-// UINT16 *PROTDATA = (UINT16*)state->memregion("user1")->base();
+// UINT16 *PROTDATA = (UINT16*)memregion("user1")->base();
// int i;
// for (i = 0;i < 0x200/2;i++)
-// state->m_hyperpac_ram[0xf000/2 + i] = PROTDATA[i];
+// m_hyperpac_ram[0xf000/2 + i] = PROTDATA[i];
/* explicit check in the code */
- snowbros_state *state = machine.driver_data<snowbros_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::moremorp_0a_read),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::moremorp_0a_read),this));
}
-static DRIVER_INIT( cookbib2 )
+DRIVER_INIT_MEMBER(snowbros_state,cookbib2)
{
- //snowbros_state *state = machine.driver_data<snowbros_state>();
-// UINT16 *HCROM = (UINT16*)state->memregion("maincpu")->base();
-// UINT16 *PROTDATA = (UINT16*)state->memregion("user1")->base();
+// UINT16 *HCROM = (UINT16*)memregion("maincpu")->base();
+// UINT16 *PROTDATA = (UINT16*)memregion("user1")->base();
// int i;
-// state->m_hyperpac_ram[0xf000/2] = 0x46fc;
-// state->m_hyperpac_ram[0xf002/2] = 0x2700;
+// m_hyperpac_ram[0xf000/2] = 0x46fc;
+// m_hyperpac_ram[0xf002/2] = 0x2700;
// verified on real hardware, need to move this to a file really
@@ -2370,18 +2367,18 @@ static DRIVER_INIT( cookbib2 )
//for (i = 0;i < sizeof(cookbib2_mcu68k)/sizeof(cookbib2_mcu68k[0]);i++)
-// state->m_hyperpac_ram[0xf000/2 + i] = cookbib2_mcu68k[i];
+// m_hyperpac_ram[0xf000/2 + i] = cookbib2_mcu68k[i];
// for (i = 0;i < 0x200/2;i++)
-// state->m_hyperpac_ram[0xf000/2 + i] = PROTDATA[i];
+// m_hyperpac_ram[0xf000/2 + i] = PROTDATA[i];
// trojan is actually buggy and gfx flicker like crazy
// but we can pause the system after bootup with HALT line of 68k to get the table before
// it goes nuts
- // state->m_hyperpac_ram[0xf07a/2] = 0x4e73;
- // state->m_hyperpac_ram[0xf000/2] = 0x4e73;
+ // m_hyperpac_ram[0xf07a/2] = 0x4e73;
+ // m_hyperpac_ram[0xf000/2] = 0x4e73;
#if 0
@@ -2695,10 +2692,9 @@ static DRIVER_INIT( cookbib2 )
// protection simulation no longer used
#if 0
-static DRIVER_INIT( hyperpac )
+DRIVER_INIT_MEMBER(snowbros_state,hyperpac)
{
- snowbros_state *state = machine.driver_data<snowbros_state>();
- UINT16 *hyperpac_ram = state->m_hyperpac_ram;
+ UINT16 *hyperpac_ram = m_hyperpac_ram;
/* simulate RAM initialization done by the protection MCU */
/* not verified on real hardware */
hyperpac_ram[0xe000/2] = 0x4ef9;
@@ -2717,14 +2713,14 @@ READ16_MEMBER(snowbros_state::_4in1_02_read)
return 0x0202;
}
-static DRIVER_INIT(4in1boot)
+DRIVER_INIT_MEMBER(snowbros_state,4in1boot)
{
UINT8 *buffer;
- UINT8 *src = machine.root_device().memregion("maincpu")->base();
- int len = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *src = machine().root_device().memregion("maincpu")->base();
+ int len = machine().root_device().memregion("maincpu")->bytes();
/* strange order */
- buffer = auto_alloc_array(machine, UINT8, len);
+ buffer = auto_alloc_array(machine(), UINT8, len);
{
int i;
for (i = 0;i < len; i++)
@@ -2732,39 +2728,38 @@ static DRIVER_INIT(4in1boot)
else buffer[i] = src[i];
memcpy(src,buffer,len);
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
- src = machine.root_device().memregion("soundcpu")->base();
- len = machine.root_device().memregion("soundcpu")->bytes();
+ src = machine().root_device().memregion("soundcpu")->base();
+ len = machine().root_device().memregion("soundcpu")->bytes();
/* strange order */
- buffer = auto_alloc_array(machine, UINT8, len);
+ buffer = auto_alloc_array(machine(), UINT8, len);
{
int i;
for (i = 0;i < len; i++)
buffer[i] = src[i^0x4000];
memcpy(src,buffer,len);
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
- snowbros_state *state = machine.driver_data<snowbros_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::_4in1_02_read),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::_4in1_02_read),this));
}
-static DRIVER_INIT(snowbro3)
+DRIVER_INIT_MEMBER(snowbros_state,snowbro3)
{
UINT8 *buffer;
- UINT8 *src = machine.root_device().memregion("maincpu")->base();
- int len = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *src = machine().root_device().memregion("maincpu")->base();
+ int len = machine().root_device().memregion("maincpu")->bytes();
/* strange order */
- buffer = auto_alloc_array(machine, UINT8, len);
+ buffer = auto_alloc_array(machine(), UINT8, len);
{
int i;
for (i = 0;i < len; i++)
buffer[i] = src[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,3,4,1,2,0)];
memcpy(src,buffer,len);
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
}
@@ -2773,10 +2768,9 @@ READ16_MEMBER(snowbros_state::_3in1_read)
return 0x0a0a;
}
-static DRIVER_INIT( 3in1semi )
+DRIVER_INIT_MEMBER(snowbros_state,3in1semi)
{
- snowbros_state *state = machine.driver_data<snowbros_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::_3in1_read),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::_3in1_read),this));
}
READ16_MEMBER(snowbros_state::cookbib3_read)
@@ -2784,37 +2778,36 @@ READ16_MEMBER(snowbros_state::cookbib3_read)
return 0x2a2a;
}
-static DRIVER_INIT( cookbib3 )
+DRIVER_INIT_MEMBER(snowbros_state,cookbib3)
{
- snowbros_state *state = machine.driver_data<snowbros_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::cookbib3_read),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x200000, 0x200001, read16_delegate(FUNC(snowbros_state::cookbib3_read),this));
}
-static DRIVER_INIT( pzlbreak )
+DRIVER_INIT_MEMBER(snowbros_state,pzlbreak)
{
- pandora_set_bg_pen(machine.device("pandora"), 0xc0);
+ pandora_set_bg_pen(machine().device("pandora"), 0xc0);
}
-GAME( 1990, snowbros, 0, snowbros, snowbros, snowbros_state, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 1)", 0 )
-GAME( 1990, snowbrosa, snowbros, snowbros, snowbros, snowbros_state, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 2)", 0 )
-GAME( 1990, snowbrosb, snowbros, snowbros, snowbros, snowbros_state, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 3)", 0 )
-GAME( 1990, snowbrosc, snowbros, snowbros, snowbros, snowbros_state, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 4)", 0 )
-GAME( 1990, snowbrosj, snowbros, snowbros, snowbroj, snowbros_state, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (Japan)", 0 )
-GAME( 1990, snowbrosd, snowbros, snowbros, snowbroj, snowbros_state, 0, ROT0, "Toaplan (Dooyong license)", "Snow Bros. - Nick & Tom (Dooyong license)", 0 )
-GAME( 1990, wintbob, snowbros, wintbob, snowbros, snowbros_state, 0, ROT0, "bootleg (Sakowa Project Korea)", "The Winter Bobble (bootleg of Snow Bros.)", 0 )
+GAME( 1990, snowbros, 0, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 1)", 0 )
+GAME( 1990, snowbrosa, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 2)", 0 )
+GAME( 1990, snowbrosb, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 3)", 0 )
+GAME( 1990, snowbrosc, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 4)", 0 )
+GAME( 1990, snowbrosj, snowbros, snowbros, snowbroj, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (Japan)", 0 )
+GAME( 1990, snowbrosd, snowbros, snowbros, snowbroj, driver_device, 0, ROT0, "Toaplan (Dooyong license)", "Snow Bros. - Nick & Tom (Dooyong license)", 0 )
+GAME( 1990, wintbob, snowbros, wintbob, snowbros, driver_device, 0, ROT0, "bootleg (Sakowa Project Korea)", "The Winter Bobble (bootleg of Snow Bros.)", 0 )
// none of the games below are on genuine SnowBros hardware, but they clone the functionality of it.
-GAME( 1993, finalttr, 0, finalttr, finalttr, snowbros_state, 0, ROT0, "Jeil Computer System", "Final Tetris", 0 )
-GAME( 1995, honeydol, 0, honeydol, honeydol, snowbros_state, 0, ROT0, "Barko Corp.", "Honey Dolls", 0 ) // based on snowbros code..
-GAME( 1995, twinadv, 0, twinadv, twinadv, snowbros_state, 0, ROT0, "Barko Corp.", "Twin Adventure (World)", 0 )
-GAME( 1995, twinadvk, twinadv, twinadv, twinadv, snowbros_state, 0, ROT0, "Barko Corp.", "Twin Adventure (Korea)", 0 )
-GAME( 1995, hyperpac, 0, semicom_mcu, hyperpac, snowbros_state, 0, ROT0, "SemiCom", "Hyper Pacman", 0 )
-GAME( 1995, hyperpacb,hyperpac, semicom, hyperpac, snowbros_state, 0, ROT0, "bootleg", "Hyper Pacman (bootleg)", 0 )
+GAME( 1993, finalttr, 0, finalttr, finalttr, driver_device, 0, ROT0, "Jeil Computer System", "Final Tetris", 0 )
+GAME( 1995, honeydol, 0, honeydol, honeydol, driver_device, 0, ROT0, "Barko Corp.", "Honey Dolls", 0 ) // based on snowbros code..
+GAME( 1995, twinadv, 0, twinadv, twinadv, driver_device, 0, ROT0, "Barko Corp.", "Twin Adventure (World)", 0 )
+GAME( 1995, twinadvk, twinadv, twinadv, twinadv, driver_device, 0, ROT0, "Barko Corp.", "Twin Adventure (Korea)", 0 )
+GAME( 1995, hyperpac, 0, semicom_mcu, hyperpac, driver_device, 0, ROT0, "SemiCom", "Hyper Pacman", 0 )
+GAME( 1995, hyperpacb,hyperpac, semicom, hyperpac, driver_device, 0, ROT0, "bootleg", "Hyper Pacman (bootleg)", 0 )
GAME( 1996, cookbib2, 0, semiprot, cookbib2, snowbros_state, cookbib2, ROT0, "SemiCom", "Cookie & Bibi 2", 0 )
-GAME( 1996, toppyrap, 0, semiprot, toppyrap, snowbros_state, 0, ROT0, "SemiCom", "Toppy & Rappy", 0 )
+GAME( 1996, toppyrap, 0, semiprot, toppyrap, driver_device, 0, ROT0, "SemiCom", "Toppy & Rappy", 0 )
GAME( 1997, cookbib3, 0, semiprot, cookbib3, snowbros_state, cookbib3, ROT0, "SemiCom", "Cookie & Bibi 3", 0 )
GAME( 1997, 3in1semi, 0, semiprot, moremore, snowbros_state, 3in1semi, ROT0, "SemiCom", "XESS - The New Revolution (SemiCom 3-in-1)", 0 )
-GAME( 1997, twinkle, 0, semiprot, twinkle, snowbros_state, 0, ROT0, "SemiCom", "Twinkle", 0 )
+GAME( 1997, twinkle, 0, semiprot, twinkle, driver_device, 0, ROT0, "SemiCom", "Twinkle", 0 )
GAME( 1997, pzlbreak, 0, semiprot, pzlbreak, snowbros_state, pzlbreak, ROT0, "SemiCom", "Puzzle Break", 0 )
GAME( 1999, moremore, 0, semiprot, moremore, snowbros_state, moremorp, ROT0, "SemiCom / Exit", "More More", 0 )
GAME( 1999, moremorp, 0, semiprot, moremore, snowbros_state, moremorp, ROT0, "SemiCom / Exit", "More More Plus", 0 )
diff --git a/src/mame/drivers/solomon.c b/src/mame/drivers/solomon.c
index 6d6fa95e98b..10999e804f1 100644
--- a/src/mame/drivers/solomon.c
+++ b/src/mame/drivers/solomon.c
@@ -302,5 +302,5 @@ ROM_END
-GAME( 1986, solomon, 0, solomon, solomon, solomon_state, 0, ROT0, "Tecmo", "Solomon's Key (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, solomonj, solomon, solomon, solomon, solomon_state, 0, ROT0, "Tecmo", "Solomon no Kagi (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, solomon, 0, solomon, solomon, driver_device, 0, ROT0, "Tecmo", "Solomon's Key (US)", GAME_SUPPORTS_SAVE )
+GAME( 1986, solomonj, solomon, solomon, solomon, driver_device, 0, ROT0, "Tecmo", "Solomon no Kagi (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/sonson.c b/src/mame/drivers/sonson.c
index 72b2c271b25..090a1d9bee8 100644
--- a/src/mame/drivers/sonson.c
+++ b/src/mame/drivers/sonson.c
@@ -348,5 +348,5 @@ ROM_START( sonsonj )
ROM_END
-GAME( 1984, sonson, 0, sonson, sonson, sonson_state, 0, ROT0, "Capcom", "Son Son", GAME_SUPPORTS_SAVE )
-GAME( 1984, sonsonj, sonson, sonson, sonson, sonson_state, 0, ROT0, "Capcom", "Son Son (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, sonson, 0, sonson, sonson, driver_device, 0, ROT0, "Capcom", "Son Son", GAME_SUPPORTS_SAVE )
+GAME( 1984, sonsonj, sonson, sonson, sonson, driver_device, 0, ROT0, "Capcom", "Son Son (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/sothello.c b/src/mame/drivers/sothello.c
index f796f5fa976..ce79d97b5d4 100644
--- a/src/mame/drivers/sothello.c
+++ b/src/mame/drivers/sothello.c
@@ -429,4 +429,4 @@ ROM_START( sothello )
ROM_LOAD( "6.7f", 0x8000, 0x8000, CRC(ee80fc78) SHA1(9a9d7925847d7a36930f0761c70f67a9affc5e7c) )
ROM_END
-GAME( 1986, sothello, 0, sothello, sothello, sothello_state, 0, ROT0, "Success / Fujiwara", "Super Othello", 0 )
+GAME( 1986, sothello, 0, sothello, sothello, driver_device, 0, ROT0, "Success / Fujiwara", "Super Othello", 0 )
diff --git a/src/mame/drivers/spacefb.c b/src/mame/drivers/spacefb.c
index 637d7a9950b..4274bf0662d 100644
--- a/src/mame/drivers/spacefb.c
+++ b/src/mame/drivers/spacefb.c
@@ -577,11 +577,11 @@ ROM_END
*
*************************************/
-GAME( 1980, spacefb, 0, spacefb, spacefb, spacefb_state, 0, ROT270, "Nintendo", "Space Firebird (rev. 04-u)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacefbe, spacefb, spacefb, spacefb, spacefb_state, 0, ROT270, "Nintendo", "Space Firebird (rev. 03-e set 1)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacefbe2,spacefb, spacefb, spacefb, spacefb_state, 0, ROT270, "Nintendo", "Space Firebird (rev. 03-e set 2)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacefba, spacefb, spacefb, spacefb, spacefb_state, 0, ROT270, "Nintendo", "Space Firebird (rev. 02-a)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacefbg, spacefb, spacefb, spacefb, spacefb_state, 0, ROT270, "Nintendo (Gremlin license)", "Space Firebird (Gremlin)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacebrd, spacefb, spacefb, spacefb, spacefb_state, 0, ROT270, "bootleg (Karateco)", "Space Bird (bootleg)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacefbb, spacefb, spacefb, spacefb, spacefb_state, 0, ROT270, "bootleg", "Space Firebird (bootleg)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacedem, spacefb, spacefb, spacedem, spacefb_state, 0, ROT270, "Nintendo (Fortrek license)", "Space Demon", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+GAME( 1980, spacefb, 0, spacefb, spacefb, driver_device, 0, ROT270, "Nintendo", "Space Firebird (rev. 04-u)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+GAME( 1980, spacefbe, spacefb, spacefb, spacefb, driver_device, 0, ROT270, "Nintendo", "Space Firebird (rev. 03-e set 1)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+GAME( 1980, spacefbe2,spacefb, spacefb, spacefb, driver_device, 0, ROT270, "Nintendo", "Space Firebird (rev. 03-e set 2)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+GAME( 1980, spacefba, spacefb, spacefb, spacefb, driver_device, 0, ROT270, "Nintendo", "Space Firebird (rev. 02-a)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+GAME( 1980, spacefbg, spacefb, spacefb, spacefb, driver_device, 0, ROT270, "Nintendo (Gremlin license)", "Space Firebird (Gremlin)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+GAME( 1980, spacebrd, spacefb, spacefb, spacefb, driver_device, 0, ROT270, "bootleg (Karateco)", "Space Bird (bootleg)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+GAME( 1980, spacefbb, spacefb, spacefb, spacefb, driver_device, 0, ROT270, "bootleg", "Space Firebird (bootleg)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+GAME( 1980, spacedem, spacefb, spacefb, spacedem, driver_device, 0, ROT270, "Nintendo (Fortrek license)", "Space Demon", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/spaceg.c b/src/mame/drivers/spaceg.c
index 87c889293b8..f97e493c421 100644
--- a/src/mame/drivers/spaceg.c
+++ b/src/mame/drivers/spaceg.c
@@ -473,4 +473,4 @@ ROM_END
*
*************************************/
-GAME( 1979, spaceg, 0, spaceg, spaceg, spaceg_state, 0, ROT270, "Omori Electric Co., Ltd.", "Space Guerrilla", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, spaceg, 0, spaceg, spaceg, driver_device, 0, ROT270, "Omori Electric Co., Ltd.", "Space Guerrilla", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/spbactn.c b/src/mame/drivers/spbactn.c
index 79996631639..d03a37f3203 100644
--- a/src/mame/drivers/spbactn.c
+++ b/src/mame/drivers/spbactn.c
@@ -430,5 +430,5 @@ ROM_START( spbactnj )
ROM_LOAD( "b-u111", 0x40000, 0x40000, CRC(1cc1379a) SHA1(44fdab8cb5ab1488688f1ac52f005454e835efee) )
ROM_END
-GAME( 1991, spbactn, 0, spbactn, spbactn, spbactn_state, 0, ROT90, "Tecmo", "Super Pinball Action (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, spbactnj, spbactn, spbactn, spbactn, spbactn_state, 0, ROT90, "Tecmo", "Super Pinball Action (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, spbactn, 0, spbactn, spbactn, driver_device, 0, ROT90, "Tecmo", "Super Pinball Action (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, spbactnj, spbactn, spbactn, spbactn, driver_device, 0, ROT90, "Tecmo", "Super Pinball Action (Japan)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/spcforce.c b/src/mame/drivers/spcforce.c
index 52ce01cc22a..f6a18a6c3c3 100644
--- a/src/mame/drivers/spcforce.c
+++ b/src/mame/drivers/spcforce.c
@@ -363,6 +363,6 @@ ROM_START( meteor )
ROM_END
-GAME( 1980, spcforce, 0, spcforce, spcforce, spcforce_state, 0, ROT270, "Venture Line", "Space Force (set 1)", GAME_IMPERFECT_COLORS )
-GAME( 19??, spcforc2, spcforce, spcforce, spcforc2, spcforce_state, 0, ROT270, "bootleg? (Elcon)", "Space Force (set 2)", GAME_IMPERFECT_COLORS )
-GAME( 1981, meteor, spcforce, spcforce, spcforc2, spcforce_state, 0, ROT270, "Venture Line", "Meteoroids", GAME_IMPERFECT_COLORS )
+GAME( 1980, spcforce, 0, spcforce, spcforce, driver_device, 0, ROT270, "Venture Line", "Space Force (set 1)", GAME_IMPERFECT_COLORS )
+GAME( 19??, spcforc2, spcforce, spcforce, spcforc2, driver_device, 0, ROT270, "bootleg? (Elcon)", "Space Force (set 2)", GAME_IMPERFECT_COLORS )
+GAME( 1981, meteor, spcforce, spcforce, spcforc2, driver_device, 0, ROT270, "Venture Line", "Meteoroids", GAME_IMPERFECT_COLORS )
diff --git a/src/mame/drivers/spdodgeb.c b/src/mame/drivers/spdodgeb.c
index d838ddc2e6c..8a6ade8b7fa 100644
--- a/src/mame/drivers/spdodgeb.c
+++ b/src/mame/drivers/spdodgeb.c
@@ -577,6 +577,6 @@ ROM_END
-GAME( 1987, spdodgeb, 0, spdodgeb, spdodgeb, spdodgeb_state, 0, ROT0, "Technos Japan", "Super Dodge Ball (US)", 0 )
-GAME( 1987, nkdodge, spdodgeb, spdodgeb, spdodgeb, spdodgeb_state, 0, ROT0, "Technos Japan", "Nekketsu Koukou Dodgeball Bu (Japan)", 0 )
-GAME( 1987, nkdodgeb, spdodgeb, spdodgeb, spdodgeb, spdodgeb_state, 0, ROT0, "bootleg", "Nekketsu Koukou Dodgeball Bu (Japan, bootleg)", 0 )
+GAME( 1987, spdodgeb, 0, spdodgeb, spdodgeb, driver_device, 0, ROT0, "Technos Japan", "Super Dodge Ball (US)", 0 )
+GAME( 1987, nkdodge, spdodgeb, spdodgeb, spdodgeb, driver_device, 0, ROT0, "Technos Japan", "Nekketsu Koukou Dodgeball Bu (Japan)", 0 )
+GAME( 1987, nkdodgeb, spdodgeb, spdodgeb, spdodgeb, driver_device, 0, ROT0, "bootleg", "Nekketsu Koukou Dodgeball Bu (Japan, bootleg)", 0 )
diff --git a/src/mame/drivers/spectra.c b/src/mame/drivers/spectra.c
index cbf44014327..1bac29de9a1 100644
--- a/src/mame/drivers/spectra.c
+++ b/src/mame/drivers/spectra.c
@@ -23,6 +23,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(spectra);
};
@@ -37,7 +39,7 @@ void spectra_state::machine_reset()
{
}
-static DRIVER_INIT( spectra )
+DRIVER_INIT_MEMBER(spectra_state,spectra)
{
}
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index 6c4ba57c0cf..52dddd0aef5 100644
--- a/src/mame/drivers/speedatk.c
+++ b/src/mame/drivers/speedatk.c
@@ -374,5 +374,5 @@ ROM_START( speedatk )
ROM_LOAD( "cb2.bpr", 0x0020, 0x0100, CRC(a604cf96) SHA1(a4ef6e77dcd3abe4c27e8e636222a5ee711a51f5) ) /* lookup table */
ROM_END
-GAME( 1984, speedatk, 0, speedatk, speedatk, speedatk_state, 0, ROT0, "Seta Kikaku Corp.", "Speed Attack! (Japan)", 0 )
+GAME( 1984, speedatk, 0, speedatk, speedatk, driver_device, 0, ROT0, "Seta Kikaku Corp.", "Speed Attack! (Japan)", 0 )
diff --git a/src/mame/drivers/speedbal.c b/src/mame/drivers/speedbal.c
index 4d3c70becf2..d6aac768f9c 100644
--- a/src/mame/drivers/speedbal.c
+++ b/src/mame/drivers/speedbal.c
@@ -283,4 +283,4 @@ ROM_START( speedbal )
ROM_END
-GAME( 1987, speedbal, 0, speedbal, speedbal, speedbal_state, 0, ROT270, "Tecfri", "Speed Ball", 0 )
+GAME( 1987, speedbal, 0, speedbal, speedbal, driver_device, 0, ROT270, "Tecfri", "Speed Ball", 0 )
diff --git a/src/mame/drivers/speedspn.c b/src/mame/drivers/speedspn.c
index f5f7c6b2750..a78077aaad4 100644
--- a/src/mame/drivers/speedspn.c
+++ b/src/mame/drivers/speedspn.c
@@ -339,4 +339,4 @@ ROM_END
/*** GAME DRIVERS ************************************************************/
-GAME( 1994, speedspn, 0, speedspn, speedspn, speedspn_state, 0, ROT180, "TCH", "Speed Spin", 0 )
+GAME( 1994, speedspn, 0, speedspn, speedspn, driver_device, 0, ROT180, "TCH", "Speed Spin", 0 )
diff --git a/src/mame/drivers/speglsht.c b/src/mame/drivers/speglsht.c
index d2c9159eff5..28a07b04444 100644
--- a/src/mame/drivers/speglsht.c
+++ b/src/mame/drivers/speglsht.c
@@ -130,6 +130,7 @@ public:
DECLARE_WRITE32_MEMBER(cop_w);
DECLARE_READ32_MEMBER(cop_r);
DECLARE_READ32_MEMBER(irq_ack_clear);
+ DECLARE_DRIVER_INIT(speglsht);
};
@@ -440,7 +441,7 @@ ROM_END
-static DRIVER_INIT(speglsht)
+DRIVER_INIT_MEMBER(speglsht_state,speglsht)
{
st0016_game=3;
}
diff --git a/src/mame/drivers/spiders.c b/src/mame/drivers/spiders.c
index 95fd9e2dee0..686625df0ea 100644
--- a/src/mame/drivers/spiders.c
+++ b/src/mame/drivers/spiders.c
@@ -820,7 +820,7 @@ ROM_END
*************************************/
/* this is a newer version with just one bug fix */
-GAME( 1981, spiders, 0, spiders, spiders, spiders_state, 0, ROT270, "Sigma Enterprises Inc.", "Spiders (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1981, spiders2, spiders, spiders, spiders, spiders_state, 0, ROT270, "Sigma Enterprises Inc.", "Spiders (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1981, spiders3, spiders, spiders, spiders, spiders_state, 0, ROT270, "Sigma Enterprises Inc.", "Spiders (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1981, spinner, spiders, spiders, spiders, spiders_state, 0, ROT270, "bootleg", "Spinner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+GAME( 1981, spiders, 0, spiders, spiders, driver_device, 0, ROT270, "Sigma Enterprises Inc.", "Spiders (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+GAME( 1981, spiders2, spiders, spiders, spiders, driver_device, 0, ROT270, "Sigma Enterprises Inc.", "Spiders (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+GAME( 1981, spiders3, spiders, spiders, spiders, driver_device, 0, ROT270, "Sigma Enterprises Inc.", "Spiders (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+GAME( 1981, spinner, spiders, spiders, spiders, driver_device, 0, ROT270, "bootleg", "Spinner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
diff --git a/src/mame/drivers/spinb.c b/src/mame/drivers/spinb.c
index 264a2455754..e3ce6857e06 100644
--- a/src/mame/drivers/spinb.c
+++ b/src/mame/drivers/spinb.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(spinb);
};
@@ -31,7 +33,7 @@ void spinb_state::machine_reset()
{
}
-static DRIVER_INIT( spinb )
+DRIVER_INIT_MEMBER(spinb_state,spinb)
{
}
diff --git a/src/mame/drivers/splash.c b/src/mame/drivers/splash.c
index 2f1b6724bed..cb9f7e62bd4 100644
--- a/src/mame/drivers/splash.c
+++ b/src/mame/drivers/splash.c
@@ -997,39 +997,35 @@ ROM_END
/* DRIVER INITs */
-static DRIVER_INIT( splash )
+DRIVER_INIT_MEMBER(splash_state,splash)
{
- splash_state *state = machine.driver_data<splash_state>();
- state->m_bitmap_type = 0;
- state->m_sprite_attr2_shift = 8;
+ m_bitmap_type = 0;
+ m_sprite_attr2_shift = 8;
}
-static DRIVER_INIT( splash10 )
+DRIVER_INIT_MEMBER(splash_state,splash10)
{
- splash_state *state = machine.driver_data<splash_state>();
- state->m_bitmap_type = 0;
- state->m_sprite_attr2_shift = 0;
+ m_bitmap_type = 0;
+ m_sprite_attr2_shift = 0;
}
-static DRIVER_INIT( roldfrog )
+DRIVER_INIT_MEMBER(splash_state,roldfrog)
{
- splash_state *state = machine.driver_data<splash_state>();
- UINT8 * ROM = (UINT8 *)state->memregion("audiocpu")->base();
- state->membank("sound_bank")->configure_entries(0, 16, &ROM[0x10000], 0x8000);
+ UINT8 * ROM = (UINT8 *)memregion("audiocpu")->base();
+ membank("sound_bank")->configure_entries(0, 16, &ROM[0x10000], 0x8000);
- state->m_bitmap_type = 1;
- state->m_sprite_attr2_shift = 8;
+ m_bitmap_type = 1;
+ m_sprite_attr2_shift = 8;
}
-static DRIVER_INIT( rebus )
+DRIVER_INIT_MEMBER(splash_state,rebus)
{
- splash_state *state = machine.driver_data<splash_state>();
- UINT16 *ROM = (UINT16 *)state->memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)memregion("maincpu")->base();
- state->m_bitmap_type = 1;
- state->m_sprite_attr2_shift = 0;
+ m_bitmap_type = 1;
+ m_sprite_attr2_shift = 0;
//d1 clear , regs restore and rte - end of trap $b
ROM[0x196c0/2] = 0x7200;
@@ -1053,13 +1049,12 @@ static DRIVER_INIT( rebus )
-static DRIVER_INIT( funystrp )
+DRIVER_INIT_MEMBER(splash_state,funystrp)
{
- splash_state *state = machine.driver_data<splash_state>();
- UINT16 *ROM = (UINT16 *)state->memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)memregion("maincpu")->base();
- state->m_bitmap_type = 0;
- state->m_sprite_attr2_shift = 0;
+ m_bitmap_type = 0;
+ m_sprite_attr2_shift = 0;
// initial protection checks, just after boot
@@ -1095,9 +1090,9 @@ static DRIVER_INIT( funystrp )
ROM[0x11730/2] = 0x7001;
ROM[0x11f80/2] = 0x7001;
- ROM = (UINT16 *)state->memregion("audiocpu")->base();
+ ROM = (UINT16 *)memregion("audiocpu")->base();
- state->membank("sound_bank")->configure_entries(0, 16, &ROM[0x00000], 0x8000);
+ membank("sound_bank")->configure_entries(0, 16, &ROM[0x00000], 0x8000);
}
diff --git a/src/mame/drivers/splus.c b/src/mame/drivers/splus.c
index 76bdeb70ff8..fd079a5d8c6 100644
--- a/src/mame/drivers/splus.c
+++ b/src/mame/drivers/splus.c
@@ -101,6 +101,7 @@ public:
DECLARE_READ8_MEMBER(splus_registers_r);
DECLARE_WRITE8_MEMBER(i2c_nvram_w);
DECLARE_READ8_MEMBER(splus_reel_optics_r);
+ DECLARE_DRIVER_INIT(splus);
};
/* Static Variables */
@@ -576,14 +577,13 @@ READ8_MEMBER(splus_state::splus_reel_optics_r)
* Driver Init *
***************/
-static DRIVER_INIT( splus )
+DRIVER_INIT_MEMBER(splus_state,splus)
{
- splus_state *state = machine.driver_data<splus_state>();
- UINT8 *reel_data = state->memregion( "reeldata" )->base();
+ UINT8 *reel_data = memregion( "reeldata" )->base();
// Load Reel Data
- memcpy(state->m_reel_ram, &reel_data[0x0000], 0x2000);
+ memcpy(m_reel_ram, &reel_data[0x0000], 0x2000);
}
diff --git a/src/mame/drivers/spoker.c b/src/mame/drivers/spoker.c
index aa029162710..97d22c991de 100644
--- a/src/mame/drivers/spoker.c
+++ b/src/mame/drivers/spoker.c
@@ -52,6 +52,8 @@ public:
DECLARE_WRITE8_MEMBER(spoker_magic_w);
DECLARE_READ8_MEMBER(spoker_magic_r);
DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
+ DECLARE_DRIVER_INIT(spk116it);
+ DECLARE_DRIVER_INIT(3super8);
};
WRITE8_MEMBER(spoker_state::bg_tile_w)
@@ -572,10 +574,10 @@ static MACHINE_CONFIG_DERIVED( 3super8, spoker )
MCFG_DEVICE_REMOVE("ymsnd")
MACHINE_CONFIG_END
-static DRIVER_INIT( spk116it )
+DRIVER_INIT_MEMBER(spoker_state,spk116it)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0x10000;A++)
@@ -680,9 +682,9 @@ ROM_START( 3super8 )
ROM_LOAD( "sound.bin", 0x00000, 0x40000, BAD_DUMP CRC(230b31c3) SHA1(38c107325d3a4e9781912078b1317dc9ba3e1ced) )
ROM_END
-static DRIVER_INIT( 3super8 )
+DRIVER_INIT_MEMBER(spoker_state,3super8)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
int i;
/* Decryption is probably done using one macrocell/output on an address decoding pal which we do not have a dump of */
@@ -700,8 +702,8 @@ static DRIVER_INIT( 3super8 )
/* cheesy hack: take gfx roms from spk116it and rearrange them for this game needs */
{
- UINT8 *src = machine.root_device().memregion("rep_gfx")->base();
- UINT8 *dst = machine.root_device().memregion("gfx1")->base();
+ UINT8 *src = machine().root_device().memregion("rep_gfx")->base();
+ UINT8 *dst = machine().root_device().memregion("gfx1")->base();
UINT8 x;
for(x=0;x<3;x++)
diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c
index d4356686fb4..e24ca5240e1 100644
--- a/src/mame/drivers/spool99.c
+++ b/src/mame/drivers/spool99.c
@@ -114,6 +114,7 @@ public:
DECLARE_WRITE8_MEMBER(eeprom_resetline_w);
DECLARE_WRITE8_MEMBER(eeprom_clockline_w);
DECLARE_WRITE8_MEMBER(eeprom_dataline_w);
+ DECLARE_DRIVER_INIT(spool99);
};
static TILE_GET_INFO( get_spool99_tile_info )
@@ -421,13 +422,12 @@ ROM_START( vcarn )
ROM_END
-static DRIVER_INIT( spool99 )
+DRIVER_INIT_MEMBER(spool99_state,spool99)
{
- spool99_state *state = machine.driver_data<spool99_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
-// vram = auto_alloc_array(machine, UINT8, 0x2000);
- memcpy(state->m_main, ROM, 0x100);
+ UINT8 *ROM = memregion("maincpu")->base();
+// vram = auto_alloc_array(machine(), UINT8, 0x2000);
+ memcpy(m_main, ROM, 0x100);
}
diff --git a/src/mame/drivers/sprcros2.c b/src/mame/drivers/sprcros2.c
index db5d790f08f..c03b68008ad 100644
--- a/src/mame/drivers/sprcros2.c
+++ b/src/mame/drivers/sprcros2.c
@@ -376,5 +376,5 @@ ROM_START( sprcros2a )
ROM_LOAD( "sc-60.4k", 0x0320, 0x0100, CRC(d7a4e57d) SHA1(6db02ec6aa55b05422cb505e63c71e36b4b11b4a) ) //fg clut
ROM_END
-GAME( 1986, sprcros2, 0, sprcros2, sprcros2, sprcros2_state, 0, ROT0, "GM Shoji", "Super Cross II (Japan, set 1)", 0 )
-GAME( 1986, sprcros2a,sprcros2, sprcros2, sprcros2, sprcros2_state, 0, ROT0, "GM Shoji", "Super Cross II (Japan, set 2)", 0 )
+GAME( 1986, sprcros2, 0, sprcros2, sprcros2, driver_device, 0, ROT0, "GM Shoji", "Super Cross II (Japan, set 1)", 0 )
+GAME( 1986, sprcros2a,sprcros2, sprcros2, sprcros2, driver_device, 0, ROT0, "GM Shoji", "Super Cross II (Japan, set 2)", 0 )
diff --git a/src/mame/drivers/sprint2.c b/src/mame/drivers/sprint2.c
index 02b80d2d015..1f223a9d032 100644
--- a/src/mame/drivers/sprint2.c
+++ b/src/mame/drivers/sprint2.c
@@ -30,20 +30,17 @@
-static DRIVER_INIT( sprint1 )
+DRIVER_INIT_MEMBER(sprint2_state,sprint1)
{
- sprint2_state *state = machine.driver_data<sprint2_state>();
- state->m_game = 1;
+ m_game = 1;
}
-static DRIVER_INIT( sprint2 )
+DRIVER_INIT_MEMBER(sprint2_state,sprint2)
{
- sprint2_state *state = machine.driver_data<sprint2_state>();
- state->m_game = 2;
+ m_game = 2;
}
-static DRIVER_INIT( dominos )
+DRIVER_INIT_MEMBER(sprint2_state,dominos)
{
- sprint2_state *state = machine.driver_data<sprint2_state>();
- state->m_game = 3;
+ m_game = 3;
}
diff --git a/src/mame/drivers/sprint4.c b/src/mame/drivers/sprint4.c
index fc7f84af6e7..59dad76bd56 100644
--- a/src/mame/drivers/sprint4.c
+++ b/src/mame/drivers/sprint4.c
@@ -466,5 +466,5 @@ ROM_START( sprint4a )
ROM_END
-GAME( 1977, sprint4, 0, sprint4, sprint4, sprint4_state, 0, ROT180, "Atari", "Sprint 4 (set 1)", 0 ) /* large cars */
-GAME( 1977, sprint4a, sprint4, sprint4, sprint4, sprint4_state, 0, ROT180, "Atari", "Sprint 4 (set 2)", 0 ) /* small cars */
+GAME( 1977, sprint4, 0, sprint4, sprint4, driver_device, 0, ROT180, "Atari", "Sprint 4 (set 1)", 0 ) /* large cars */
+GAME( 1977, sprint4a, sprint4, sprint4, sprint4, driver_device, 0, ROT180, "Atari", "Sprint 4 (set 2)", 0 ) /* small cars */
diff --git a/src/mame/drivers/sprint8.c b/src/mame/drivers/sprint8.c
index c78435b7fc7..5f943e094f8 100644
--- a/src/mame/drivers/sprint8.c
+++ b/src/mame/drivers/sprint8.c
@@ -528,5 +528,5 @@ ROM_START( sprint8a )
ROM_END
-GAME( 1977, sprint8, 0, sprint8, sprint8, sprint8_state, 0, ROT0, "Atari", "Sprint 8", 0 )
-GAME( 1977, sprint8a, sprint8, sprint8, sprint8p, sprint8_state, 0, ROT0, "Atari", "Sprint 8 (play tag & chase)", 0 )
+GAME( 1977, sprint8, 0, sprint8, sprint8, driver_device, 0, ROT0, "Atari", "Sprint 8", 0 )
+GAME( 1977, sprint8a, sprint8, sprint8, sprint8p, driver_device, 0, ROT0, "Atari", "Sprint 8 (play tag & chase)", 0 )
diff --git a/src/mame/drivers/spy.c b/src/mame/drivers/spy.c
index 4719136cdb7..dc01406670e 100644
--- a/src/mame/drivers/spy.c
+++ b/src/mame/drivers/spy.c
@@ -640,5 +640,5 @@ ROM_START( spyu )
ROM_END
-GAME( 1989, spy, 0, spy, spy, spy_state, 0, ROT0, "Konami", "S.P.Y. - Special Project Y (World ver. N)", GAME_SUPPORTS_SAVE )
-GAME( 1989, spyu, spy, spy, spy, spy_state, 0, ROT0, "Konami", "S.P.Y. - Special Project Y (US ver. M)", GAME_SUPPORTS_SAVE )
+GAME( 1989, spy, 0, spy, spy, driver_device, 0, ROT0, "Konami", "S.P.Y. - Special Project Y (World ver. N)", GAME_SUPPORTS_SAVE )
+GAME( 1989, spyu, spy, spy, spy, driver_device, 0, ROT0, "Konami", "S.P.Y. - Special Project Y (US ver. M)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/srmp2.c b/src/mame/drivers/srmp2.c
index 67705b3685e..b4ad4925de2 100644
--- a/src/mame/drivers/srmp2.c
+++ b/src/mame/drivers/srmp2.c
@@ -1566,13 +1566,13 @@ ROM_END
-GAME( 1987, srmp1, 0, srmp2, srmp2, srmp2_state, 0, ROT0, "Seta", "Super Real Mahjong Part 1 (Japan)", 0 )
-GAME( 1987, srmp2, 0, srmp2, srmp2, srmp2_state, 0, ROT0, "Seta", "Super Real Mahjong Part 2 (Japan)", 0 )
-GAME( 1988, srmp3, 0, srmp3, srmp3, srmp2_state, 0, ROT0, "Seta", "Super Real Mahjong Part 3 (Japan)", 0 )
-GAME( 1988, rmgoldyh, srmp3, rmgoldyh, rmgoldyh, srmp2_state, 0, ROT0, "Seta (Alba license)", "Real Mahjong Gold Yumehai / Super Real Mahjong GOLD part.2 [BET] (Japan)", 0 )
-GAME( 1990, mjyuugi, 0, mjyuugi, mjyuugi, srmp2_state, 0, ROT0, "Visco", "Mahjong Yuugi (Japan set 1)", 0 )
-GAME( 1990, mjyuugia, mjyuugi, mjyuugi, mjyuugi, srmp2_state, 0, ROT0, "Visco", "Mahjong Yuugi (Japan set 2)", 0 )
-GAME( 1991, ponchin, 0, mjyuugi, ponchin, srmp2_state, 0, ROT0, "Visco", "Mahjong Pon Chin Kan (Japan set 1)", 0 )
-GAME( 1991, ponchina, ponchin, mjyuugi, ponchin, srmp2_state, 0, ROT0, "Visco", "Mahjong Pon Chin Kan (Japan set 2)", 0 )
+GAME( 1987, srmp1, 0, srmp2, srmp2, driver_device, 0, ROT0, "Seta", "Super Real Mahjong Part 1 (Japan)", 0 )
+GAME( 1987, srmp2, 0, srmp2, srmp2, driver_device, 0, ROT0, "Seta", "Super Real Mahjong Part 2 (Japan)", 0 )
+GAME( 1988, srmp3, 0, srmp3, srmp3, driver_device, 0, ROT0, "Seta", "Super Real Mahjong Part 3 (Japan)", 0 )
+GAME( 1988, rmgoldyh, srmp3, rmgoldyh, rmgoldyh, driver_device, 0, ROT0, "Seta (Alba license)", "Real Mahjong Gold Yumehai / Super Real Mahjong GOLD part.2 [BET] (Japan)", 0 )
+GAME( 1990, mjyuugi, 0, mjyuugi, mjyuugi, driver_device, 0, ROT0, "Visco", "Mahjong Yuugi (Japan set 1)", 0 )
+GAME( 1990, mjyuugia, mjyuugi, mjyuugi, mjyuugi, driver_device, 0, ROT0, "Visco", "Mahjong Yuugi (Japan set 2)", 0 )
+GAME( 1991, ponchin, 0, mjyuugi, ponchin, driver_device, 0, ROT0, "Visco", "Mahjong Pon Chin Kan (Japan set 1)", 0 )
+GAME( 1991, ponchina, ponchin, mjyuugi, ponchin, driver_device, 0, ROT0, "Visco", "Mahjong Pon Chin Kan (Japan set 2)", 0 )
diff --git a/src/mame/drivers/srmp5.c b/src/mame/drivers/srmp5.c
index 70c8b1ab524..901a00fc9ff 100644
--- a/src/mame/drivers/srmp5.c
+++ b/src/mame/drivers/srmp5.c
@@ -101,6 +101,7 @@ public:
DECLARE_READ8_MEMBER(cmd1_r);
DECLARE_READ8_MEMBER(cmd2_r);
DECLARE_READ8_MEMBER(cmd_stat8_r);
+ DECLARE_DRIVER_INIT(srmp5);
};
@@ -613,16 +614,15 @@ ROM_START( srmp5 )
#endif
ROM_END
-static DRIVER_INIT(srmp5)
+DRIVER_INIT_MEMBER(srmp5_state,srmp5)
{
- srmp5_state *state = machine.driver_data<srmp5_state>();
st0016_game = 9;
- state->m_tileram = auto_alloc_array(machine, UINT16, 0x100000/2);
- state->m_sprram = auto_alloc_array(machine, UINT16, 0x080000/2);
- state->m_palram = auto_alloc_array(machine, UINT16, 0x040000/2);
+ m_tileram = auto_alloc_array(machine(), UINT16, 0x100000/2);
+ m_sprram = auto_alloc_array(machine(), UINT16, 0x080000/2);
+ m_palram = auto_alloc_array(machine(), UINT16, 0x040000/2);
#ifdef DEBUG_CHAR
- memset(state->m_tileduty, 1, 0x2000);
+ memset(m_tileduty, 1, 0x2000);
#endif
}
diff --git a/src/mame/drivers/srmp6.c b/src/mame/drivers/srmp6.c
index 4c050239b6f..b1484d26c5f 100644
--- a/src/mame/drivers/srmp6.c
+++ b/src/mame/drivers/srmp6.c
@@ -103,6 +103,7 @@ public:
DECLARE_WRITE16_MEMBER(tileram_w);
DECLARE_WRITE16_MEMBER(paletteram_w);
DECLARE_READ16_MEMBER(srmp6_irq_ack_r);
+ DECLARE_DRIVER_INIT(INIT);
};
#define VERBOSE 0
@@ -726,4 +727,4 @@ ROM_END
***************************************************************************/
/*GAME( YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS)*/
-GAME( 1995, srmp6, 0, srmp6, srmp6, srmp6_state, 0, ROT0, "Seta", "Super Real Mahjong P6 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
+GAME( 1995, srmp6, 0, srmp6, srmp6, driver_device, 0, ROT0, "Seta", "Super Real Mahjong P6 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c
index 52cfdb452c3..d9b646b4ae9 100644
--- a/src/mame/drivers/srumbler.c
+++ b/src/mame/drivers/srumbler.c
@@ -419,6 +419,6 @@ ROM_END
-GAME( 1986, srumbler, 0, srumbler, srumbler, srumbler_state, 0, ROT270, "Capcom", "The Speed Rumbler (set 1)", 0 )
-GAME( 1986, srumbler2,srumbler, srumbler, srumbler, srumbler_state, 0, ROT270, "Capcom", "The Speed Rumbler (set 2)", 0 )
-GAME( 1986, rushcrsh, srumbler, srumbler, srumbler, srumbler_state, 0, ROT270, "Capcom", "Rush & Crash (Japan)", 0 )
+GAME( 1986, srumbler, 0, srumbler, srumbler, driver_device, 0, ROT270, "Capcom", "The Speed Rumbler (set 1)", 0 )
+GAME( 1986, srumbler2,srumbler, srumbler, srumbler, driver_device, 0, ROT270, "Capcom", "The Speed Rumbler (set 2)", 0 )
+GAME( 1986, rushcrsh, srumbler, srumbler, srumbler, driver_device, 0, ROT270, "Capcom", "Rush & Crash (Japan)", 0 )
diff --git a/src/mame/drivers/ssfindo.c b/src/mame/drivers/ssfindo.c
index cddb7973b8b..3d1452ecf54 100644
--- a/src/mame/drivers/ssfindo.c
+++ b/src/mame/drivers/ssfindo.c
@@ -241,6 +241,10 @@ public:
DECLARE_READ32_MEMBER(randomized_r);
DECLARE_READ32_MEMBER(tetfight_unk_r);
DECLARE_WRITE32_MEMBER(tetfight_unk_w);
+ DECLARE_DRIVER_INIT(common);
+ DECLARE_DRIVER_INIT(ssfindo);
+ DECLARE_DRIVER_INIT(ppcar);
+ DECLARE_DRIVER_INIT(tetfight);
};
@@ -850,39 +854,35 @@ ROM_START( tetfight )
ROM_LOAD( "u15", 0x080000, 0x80000, CRC(477f8089) SHA1(8084facb254d60da7983d628d5945d27b9494e65) )
ROM_END
-static DRIVER_INIT(common)
+DRIVER_INIT_MEMBER(ssfindo_state,common)
{
- ssfindo_state *state = machine.driver_data<ssfindo_state>();
ssfindo_speedup = 0;
- state->m_PS7500timer0 = machine.scheduler().timer_alloc(FUNC(PS7500_Timer0_callback));
- state->m_PS7500timer1 = machine.scheduler().timer_alloc(FUNC(PS7500_Timer1_callback));
+ m_PS7500timer0 = machine().scheduler().timer_alloc(FUNC(PS7500_Timer0_callback));
+ m_PS7500timer1 = machine().scheduler().timer_alloc(FUNC(PS7500_Timer1_callback));
}
-static DRIVER_INIT(ssfindo)
+DRIVER_INIT_MEMBER(ssfindo_state,ssfindo)
{
- ssfindo_state *state = machine.driver_data<ssfindo_state>();
DRIVER_INIT_CALL(common);
- state->m_flashType=0;
+ m_flashType=0;
ssfindo_speedup = ssfindo_speedups;
- state->m_iocr_hack=0;
+ m_iocr_hack=0;
}
-static DRIVER_INIT(ppcar)
+DRIVER_INIT_MEMBER(ssfindo_state,ppcar)
{
- ssfindo_state *state = machine.driver_data<ssfindo_state>();
DRIVER_INIT_CALL(common);
- state->m_flashType=1;
+ m_flashType=1;
ssfindo_speedup = ppcar_speedups;
- state->m_iocr_hack=0;
+ m_iocr_hack=0;
}
-static DRIVER_INIT(tetfight)
+DRIVER_INIT_MEMBER(ssfindo_state,tetfight)
{
- ssfindo_state *state = machine.driver_data<ssfindo_state>();
DRIVER_INIT_CALL(common);
- state->m_flashType=0;
- state->m_iocr_hack=1;
+ m_flashType=0;
+ m_iocr_hack=1;
}
GAME( 1999, ssfindo, 0, ssfindo, ssfindo, ssfindo_state, ssfindo, ROT0, "Icarus", "See See Find Out", GAME_NO_SOUND )
diff --git a/src/mame/drivers/sshangha.c b/src/mame/drivers/sshangha.c
index a7b4fe7df5a..24bc3469a90 100644
--- a/src/mame/drivers/sshangha.c
+++ b/src/mame/drivers/sshangha.c
@@ -487,12 +487,12 @@ ROM_START( sshanghab )
ROM_END
-static DRIVER_INIT( sshangha )
+DRIVER_INIT_MEMBER(sshangha_state,sshangha)
{
#if SSHANGHA_HACK
/* This is a hack to allow you to use the extra features
of the first "Unused" Dip Switch (see notes above). */
- UINT16 *RAM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
RAM[0x000384/2] = 0x4e71;
RAM[0x000386/2] = 0x4e71;
RAM[0x000388/2] = 0x4e71;
diff --git a/src/mame/drivers/sshot.c b/src/mame/drivers/sshot.c
index 52e91769f3d..af658f165ef 100644
--- a/src/mame/drivers/sshot.c
+++ b/src/mame/drivers/sshot.c
@@ -364,4 +364,4 @@ ROM_START( sshot )
ROM_LOAD( "ss_b.b10", 0x0400, 0x0400, CRC(ba70e619) SHA1(df39512de881df26ccc7fa74f6bae82d92cd9008) )
ROM_END
-GAME( 1979, sshot, 0, supershot, supershot, supershot_state, 0, ROT0, "Model Racing", "Super Shot", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
+GAME( 1979, sshot, 0, supershot, supershot, driver_device, 0, ROT0, "Model Racing", "Super Shot", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
diff --git a/src/mame/drivers/ssingles.c b/src/mame/drivers/ssingles.c
index b5bd840d60b..f3b261d95a5 100644
--- a/src/mame/drivers/ssingles.c
+++ b/src/mame/drivers/ssingles.c
@@ -171,6 +171,7 @@ public:
DECLARE_READ8_MEMBER(atamanot_prot_r);
DECLARE_WRITE8_MEMBER(atamanot_prot_w);
DECLARE_CUSTOM_INPUT_MEMBER(controls_r);
+ DECLARE_DRIVER_INIT(ssingles);
};
//fake palette
@@ -683,12 +684,11 @@ ROM_START( atamanot )
ROM_LOAD( "3.54", 0x00200, 0x0100, CRC(88acb21e) SHA1(18fe5280dad6687daf6bf42d37dde45157fab5e3) )
ROM_END
-static DRIVER_INIT(ssingles)
+DRIVER_INIT_MEMBER(ssingles_state,ssingles)
{
- ssingles_state *state = machine.driver_data<ssingles_state>();
- state->save_item(NAME(state->m_videoram));
- state->save_item(NAME(state->m_colorram));
+ save_item(NAME(m_videoram));
+ save_item(NAME(m_colorram));
}
GAME( 1983, ssingles, 0, ssingles, ssingles, ssingles_state, ssingles, ROT90, "Entertainment Enterprises, Ltd.", "Swinging Singles", GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/sslam.c b/src/mame/drivers/sslam.c
index 3901de43b12..e08f7bf1621 100644
--- a/src/mame/drivers/sslam.c
+++ b/src/mame/drivers/sslam.c
@@ -915,28 +915,26 @@ ROM_START( powerbals )
ROM_COPY( "oki", 0x00000, 0x80000, 0x20000)
ROM_END
-static DRIVER_INIT( sslam )
+DRIVER_INIT_MEMBER(sslam_state,sslam)
{
- sslam_state *state = machine.driver_data<sslam_state>();
- state->m_track = 0;
- state->m_melody = 0;
- state->m_bar = 0;
+ m_track = 0;
+ m_melody = 0;
+ m_bar = 0;
- state->save_item(NAME(state->m_track));
- state->save_item(NAME(state->m_melody));
- state->save_item(NAME(state->m_bar));
- state->save_item(NAME(state->m_snd_bank));
+ save_item(NAME(m_track));
+ save_item(NAME(m_melody));
+ save_item(NAME(m_bar));
+ save_item(NAME(m_snd_bank));
- state->m_music_timer = machine.scheduler().timer_alloc(FUNC(music_playback));
+ m_music_timer = machine().scheduler().timer_alloc(FUNC(music_playback));
}
-static DRIVER_INIT( powerbls )
+DRIVER_INIT_MEMBER(sslam_state,powerbls)
{
- sslam_state *state = machine.driver_data<sslam_state>();
- state->save_item(NAME(state->m_oki_control));
- state->save_item(NAME(state->m_oki_command));
- state->save_item(NAME(state->m_oki_bank));
+ save_item(NAME(m_oki_control));
+ save_item(NAME(m_oki_command));
+ save_item(NAME(m_oki_bank));
}
diff --git a/src/mame/drivers/ssozumo.c b/src/mame/drivers/ssozumo.c
index 193fe421a5d..aabbbd51c51 100644
--- a/src/mame/drivers/ssozumo.c
+++ b/src/mame/drivers/ssozumo.c
@@ -285,4 +285,4 @@ ROM_END
-GAME( 1984, ssozumo, 0, ssozumo, ssozumo, ssozumo_state, 0, ROT270, "Technos Japan", "Syusse Oozumou (Japan)", 0 )
+GAME( 1984, ssozumo, 0, ssozumo, ssozumo, driver_device, 0, ROT270, "Technos Japan", "Syusse Oozumou (Japan)", 0 )
diff --git a/src/mame/drivers/sspeedr.c b/src/mame/drivers/sspeedr.c
index 6935ccf2aea..65cc83db6c3 100644
--- a/src/mame/drivers/sspeedr.c
+++ b/src/mame/drivers/sspeedr.c
@@ -227,4 +227,4 @@ ROM_START( sspeedr )
ROM_END
-GAMEL( 1979, sspeedr, 0, sspeedr, sspeedr, sspeedr_state, 0, ROT270, "Midway", "Super Speed Race", GAME_NO_SOUND, layout_sspeedr )
+GAMEL( 1979, sspeedr, 0, sspeedr, sspeedr, driver_device, 0, ROT270, "Midway", "Super Speed Race", GAME_NO_SOUND, layout_sspeedr )
diff --git a/src/mame/drivers/ssrj.c b/src/mame/drivers/ssrj.c
index beeed924b74..b57e5fb1368 100644
--- a/src/mame/drivers/ssrj.c
+++ b/src/mame/drivers/ssrj.c
@@ -193,4 +193,4 @@ ROM_START( ssrj )
ROM_END
-GAME( 1985, ssrj, 0, ssrj, ssrj, ssrj_state, 0, ROT90, "Taito Corporation", "Super Speed Race Junior (Japan)",GAME_WRONG_COLORS|GAME_IMPERFECT_GRAPHICS )
+GAME( 1985, ssrj, 0, ssrj, ssrj, driver_device, 0, ROT90, "Taito Corporation", "Super Speed Race Junior (Japan)",GAME_WRONG_COLORS|GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/sstrangr.c b/src/mame/drivers/sstrangr.c
index 5f8cda746d1..b096b85a443 100644
--- a/src/mame/drivers/sstrangr.c
+++ b/src/mame/drivers/sstrangr.c
@@ -295,5 +295,5 @@ ROM_START( sstrangr2 )
ROM_END
-GAMEL( 1978, sstrangr, 0, sstrangr, sstrangr, sstrangr_state, 0, ROT270, "Yachiyo Electronics, Ltd.", "Space Stranger", GAME_NO_SOUND, layout_sstrangr )
-GAME( 1979, sstrangr2,sstrangr, sstrngr2, sstrngr2, sstrangr_state, 0, ROT270, "Yachiyo Electronics, Ltd.", "Space Stranger 2", GAME_NO_SOUND )
+GAMEL( 1978, sstrangr, 0, sstrangr, sstrangr, driver_device, 0, ROT270, "Yachiyo Electronics, Ltd.", "Space Stranger", GAME_NO_SOUND, layout_sstrangr )
+GAME( 1979, sstrangr2,sstrangr, sstrngr2, sstrngr2, driver_device, 0, ROT270, "Yachiyo Electronics, Ltd.", "Space Stranger 2", GAME_NO_SOUND )
diff --git a/src/mame/drivers/ssv.c b/src/mame/drivers/ssv.c
index a38813d959a..a5a78f13bfc 100644
--- a/src/mame/drivers/ssv.c
+++ b/src/mame/drivers/ssv.c
@@ -2543,7 +2543,7 @@ static void init_ssv(running_machine &machine, int interrupt_ultrax)
state->m_interrupt_ultrax = interrupt_ultrax;
}
-static void init_hypreac2(running_machine &machine)
+static void init_hypreac2_common(running_machine &machine)
{
ssv_state *state = machine.driver_data<ssv_state>();
int i;
@@ -2573,30 +2573,30 @@ static void init_st010(running_machine &machine)
}
}
-static DRIVER_INIT( drifto94 ) { init_ssv(machine, 0); init_st010(machine); }
-static DRIVER_INIT( eaglshot ) { init_ssv(machine, 0); init_hypreac2(machine); }
-static DRIVER_INIT( gdfs ) { init_ssv(machine, 0); }
-static DRIVER_INIT( hypreact ) { init_ssv(machine, 0); }
-static DRIVER_INIT( hypreac2 ) { init_ssv(machine, 0); init_hypreac2(machine); }
-static DRIVER_INIT( janjans1 ) { init_ssv(machine, 0); }
-static DRIVER_INIT( keithlcy ) { init_ssv(machine, 0); }
-static DRIVER_INIT( meosism ) { init_ssv(machine, 0); }
-static DRIVER_INIT( mslider ) { init_ssv(machine, 0); }
-static DRIVER_INIT( ryorioh ) { init_ssv(machine, 0); }
-static DRIVER_INIT( srmp4 ) { init_ssv(machine, 0);
-// ((UINT16 *)machine.root_device().memregion("user1")->base())[0x2b38/2] = 0x037a; /* patch to see gal test mode */
-}
-static DRIVER_INIT( srmp7 ) { init_ssv(machine, 0); }
-static DRIVER_INIT( stmblade ) { init_ssv(machine, 0); init_st010(machine); }
-static DRIVER_INIT( survarts ) { init_ssv(machine, 0); }
-static DRIVER_INIT( dynagear ) { init_ssv(machine, 0); }
-static DRIVER_INIT( sxyreact ) { init_ssv(machine, 0); init_hypreac2(machine); }
-static DRIVER_INIT( cairblad ) { init_ssv(machine, 0); init_hypreac2(machine); }
-static DRIVER_INIT( sxyreac2 ) { init_ssv(machine, 0); init_hypreac2(machine); }
-static DRIVER_INIT( twineag2 ) { init_ssv(machine, 1); init_st010(machine); }
-static DRIVER_INIT( ultrax ) { init_ssv(machine, 1); }
-static DRIVER_INIT( vasara ) { init_ssv(machine, 0); }
-static DRIVER_INIT( jsk ) { init_ssv(machine, 0); }
+DRIVER_INIT_MEMBER(ssv_state,drifto94) { init_ssv(machine(), 0); init_st010(machine()); }
+DRIVER_INIT_MEMBER(ssv_state,eaglshot) { init_ssv(machine(), 0); init_hypreac2_common(machine()); }
+DRIVER_INIT_MEMBER(ssv_state,gdfs) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,hypreact) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,hypreac2) { init_ssv(machine(), 0); init_hypreac2_common(machine()); }
+DRIVER_INIT_MEMBER(ssv_state,janjans1) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,keithlcy) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,meosism) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,mslider) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,ryorioh) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,srmp4) { init_ssv(machine(), 0);
+// ((UINT16 *)machine().root_device().memregion("user1")->base())[0x2b38/2] = 0x037a; /* patch to see gal test mode */
+}
+DRIVER_INIT_MEMBER(ssv_state,srmp7) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,stmblade) { init_ssv(machine(), 0); init_st010(machine()); }
+DRIVER_INIT_MEMBER(ssv_state,survarts) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,dynagear) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,sxyreact) { init_ssv(machine(), 0); init_hypreac2_common(machine()); }
+DRIVER_INIT_MEMBER(ssv_state,cairblad) { init_ssv(machine(), 0); init_hypreac2_common(machine()); }
+DRIVER_INIT_MEMBER(ssv_state,sxyreac2) { init_ssv(machine(), 0); init_hypreac2_common(machine()); }
+DRIVER_INIT_MEMBER(ssv_state,twineag2) { init_ssv(machine(), 1); init_st010(machine()); }
+DRIVER_INIT_MEMBER(ssv_state,ultrax) { init_ssv(machine(), 1); }
+DRIVER_INIT_MEMBER(ssv_state,vasara) { init_ssv(machine(), 0); }
+DRIVER_INIT_MEMBER(ssv_state,jsk) { init_ssv(machine(), 0); }
static MACHINE_CONFIG_START( ssv, ssv_state )
diff --git a/src/mame/drivers/st0016.c b/src/mame/drivers/st0016.c
index 8bf95f9d7ee..915f68ee346 100644
--- a/src/mame/drivers/st0016.c
+++ b/src/mame/drivers/st0016.c
@@ -660,26 +660,26 @@ ROM_END
*
*************************************/
-static DRIVER_INIT(renju)
+DRIVER_INIT_MEMBER(st0016_state,renju)
{
st0016_game=0;
}
-static DRIVER_INIT(nratechu)
+DRIVER_INIT_MEMBER(st0016_state,nratechu)
{
st0016_game=1;
}
-static DRIVER_INIT(mayjinsn)
+DRIVER_INIT_MEMBER(st0016_state,mayjinsn)
{
st0016_game=4;//|0x80;
- machine.root_device().membank("bank2")->set_base(machine.root_device().memregion("user1")->base());
+ machine().root_device().membank("bank2")->set_base(machine().root_device().memregion("user1")->base());
}
-static DRIVER_INIT(mayjisn2)
+DRIVER_INIT_MEMBER(st0016_state,mayjisn2)
{
st0016_game=4;
- machine.root_device().membank("bank2")->set_base(machine.root_device().memregion("user1")->base());
+ machine().root_device().membank("bank2")->set_base(machine().root_device().memregion("user1")->base());
}
/*************************************
diff --git a/src/mame/drivers/st_mp100.c b/src/mame/drivers/st_mp100.c
index 8d1e39f7a5a..597f14583aa 100644
--- a/src/mame/drivers/st_mp100.c
+++ b/src/mame/drivers/st_mp100.c
@@ -22,6 +22,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(st_mp100);
};
@@ -36,7 +38,7 @@ void st_mp100_state::machine_reset()
{
}
-static DRIVER_INIT( st_mp100 )
+DRIVER_INIT_MEMBER(st_mp100_state,st_mp100)
{
}
diff --git a/src/mame/drivers/st_mp200.c b/src/mame/drivers/st_mp200.c
index 3eb51acdca9..6146fe62f5c 100644
--- a/src/mame/drivers/st_mp200.c
+++ b/src/mame/drivers/st_mp200.c
@@ -22,6 +22,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(st_mp200);
};
@@ -36,7 +38,7 @@ void st_mp200_state::machine_reset()
{
}
-static DRIVER_INIT( st_mp200 )
+DRIVER_INIT_MEMBER(st_mp200_state,st_mp200)
{
}
diff --git a/src/mame/drivers/stactics.c b/src/mame/drivers/stactics.c
index 4c412da9075..787b491b2e6 100644
--- a/src/mame/drivers/stactics.c
+++ b/src/mame/drivers/stactics.c
@@ -350,4 +350,4 @@ ROM_END
*
*************************************/
-GAMEL( 1981, stactics, 0, stactics, stactics, stactics_state, 0, ORIENTATION_FLIP_X, "Sega", "Space Tactics", GAME_NO_SOUND, layout_stactics )
+GAMEL( 1981, stactics, 0, stactics, stactics, driver_device, 0, ORIENTATION_FLIP_X, "Sega", "Space Tactics", GAME_NO_SOUND, layout_stactics )
diff --git a/src/mame/drivers/stadhero.c b/src/mame/drivers/stadhero.c
index 49d9d3f9993..edb223d09fd 100644
--- a/src/mame/drivers/stadhero.c
+++ b/src/mame/drivers/stadhero.c
@@ -293,4 +293,4 @@ ROM_END
/******************************************************************************/
-GAME( 1988, stadhero, 0, stadhero, stadhero, stadhero_state, 0, ROT0, "Data East Corporation", "Stadium Hero (Japan)", 0 )
+GAME( 1988, stadhero, 0, stadhero, stadhero, driver_device, 0, ROT0, "Data East Corporation", "Stadium Hero (Japan)", 0 )
diff --git a/src/mame/drivers/starcrus.c b/src/mame/drivers/starcrus.c
index fffff6f189f..f8d9766c8e9 100644
--- a/src/mame/drivers/starcrus.c
+++ b/src/mame/drivers/starcrus.c
@@ -192,5 +192,5 @@ ROM_START( starcrus )
ROM_END
-GAME( 1977, starcrus, 0, starcrus, starcrus, starcrus_state, 0, ROT0, "RamTek", "Star Cruiser", GAME_IMPERFECT_SOUND )
+GAME( 1977, starcrus, 0, starcrus, starcrus, driver_device, 0, ROT0, "RamTek", "Star Cruiser", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/starfire.c b/src/mame/drivers/starfire.c
index ead7d437962..3ff56aa3288 100644
--- a/src/mame/drivers/starfire.c
+++ b/src/mame/drivers/starfire.c
@@ -370,21 +370,19 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( starfire )
+DRIVER_INIT_MEMBER(starfire_state,starfire)
{
- starfire_state *state = machine.driver_data<starfire_state>();
- state->m_input_read = read8_delegate(FUNC(starfire_state::starfire_input_r),state);
+ m_input_read = read8_delegate(FUNC(starfire_state::starfire_input_r),this);
}
-static DRIVER_INIT( fireone )
+DRIVER_INIT_MEMBER(starfire_state,fireone)
{
- starfire_state *state = machine.driver_data<starfire_state>();
- state->m_input_read = read8_delegate(FUNC(starfire_state::fireone_input_r),state);
+ m_input_read = read8_delegate(FUNC(starfire_state::fireone_input_r),this);
/* register for state saving */
- state->save_item(NAME(state->m_fireone_select));
+ save_item(NAME(m_fireone_select));
}
diff --git a/src/mame/drivers/starshp1.c b/src/mame/drivers/starshp1.c
index 18d1b779bc9..fea7e76d84a 100644
--- a/src/mame/drivers/starshp1.c
+++ b/src/mame/drivers/starshp1.c
@@ -393,5 +393,5 @@ ROM_START( starshpp )
ROM_END
-GAME( 1977, starshp1, 0, starshp1, starshp1, starshp1_state, 0, ORIENTATION_FLIP_X, "Atari", "Starship 1", GAME_IMPERFECT_SOUND )
-GAME( 1977, starshpp, starshp1, starshp1, starshp1, starshp1_state, 0, ORIENTATION_FLIP_X, "Atari", "Starship 1 (prototype?)", GAME_IMPERFECT_SOUND )
+GAME( 1977, starshp1, 0, starshp1, starshp1, driver_device, 0, ORIENTATION_FLIP_X, "Atari", "Starship 1", GAME_IMPERFECT_SOUND )
+GAME( 1977, starshpp, starshp1, starshp1, starshp1, driver_device, 0, ORIENTATION_FLIP_X, "Atari", "Starship 1 (prototype?)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/starwars.c b/src/mame/drivers/starwars.c
index 1a44200c163..8c8370570f6 100644
--- a/src/mame/drivers/starwars.c
+++ b/src/mame/drivers/starwars.c
@@ -494,53 +494,51 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( starwars )
+DRIVER_INIT_MEMBER(starwars_state,starwars)
{
- starwars_state *state = machine.driver_data<starwars_state>();
/* prepare the mathbox */
- state->m_is_esb = 0;
- starwars_mproc_init(machine);
+ m_is_esb = 0;
+ starwars_mproc_init(machine());
/* initialize banking */
- state->membank("bank1")->configure_entries(0, 2, state->memregion("maincpu")->base() + 0x6000, 0x10000 - 0x6000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x6000, 0x10000 - 0x6000);
+ membank("bank1")->set_entry(0);
}
-static DRIVER_INIT( esb )
+DRIVER_INIT_MEMBER(starwars_state,esb)
{
- starwars_state *state = machine.driver_data<starwars_state>();
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
/* init the slapstic */
- slapstic_init(machine, 101);
- state->m_slapstic_source = &rom[0x14000];
- state->m_slapstic_base = &rom[0x08000];
+ slapstic_init(machine(), 101);
+ m_slapstic_source = &rom[0x14000];
+ m_slapstic_base = &rom[0x08000];
/* install an opcode base handler */
- address_space *space = machine.device<m6809_device>("maincpu")->space(AS_PROGRAM);
- space->set_direct_update_handler(direct_update_delegate(FUNC(starwars_state::esb_setdirect), state));
+ address_space *space = machine().device<m6809_device>("maincpu")->space(AS_PROGRAM);
+ space->set_direct_update_handler(direct_update_delegate(FUNC(starwars_state::esb_setdirect), this));
/* install read/write handlers for it */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x8000, 0x9fff, read8_delegate(FUNC(starwars_state::esb_slapstic_r),state), write8_delegate(FUNC(starwars_state::esb_slapstic_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x8000, 0x9fff, read8_delegate(FUNC(starwars_state::esb_slapstic_r),this), write8_delegate(FUNC(starwars_state::esb_slapstic_w),this));
/* install additional banking */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xa000, 0xffff, "bank2");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xa000, 0xffff, "bank2");
/* prepare the matrix processor */
- state->m_is_esb = 1;
- starwars_mproc_init(machine);
+ m_is_esb = 1;
+ starwars_mproc_init(machine());
/* initialize banking */
- state->membank("bank1")->configure_entries(0, 2, rom + 0x6000, 0x10000 - 0x6000);
- state->membank("bank1")->set_entry(0);
- state->membank("bank2")->configure_entries(0, 2, rom + 0xa000, 0x1c000 - 0xa000);
- state->membank("bank2")->set_entry(0);
+ membank("bank1")->configure_entries(0, 2, rom + 0x6000, 0x10000 - 0x6000);
+ membank("bank1")->set_entry(0);
+ membank("bank2")->configure_entries(0, 2, rom + 0xa000, 0x1c000 - 0xa000);
+ membank("bank2")->set_entry(0);
/* additional globals for state saving */
- state->save_item(NAME(state->m_slapstic_current_bank));
- state->save_item(NAME(state->m_slapstic_last_pc));
- state->save_item(NAME(state->m_slapstic_last_address));
+ save_item(NAME(m_slapstic_current_bank));
+ save_item(NAME(m_slapstic_last_pc));
+ save_item(NAME(m_slapstic_last_address));
}
diff --git a/src/mame/drivers/statriv2.c b/src/mame/drivers/statriv2.c
index 16e8bb4b75a..f7b523d4ae9 100644
--- a/src/mame/drivers/statriv2.c
+++ b/src/mame/drivers/statriv2.c
@@ -98,6 +98,12 @@ public:
DECLARE_WRITE8_MEMBER(laserdisc_io_w);
DECLARE_CUSTOM_INPUT_MEMBER(latched_coin_r);
DECLARE_WRITE8_MEMBER(ppi_portc_hi_w);
+ DECLARE_DRIVER_INIT(addr_xlh);
+ DECLARE_DRIVER_INIT(addr_lhx);
+ DECLARE_DRIVER_INIT(addr_lmh);
+ DECLARE_DRIVER_INIT(addr_lmhe);
+ DECLARE_DRIVER_INIT(addr_xhl);
+ DECLARE_DRIVER_INIT(laserdisc);
};
@@ -1001,42 +1007,38 @@ ROM_END
*************************************/
/* question address is stored as L/H/X (low/high/don't care) */
-static DRIVER_INIT( addr_lhx )
+DRIVER_INIT_MEMBER(statriv2_state,addr_lhx)
{
- statriv2_state *state = machine.driver_data<statriv2_state>();
- state->m_question_offset_low = 0;
- state->m_question_offset_mid = 1;
- state->m_question_offset_high = 0xff;
+ m_question_offset_low = 0;
+ m_question_offset_mid = 1;
+ m_question_offset_high = 0xff;
}
/* question address is stored as X/L/H (don't care/low/high) */
-static DRIVER_INIT( addr_xlh )
+DRIVER_INIT_MEMBER(statriv2_state,addr_xlh)
{
- statriv2_state *state = machine.driver_data<statriv2_state>();
- state->m_question_offset_low = 1;
- state->m_question_offset_mid = 2;
- state->m_question_offset_high = 0xff;
+ m_question_offset_low = 1;
+ m_question_offset_mid = 2;
+ m_question_offset_high = 0xff;
}
/* question address is stored as X/H/L (don't care/high/low) */
-static DRIVER_INIT( addr_xhl )
+DRIVER_INIT_MEMBER(statriv2_state,addr_xhl)
{
- statriv2_state *state = machine.driver_data<statriv2_state>();
- state->m_question_offset_low = 2;
- state->m_question_offset_mid = 1;
- state->m_question_offset_high = 0xff;
+ m_question_offset_low = 2;
+ m_question_offset_mid = 1;
+ m_question_offset_high = 0xff;
}
/* question address is stored as L/M/H (low/mid/high) */
-static DRIVER_INIT( addr_lmh )
+DRIVER_INIT_MEMBER(statriv2_state,addr_lmh)
{
- statriv2_state *state = machine.driver_data<statriv2_state>();
- state->m_question_offset_low = 0;
- state->m_question_offset_mid = 1;
- state->m_question_offset_high = 2;
+ m_question_offset_low = 0;
+ m_question_offset_mid = 1;
+ m_question_offset_high = 2;
}
-static DRIVER_INIT( addr_lmhe )
+DRIVER_INIT_MEMBER(statriv2_state,addr_lmhe)
{
/***************************************************\
* *
@@ -1100,8 +1102,8 @@ static DRIVER_INIT( addr_lmhe )
* *
\***************************************************/
- UINT8 *qrom = machine.root_device().memregion("questions")->base();
- UINT32 length = machine.root_device().memregion("questions")->bytes();
+ UINT8 *qrom = machine().root_device().memregion("questions")->base();
+ UINT32 length = machine().root_device().memregion("questions")->bytes();
UINT32 address;
for (address = 0; address < length; address++)
@@ -1125,11 +1127,10 @@ WRITE8_MEMBER(statriv2_state::laserdisc_io_w)
mame_printf_debug("%s:ld write ($%02X) = %02X\n", machine().describe_context(), 0x28 + offset, data);
}
-static DRIVER_INIT( laserdisc )
+DRIVER_INIT_MEMBER(statriv2_state,laserdisc)
{
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
- statriv2_state *state = machine.driver_data<statriv2_state>();
- iospace->install_readwrite_handler(0x28, 0x2b, read8_delegate(FUNC(statriv2_state::laserdisc_io_r), state), write8_delegate(FUNC(statriv2_state::laserdisc_io_w), state));
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
+ iospace->install_readwrite_handler(0x28, 0x2b, read8_delegate(FUNC(statriv2_state::laserdisc_io_r), this), write8_delegate(FUNC(statriv2_state::laserdisc_io_w), this));
}
@@ -1140,9 +1141,9 @@ static DRIVER_INIT( laserdisc )
*
*************************************/
-GAME( 1981, statusbj, 0, statriv2, statusbj, statriv2_state, 0, ROT0, "Status Games", "Status Black Jack (V1.0c)", GAME_SUPPORTS_SAVE )
-GAME( 1981, funcsino, 0, funcsino, funcsino, statriv2_state, 0, ROT0, "Status Games", "Status Fun Casino (V1.3s)", GAME_SUPPORTS_SAVE )
-GAME( 1981, tripdraw, 0, statriv2, funcsino, statriv2_state, 0, ROT0, "Status Games", "Tripple Draw (V3.1 s)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+GAME( 1981, statusbj, 0, statriv2, statusbj, driver_device, 0, ROT0, "Status Games", "Status Black Jack (V1.0c)", GAME_SUPPORTS_SAVE )
+GAME( 1981, funcsino, 0, funcsino, funcsino, driver_device, 0, ROT0, "Status Games", "Status Fun Casino (V1.3s)", GAME_SUPPORTS_SAVE )
+GAME( 1981, tripdraw, 0, statriv2, funcsino, driver_device, 0, ROT0, "Status Games", "Tripple Draw (V3.1 s)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
GAME( 1984, hangman, 0, statriv2, hangman, statriv2_state, addr_lmh, ROT0, "Status Games", "Hangman", GAME_SUPPORTS_SAVE )
GAME( 1984, trivquiz, 0, statriv2, statriv2, statriv2_state, addr_lhx, ROT0, "Status Games", "Triv Quiz", GAME_SUPPORTS_SAVE )
GAME( 1984, statriv2, 0, statriv2, statriv2, statriv2_state, addr_xlh, ROT0, "Status Games", "Triv Two", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/stellafr.c b/src/mame/drivers/stellafr.c
index 85c5f8976e8..4a666b0a8c1 100644
--- a/src/mame/drivers/stellafr.c
+++ b/src/mame/drivers/stellafr.c
@@ -58,5 +58,5 @@ ROM_START( st_vulkn )
ROM_END
-GAME(199?, st_ohla, 0, stellafr, stellafr, stellafr_state, 0, ROT0, "Stella", "Oh La La (Stella)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, st_vulkn, 0, stellafr, stellafr, stellafr_state, 0, ROT0, "Stella", "Vulkan (Stella)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, st_ohla, 0, stellafr, stellafr, driver_device, 0, ROT0, "Stella", "Oh La La (Stella)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, st_vulkn, 0, stellafr, stellafr, driver_device, 0, ROT0, "Stella", "Vulkan (Stella)", GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/stlforce.c b/src/mame/drivers/stlforce.c
index 9152ccf24db..398e55d8827 100644
--- a/src/mame/drivers/stlforce.c
+++ b/src/mame/drivers/stlforce.c
@@ -362,18 +362,16 @@ ROM_START( twinbrata )
ROM_LOAD( "eeprom-twinbrat.bin", 0x0000, 0x0080, CRC(9366263d) SHA1(ff5155498ed0b349ecc1ce98a39566b642201cf2) )
ROM_END
-static DRIVER_INIT(stlforce)
+DRIVER_INIT_MEMBER(stlforce_state,stlforce)
{
- stlforce_state *state = machine.driver_data<stlforce_state>();
- state->m_sprxoffs = 0;
+ m_sprxoffs = 0;
}
-static DRIVER_INIT(twinbrat)
+DRIVER_INIT_MEMBER(stlforce_state,twinbrat)
{
- stlforce_state *state = machine.driver_data<stlforce_state>();
- state->m_sprxoffs = 9;
+ m_sprxoffs = 9;
}
diff --git a/src/mame/drivers/strnskil.c b/src/mame/drivers/strnskil.c
index c7c1b9cf8a5..2905cbf264f 100644
--- a/src/mame/drivers/strnskil.c
+++ b/src/mame/drivers/strnskil.c
@@ -516,28 +516,26 @@ ROM_START( banbam )
ROM_LOAD( "sun-8212.ic3", 0x000, 0x800, BAD_DUMP CRC(8869611e) SHA1(c6443f3bcb0cdb4d7b1b19afcbfe339c300f36aa) )
ROM_END
-static DRIVER_INIT( pettanp )
+DRIVER_INIT_MEMBER(strnskil_state,pettanp)
{
// AM_RANGE(0xd80c, 0xd80c) AM_WRITENOP /* protection reset? */
// AM_RANGE(0xd80d, 0xd80d) AM_WRITE(protection_w) /* protection data write (pettanp) */
// AM_RANGE(0xd806, 0xd806) AM_READ_LEGACY(protection_r) /* protection data read (pettanp) */
/* Fujitsu MB8841 4-Bit MCU */
- strnskil_state *state = machine.driver_data<strnskil_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd806, 0xd806, read8_delegate(FUNC(strnskil_state::pettanp_protection_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd80d, 0xd80d, write8_delegate(FUNC(strnskil_state::protection_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd806, 0xd806, read8_delegate(FUNC(strnskil_state::pettanp_protection_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd80d, 0xd80d, write8_delegate(FUNC(strnskil_state::protection_w),this));
}
-static DRIVER_INIT( banbam )
+DRIVER_INIT_MEMBER(strnskil_state,banbam)
{
/* Fujitsu MB8841 4-Bit MCU */
- strnskil_state *state = machine.driver_data<strnskil_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd806, 0xd806, read8_delegate(FUNC(strnskil_state::banbam_protection_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd80d, 0xd80d, write8_delegate(FUNC(strnskil_state::protection_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd806, 0xd806, read8_delegate(FUNC(strnskil_state::banbam_protection_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd80d, 0xd80d, write8_delegate(FUNC(strnskil_state::protection_w),this));
}
-GAME( 1984, strnskil, 0, strnskil, strnskil, strnskil_state, 0, ROT0, "Sun Electronics", "Strength & Skill", 0 )
-GAME( 1984, guiness, strnskil, strnskil, strnskil, strnskil_state, 0, ROT0, "Sun Electronics", "The Guiness (Japan)", 0 )
+GAME( 1984, strnskil, 0, strnskil, strnskil, driver_device, 0, ROT0, "Sun Electronics", "Strength & Skill", 0 )
+GAME( 1984, guiness, strnskil, strnskil, strnskil, driver_device, 0, ROT0, "Sun Electronics", "The Guiness (Japan)", 0 )
GAME( 1984, banbam, 0, banbam, banbam, strnskil_state, banbam, ROT0, "Sun Electronics", "BanBam", GAME_UNEMULATED_PROTECTION )
GAME( 1984, pettanp, banbam, strnskil, banbam, strnskil_state, pettanp, ROT0, "Sun Electronics", "Pettan Pyuu (Japan)", GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/stv.c b/src/mame/drivers/stv.c
index da3bf9d3b44..94363c5f5b7 100644
--- a/src/mame/drivers/stv.c
+++ b/src/mame/drivers/stv.c
@@ -319,43 +319,41 @@ void install_stvbios_speedups(running_machine &machine)
sh2drc_add_pcflush(machine.device("slave"), 0x6013aee);
}
-DRIVER_INIT( stv )
+DRIVER_INIT_MEMBER(saturn_state,stv)
{
- saturn_state *state = machine.driver_data<saturn_state>();
system_time systime;
- machine.base_datetime(systime);
+ machine().base_datetime(systime);
/* amount of time to boost interleave for on MINIT / SINIT, needed for communication to work */
- state->m_minit_boost = 400;
- state->m_sinit_boost = 400;
- state->m_minit_boost_timeslice = attotime::zero;
- state->m_sinit_boost_timeslice = attotime::zero;
+ m_minit_boost = 400;
+ m_sinit_boost = 400;
+ m_minit_boost_timeslice = attotime::zero;
+ m_sinit_boost_timeslice = attotime::zero;
- state->m_scu_regs = auto_alloc_array(machine, UINT32, 0x100/4);
- state->m_scsp_regs = auto_alloc_array(machine, UINT16, 0x1000/2);
- state->m_backupram = auto_alloc_array_clear(machine, UINT8, 0x8000);
+ m_scu_regs = auto_alloc_array(machine(), UINT32, 0x100/4);
+ m_scsp_regs = auto_alloc_array(machine(), UINT16, 0x1000/2);
+ m_backupram = auto_alloc_array_clear(machine(), UINT8, 0x8000);
- install_stvbios_speedups(machine);
+ install_stvbios_speedups(machine());
// do strict overwrite verification - maruchan and rsgun crash after coinup without this.
// cottonbm needs strict PCREL
// todo: test what games need this and don't turn it on for them...
- sh2drc_set_options(machine.device("maincpu"), SH2DRC_STRICT_VERIFY|SH2DRC_STRICT_PCREL);
- sh2drc_set_options(machine.device("slave"), SH2DRC_STRICT_VERIFY|SH2DRC_STRICT_PCREL);
+ sh2drc_set_options(machine().device("maincpu"), SH2DRC_STRICT_VERIFY|SH2DRC_STRICT_PCREL);
+ sh2drc_set_options(machine().device("slave"), SH2DRC_STRICT_VERIFY|SH2DRC_STRICT_PCREL);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::stv_ioga_r32),state), write32_delegate(FUNC(saturn_state::stv_ioga_w32),state));
- machine.device("slave")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::stv_ioga_r32),state), write32_delegate(FUNC(saturn_state::stv_ioga_w32),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::stv_ioga_r32),this), write32_delegate(FUNC(saturn_state::stv_ioga_w32),this));
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::stv_ioga_r32),this), write32_delegate(FUNC(saturn_state::stv_ioga_w32),this));
- state->m_vdp2.pal = 0;
+ m_vdp2.pal = 0;
}
-DRIVER_INIT(critcrsh)
+DRIVER_INIT_MEMBER(saturn_state,critcrsh)
{
DRIVER_INIT_CALL(stv);
- saturn_state *state = machine.driver_data<saturn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::critcrsh_ioga_r32),state), write32_delegate(FUNC(saturn_state::stv_ioga_w32),state));
- machine.device("slave")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::critcrsh_ioga_r32),state), write32_delegate(FUNC(saturn_state::stv_ioga_w32),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::critcrsh_ioga_r32),this), write32_delegate(FUNC(saturn_state::stv_ioga_w32),this));
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::critcrsh_ioga_r32),this), write32_delegate(FUNC(saturn_state::stv_ioga_w32),this));
}
/*
@@ -384,24 +382,23 @@ READ32_MEMBER(saturn_state::magzun_rx_hack_r)
return m_workram_h[0x0ff3b4/4];
}
-DRIVER_INIT(magzun)
+DRIVER_INIT_MEMBER(saturn_state,magzun)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x604bf20);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x604bfbe);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x604c006);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x604bf20);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x604bfbe);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x604c006);
DRIVER_INIT_CALL(stv);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::magzun_ioga_r32),state), write32_delegate(FUNC(saturn_state::magzun_ioga_w32),state));
- machine.device("slave")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::magzun_ioga_r32),state), write32_delegate(FUNC(saturn_state::magzun_ioga_w32),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::magzun_ioga_r32),this), write32_delegate(FUNC(saturn_state::magzun_ioga_w32),this));
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::magzun_ioga_r32),this), write32_delegate(FUNC(saturn_state::magzun_ioga_w32),this));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x608e830, 0x608e833, read32_delegate(FUNC(saturn_state::magzun_hef_hack_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60ff3b4, 0x60ff3b7, read32_delegate(FUNC(saturn_state::magzun_rx_hack_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x608e830, 0x608e833, read32_delegate(FUNC(saturn_state::magzun_hef_hack_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60ff3b4, 0x60ff3b7, read32_delegate(FUNC(saturn_state::magzun_rx_hack_r),this));
/* Program ROM patches, don't understand how to avoid these two checks ... */
{
- UINT32 *ROM = (UINT32 *)state->memregion("game0")->base();
+ UINT32 *ROM = (UINT32 *)memregion("game0")->base();
ROM[0x90054/4] = 0x00e00001; // END error
@@ -410,26 +407,25 @@ DRIVER_INIT(magzun)
}
-DRIVER_INIT(stvmp)
+DRIVER_INIT_MEMBER(saturn_state,stvmp)
{
DRIVER_INIT_CALL(stv);
- saturn_state *state = machine.driver_data<saturn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::stvmp_ioga_r32),state), write32_delegate(FUNC(saturn_state::stvmp_ioga_w32),state));
- machine.device("slave")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::stvmp_ioga_r32),state), write32_delegate(FUNC(saturn_state::stvmp_ioga_w32),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::stvmp_ioga_r32),this), write32_delegate(FUNC(saturn_state::stvmp_ioga_w32),this));
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(saturn_state::stvmp_ioga_r32),this), write32_delegate(FUNC(saturn_state::stvmp_ioga_w32),this));
}
-DRIVER_INIT(shienryu)
+DRIVER_INIT_MEMBER(saturn_state,shienryu)
{
// master
- sh2drc_add_pcflush(machine.device("maincpu"), 0x60041c6);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x60041c6);
// slave
- sh2drc_add_pcflush(machine.device("slave"), 0x600440e);
+ sh2drc_add_pcflush(machine().device("slave"), 0x600440e);
DRIVER_INIT_CALL(stv);
}
-DRIVER_INIT(prikura)
+DRIVER_INIT_MEMBER(saturn_state,prikura)
{
/*
06018640: MOV.B @R14,R0 // 60b9228
@@ -438,20 +434,19 @@ DRIVER_INIT(prikura)
(loops for 263473 instructions)
*/
- saturn_state *state = machine.driver_data<saturn_state>();
// master
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6018640);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6018640);
// slave
- sh2drc_add_pcflush(machine.device("slave"), 0x6018c6e);
+ sh2drc_add_pcflush(machine().device("slave"), 0x6018c6e);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost = state->m_sinit_boost = 0;
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost = m_sinit_boost = 0;
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT(hanagumi)
+DRIVER_INIT_MEMBER(saturn_state,hanagumi)
{
/*
06013E1E: NOP
@@ -470,7 +465,7 @@ DRIVER_INIT(hanagumi)
(loops for 288688 instructions)
*/
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6010160);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6010160);
DRIVER_INIT_CALL(stv);
}
@@ -494,18 +489,17 @@ CPU0: Aids Screen
*/
-DRIVER_INIT(puyosun)
+DRIVER_INIT_MEMBER(saturn_state,puyosun)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6021cf0);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6021cf0);
- sh2drc_add_pcflush(machine.device("slave"), 0x60236fe);
+ sh2drc_add_pcflush(machine().device("slave"), 0x60236fe);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost = state->m_sinit_boost = 0;
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost = m_sinit_boost = 0;
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
/* mausuke
@@ -518,123 +512,116 @@ CPU0 Data East Logo:
*/
-DRIVER_INIT(mausuke)
+DRIVER_INIT_MEMBER(saturn_state,mausuke)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x60461A0);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x60461A0);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost = state->m_sinit_boost = 0;
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost = m_sinit_boost = 0;
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT(cottonbm)
+DRIVER_INIT_MEMBER(saturn_state,cottonbm)
{
- saturn_state *state = machine.driver_data<saturn_state>();
-// sh2drc_add_pcflush(machine.device("maincpu"), 0x6030ee2);
-// sh2drc_add_pcflush(machine.device("slave"), 0x6032b52);
+// sh2drc_add_pcflush(machine().device("maincpu"), 0x6030ee2);
+// sh2drc_add_pcflush(machine().device("slave"), 0x6032b52);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(10);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(10);
}
-DRIVER_INIT(cotton2)
+DRIVER_INIT_MEMBER(saturn_state,cotton2)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6031c7a);
- sh2drc_add_pcflush(machine.device("slave"), 0x60338ea);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6031c7a);
+ sh2drc_add_pcflush(machine().device("slave"), 0x60338ea);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT(dnmtdeka)
+DRIVER_INIT_MEMBER(saturn_state,dnmtdeka)
{
// install all 3 speedups on both master and slave
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6027c90);
- sh2drc_add_pcflush(machine.device("maincpu"), 0xd04);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x60051f2);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6027c90);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0xd04);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x60051f2);
- sh2drc_add_pcflush(machine.device("slave"), 0x6027c90);
- sh2drc_add_pcflush(machine.device("slave"), 0xd04);
- sh2drc_add_pcflush(machine.device("slave"), 0x60051f2);
+ sh2drc_add_pcflush(machine().device("slave"), 0x6027c90);
+ sh2drc_add_pcflush(machine().device("slave"), 0xd04);
+ sh2drc_add_pcflush(machine().device("slave"), 0x60051f2);
DRIVER_INIT_CALL(stv);
}
-DRIVER_INIT(diehard)
+DRIVER_INIT_MEMBER(saturn_state,diehard)
{
// install all 3 speedups on both master and slave
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6027c98);
- sh2drc_add_pcflush(machine.device("maincpu"), 0xd04);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x60051f2);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6027c98);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0xd04);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x60051f2);
- sh2drc_add_pcflush(machine.device("slave"), 0x6027c98);
- sh2drc_add_pcflush(machine.device("slave"), 0xd04);
- sh2drc_add_pcflush(machine.device("slave"), 0x60051f2);
+ sh2drc_add_pcflush(machine().device("slave"), 0x6027c98);
+ sh2drc_add_pcflush(machine().device("slave"), 0xd04);
+ sh2drc_add_pcflush(machine().device("slave"), 0x60051f2);
DRIVER_INIT_CALL(stv);
}
-DRIVER_INIT(fhboxers)
+DRIVER_INIT_MEMBER(saturn_state,fhboxers)
{
-// saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x60041c2);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x600bb0a);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x600b31e);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x60041c2);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x600bb0a);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x600b31e);
DRIVER_INIT_CALL(stv);
-// state->m_instadma_hack = 1;
+// m_instadma_hack = 1;
}
-DRIVER_INIT( groovef )
+DRIVER_INIT_MEMBER(saturn_state,groovef)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6005e7c);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6005e86);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x60a4970);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6005e7c);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6005e86);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x60a4970);
- sh2drc_add_pcflush(machine.device("slave"), 0x60060c2);
+ sh2drc_add_pcflush(machine().device("slave"), 0x60060c2);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost = state->m_sinit_boost = 0;
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost = m_sinit_boost = 0;
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT( danchih )
+DRIVER_INIT_MEMBER(saturn_state,danchih)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6028b28);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6028c8e);
- sh2drc_add_pcflush(machine.device("slave"), 0x602ae26);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6028b28);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6028c8e);
+ sh2drc_add_pcflush(machine().device("slave"), 0x602ae26);
DRIVER_INIT_CALL(stvmp);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(5);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
}
-DRIVER_INIT( danchiq )
+DRIVER_INIT_MEMBER(saturn_state,danchiq)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6028b28);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6028c8e);
- sh2drc_add_pcflush(machine.device("slave"), 0x602ae26);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6028b28);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6028c8e);
+ sh2drc_add_pcflush(machine().device("slave"), 0x602ae26);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(5);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
}
/*
@@ -671,302 +658,281 @@ READ32_MEMBER(saturn_state::astrass_hack_r)
return m_workram_h[0x000770/4];
}
-DRIVER_INIT( astrass )
+DRIVER_INIT_MEMBER(saturn_state,astrass)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x60011ba);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x605b9da);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x60011ba);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x605b9da);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x06000770, 0x06000773, read32_delegate(FUNC(saturn_state::astrass_hack_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x06000770, 0x06000773, read32_delegate(FUNC(saturn_state::astrass_hack_r),this));
- install_astrass_protection(machine);
+ install_astrass_protection(machine());
DRIVER_INIT_CALL(stv);
}
-DRIVER_INIT(thunt)
+DRIVER_INIT_MEMBER(saturn_state,thunt)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x602A024);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6013EEA);
- sh2drc_add_pcflush(machine.device("slave"), 0x602AAF8);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x602A024);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6013EEA);
+ sh2drc_add_pcflush(machine().device("slave"), 0x602AAF8);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(1);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(1);
}
-DRIVER_INIT(sandor)
+DRIVER_INIT_MEMBER(saturn_state,sandor)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x602a0f8);
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6013fbe);
- sh2drc_add_pcflush(machine.device("slave"), 0x602abcc);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x602a0f8);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6013fbe);
+ sh2drc_add_pcflush(machine().device("slave"), 0x602abcc);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(1);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(1);
}
-DRIVER_INIT(grdforce)
+DRIVER_INIT_MEMBER(saturn_state,grdforce)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6041e32);
- sh2drc_add_pcflush(machine.device("slave"), 0x6043aa2);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6041e32);
+ sh2drc_add_pcflush(machine().device("slave"), 0x6043aa2);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT(batmanfr)
+DRIVER_INIT_MEMBER(saturn_state,batmanfr)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x60121c0);
- sh2drc_add_pcflush(machine.device("slave"), 0x60125bc);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x60121c0);
+ sh2drc_add_pcflush(machine().device("slave"), 0x60125bc);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost = state->m_sinit_boost = 0;
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost = m_sinit_boost = 0;
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT(colmns97)
+DRIVER_INIT_MEMBER(saturn_state,colmns97)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("slave"), 0x60298a2);
+ sh2drc_add_pcflush(machine().device("slave"), 0x60298a2);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost = state->m_sinit_boost = 0;
+ m_minit_boost = m_sinit_boost = 0;
}
-DRIVER_INIT(winterht)
+DRIVER_INIT_MEMBER(saturn_state,winterht)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6098aea);
- sh2drc_add_pcflush(machine.device("slave"), 0x609ae4e);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6098aea);
+ sh2drc_add_pcflush(machine().device("slave"), 0x609ae4e);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(2);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(2);
}
-DRIVER_INIT(seabass)
+DRIVER_INIT_MEMBER(saturn_state,seabass)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x602cbfa);
- sh2drc_add_pcflush(machine.device("slave"), 0x60321ee);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x602cbfa);
+ sh2drc_add_pcflush(machine().device("slave"), 0x60321ee);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(5);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
}
-DRIVER_INIT(vfremix)
+DRIVER_INIT_MEMBER(saturn_state,vfremix)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x602c30c);
- sh2drc_add_pcflush(machine.device("slave"), 0x604c332);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x602c30c);
+ sh2drc_add_pcflush(machine().device("slave"), 0x604c332);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(20);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(20);
}
-DRIVER_INIT(sss)
+DRIVER_INIT_MEMBER(saturn_state,sss)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6026398);
- sh2drc_add_pcflush(machine.device("slave"), 0x6028cd6);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6026398);
+ sh2drc_add_pcflush(machine().device("slave"), 0x6028cd6);
- install_sss_protection(machine);
+ install_sss_protection(machine());
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT(othellos)
+DRIVER_INIT_MEMBER(saturn_state,othellos)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x602bcbe);
- sh2drc_add_pcflush(machine.device("slave"), 0x602d92e);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x602bcbe);
+ sh2drc_add_pcflush(machine().device("slave"), 0x602d92e);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT(sasissu)
+DRIVER_INIT_MEMBER(saturn_state,sasissu)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("slave"), 0x60710be);
+ sh2drc_add_pcflush(machine().device("slave"), 0x60710be);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(2);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(2);
}
-DRIVER_INIT(gaxeduel)
+DRIVER_INIT_MEMBER(saturn_state,gaxeduel)
{
-// sh2drc_add_pcflush(machine.device("maincpu"), 0x6012ee4);
+// sh2drc_add_pcflush(machine().device("maincpu"), 0x6012ee4);
DRIVER_INIT_CALL(stv);
}
-DRIVER_INIT(suikoenb)
+DRIVER_INIT_MEMBER(saturn_state,suikoenb)
{
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6013f7a);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6013f7a);
DRIVER_INIT_CALL(stv);
}
-DRIVER_INIT(sokyugrt)
+DRIVER_INIT_MEMBER(saturn_state,sokyugrt)
{
- saturn_state *state = machine.driver_data<saturn_state>();
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT(znpwfv)
+DRIVER_INIT_MEMBER(saturn_state,znpwfv)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6012ec2);
- sh2drc_add_pcflush(machine.device("slave"), 0x60175a6);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6012ec2);
+ sh2drc_add_pcflush(machine().device("slave"), 0x60175a6);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_nsec(500);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_nsec(500);
}
-DRIVER_INIT(twcup98)
+DRIVER_INIT_MEMBER(saturn_state,twcup98)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x605edde);
- sh2drc_add_pcflush(machine.device("slave"), 0x6062bca);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x605edde);
+ sh2drc_add_pcflush(machine().device("slave"), 0x6062bca);
DRIVER_INIT_CALL(stv);
- install_twcup98_protection(machine);
+ install_twcup98_protection(machine());
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(5);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
}
-DRIVER_INIT(smleague)
+DRIVER_INIT_MEMBER(saturn_state,smleague)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6063bf4);
- sh2drc_add_pcflush(machine.device("slave"), 0x6062bca);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6063bf4);
+ sh2drc_add_pcflush(machine().device("slave"), 0x6062bca);
DRIVER_INIT_CALL(stv);
/* tight sync to avoid dead locks */
- state->m_minit_boost = state->m_sinit_boost = 0;
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(5000);
+ m_minit_boost = m_sinit_boost = 0;
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5000);
}
-DRIVER_INIT(finlarch)
+DRIVER_INIT_MEMBER(saturn_state,finlarch)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6064d60);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6064d60);
DRIVER_INIT_CALL(stv);
/* tight sync to avoid dead locks */
- state->m_minit_boost = state->m_sinit_boost = 0;
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(5000);
+ m_minit_boost = m_sinit_boost = 0;
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5000);
}
-DRIVER_INIT(maruchan)
+DRIVER_INIT_MEMBER(saturn_state,maruchan)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x601ba46);
- sh2drc_add_pcflush(machine.device("slave"), 0x601ba46);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x601ba46);
+ sh2drc_add_pcflush(machine().device("slave"), 0x601ba46);
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(50);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT(pblbeach)
+DRIVER_INIT_MEMBER(saturn_state,pblbeach)
{
- //saturn_state *state = machine.driver_data<saturn_state>();
- //sh2drc_add_pcflush(machine.device("maincpu"), 0x605eb78);
+ //sh2drc_add_pcflush(machine().device("maincpu"), 0x605eb78);
DRIVER_INIT_CALL(stv);
-// state->m_instadma_hack = 1;
+// m_instadma_hack = 1;
}
-DRIVER_INIT(shanhigw)
+DRIVER_INIT_MEMBER(saturn_state,shanhigw)
{
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6020c5c);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6020c5c);
DRIVER_INIT_CALL(stv);
}
-DRIVER_INIT(elandore)
+DRIVER_INIT_MEMBER(saturn_state,elandore)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x604eac0);
- sh2drc_add_pcflush(machine.device("slave"), 0x605340a);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x604eac0);
+ sh2drc_add_pcflush(machine().device("slave"), 0x605340a);
- install_elandore_protection(machine);
+ install_elandore_protection(machine());
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(0);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(0);
}
-DRIVER_INIT(rsgun)
+DRIVER_INIT_MEMBER(saturn_state,rsgun)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- sh2drc_add_pcflush(machine.device("maincpu"), 0x6034d04);
- sh2drc_add_pcflush(machine.device("slave"), 0x6036152);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x6034d04);
+ sh2drc_add_pcflush(machine().device("slave"), 0x6036152);
- install_rsgun_protection(machine);
+ install_rsgun_protection(machine());
DRIVER_INIT_CALL(stv);
- state->m_minit_boost_timeslice = state->m_sinit_boost_timeslice = attotime::from_usec(20);
+ m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(20);
}
-DRIVER_INIT(ffreveng)
+DRIVER_INIT_MEMBER(saturn_state,ffreveng)
{
- install_ffreveng_protection(machine);
+ install_ffreveng_protection(machine());
DRIVER_INIT_CALL(stv);
}
-DRIVER_INIT(decathlt)
+DRIVER_INIT_MEMBER(saturn_state,decathlt)
{
- install_decathlt_protection(machine);
+ install_decathlt_protection(machine());
DRIVER_INIT_CALL(stv);
}
-DRIVER_INIT(nameclv3)
+DRIVER_INIT_MEMBER(saturn_state,nameclv3)
{
- sh2drc_add_pcflush(machine.device("maincpu"), 0x601eb4c);
- sh2drc_add_pcflush(machine.device("slave"), 0x602b80e);
+ sh2drc_add_pcflush(machine().device("maincpu"), 0x601eb4c);
+ sh2drc_add_pcflush(machine().device("slave"), 0x602b80e);
DRIVER_INIT_CALL(stv);
}
@@ -1097,9 +1063,9 @@ by introdon in ST-V ("SG0000000"),and according to the manual it's even wrong! (
by Sega titles,and this is a Sunsoft game)It's likely to be a left-over...
*/
-static DRIVER_INIT( sanjeon )
+DRIVER_INIT_MEMBER(saturn_state,sanjeon)
{
- UINT8 *src = machine.root_device().memregion ( "game0" )->base();
+ UINT8 *src = machine().root_device().memregion ( "game0" )->base();
int x;
for (x=0;x<0x3000000;x++)
diff --git a/src/mame/drivers/su2000.c b/src/mame/drivers/su2000.c
index bd4b30d3549..f0dd716daac 100644
--- a/src/mame/drivers/su2000.c
+++ b/src/mame/drivers/su2000.c
@@ -447,4 +447,4 @@ ROM_START( su2000 )
*
*************************************/
-GAME( 1993, su2000, 0, su2000, pc_keyboard, su2000_state, 0, ROT0, "Virtuality", "SU2000", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1993, su2000, 0, su2000, pc_keyboard, driver_device, 0, ROT0, "Virtuality", "SU2000", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/sub.c b/src/mame/drivers/sub.c
index 245b1888a78..42a0d94115c 100644
--- a/src/mame/drivers/sub.c
+++ b/src/mame/drivers/sub.c
@@ -495,4 +495,4 @@ ROM_START( sub )
ROM_LOAD( "prom pos c8 n82s129", 0x0600, 0x100, CRC(351e1ef8) SHA1(530c9012ff5abda1c4ba9787ca999ca1ae1a893d) )
ROM_END
-GAME( 1985, sub, 0, sub, sub, sub_state, 0, ROT270, "Sigma Enterprises Inc.", "Submarine", GAME_NO_COCKTAIL )
+GAME( 1985, sub, 0, sub, sub, driver_device, 0, ROT270, "Sigma Enterprises Inc.", "Submarine", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/subs.c b/src/mame/drivers/subs.c
index 5afc899bc8c..299a51d6e83 100644
--- a/src/mame/drivers/subs.c
+++ b/src/mame/drivers/subs.c
@@ -247,4 +247,4 @@ ROM_END
*
*************************************/
-GAME( 1977, subs, 0, subs, subs, subs_state, 0, ROT0, "Atari", "Subs", GAME_IMPERFECT_SOUND )
+GAME( 1977, subs, 0, subs, subs, driver_device, 0, ROT0, "Atari", "Subs", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/subsino.c b/src/mame/drivers/subsino.c
index 720125f56c7..d5d57d866a4 100644
--- a/src/mame/drivers/subsino.c
+++ b/src/mame/drivers/subsino.c
@@ -282,6 +282,17 @@ public:
DECLARE_WRITE8_MEMBER(stisub_out_c_w);
DECLARE_WRITE8_MEMBER(reel_scrollattr_w);
DECLARE_READ8_MEMBER(reel_scrollattr_r);
+ DECLARE_DRIVER_INIT(stisub);
+ DECLARE_DRIVER_INIT(smoto20);
+ DECLARE_DRIVER_INIT(sharkpy);
+ DECLARE_DRIVER_INIT(smoto16);
+ DECLARE_DRIVER_INIT(crsbingo);
+ DECLARE_DRIVER_INIT(victor21);
+ DECLARE_DRIVER_INIT(victor5);
+ DECLARE_DRIVER_INIT(tisuba);
+ DECLARE_DRIVER_INIT(sharkpye);
+ DECLARE_DRIVER_INIT(tisub);
+ DECLARE_DRIVER_INIT(mtrainnv);
};
@@ -3360,9 +3371,9 @@ ROM_START( smoto16 )
ROM_LOAD( "prom-n82s129an.u13", 0x200, 0x100, CRC(9cb4a5c0) SHA1(0e0a368329c6d1cb685ed655d699a4894988fdb1) )
ROM_END
-static DRIVER_INIT( smoto16 )
+DRIVER_INIT_MEMBER(subsino_state,smoto16)
{
- UINT8 *rom = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *rom = machine().root_device().memregion( "maincpu" )->base();
rom[0x12d0] = 0x20; // "ERROR 951010"
}
@@ -3485,40 +3496,40 @@ ROM_END
* Driver Init / Decryption *
***************************************************************************/
-static DRIVER_INIT( victor5 )
+DRIVER_INIT_MEMBER(subsino_state,victor5)
{
- subsino_decrypt(machine, victor5_bitswaps, victor5_xors, 0xc000);
+ subsino_decrypt(machine(), victor5_bitswaps, victor5_xors, 0xc000);
}
-static DRIVER_INIT( victor21 )
+DRIVER_INIT_MEMBER(subsino_state,victor21)
{
- subsino_decrypt(machine, victor21_bitswaps, victor21_xors, 0xc000);
+ subsino_decrypt(machine(), victor21_bitswaps, victor21_xors, 0xc000);
}
-static DRIVER_INIT( crsbingo )
+DRIVER_INIT_MEMBER(subsino_state,crsbingo)
{
- subsino_decrypt(machine, crsbingo_bitswaps, crsbingo_xors, 0xc000);
+ subsino_decrypt(machine(), crsbingo_bitswaps, crsbingo_xors, 0xc000);
}
-static DRIVER_INIT( sharkpy )
+DRIVER_INIT_MEMBER(subsino_state,sharkpy)
{
- subsino_decrypt(machine, sharkpy_bitswaps, sharkpy_xors, 0xa000);
+ subsino_decrypt(machine(), sharkpy_bitswaps, sharkpy_xors, 0xa000);
}
-static DRIVER_INIT( sharkpye )
+DRIVER_INIT_MEMBER(subsino_state,sharkpye)
{
- subsino_decrypt(machine, victor5_bitswaps, victor5_xors, 0xa000);
+ subsino_decrypt(machine(), victor5_bitswaps, victor5_xors, 0xa000);
}
-static DRIVER_INIT( smoto20 )
+DRIVER_INIT_MEMBER(subsino_state,smoto20)
{
- UINT8 *rom = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *rom = machine().root_device().memregion( "maincpu" )->base();
rom[0x12e1] = 0x20; // "ERROR 951010"
}
-static DRIVER_INIT( tisub )
+DRIVER_INIT_MEMBER(subsino_state,tisub)
{
- UINT8 *rom = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *rom = machine().root_device().memregion( "maincpu" )->base();
DRIVER_INIT_CALL(victor5);
@@ -3531,9 +3542,9 @@ static DRIVER_INIT( tisub )
rom[0x64cf] = 0x00;
}
-static DRIVER_INIT( tisuba )
+DRIVER_INIT_MEMBER(subsino_state,tisuba)
{
- UINT8 *rom = machine.root_device().memregion( "maincpu" )->base();
+ UINT8 *rom = machine().root_device().memregion( "maincpu" )->base();
DRIVER_INIT_CALL(victor5);
@@ -3546,36 +3557,34 @@ static DRIVER_INIT( tisuba )
rom[0x6498] = 0x00;
}
-static DRIVER_INIT( stisub )
+DRIVER_INIT_MEMBER(subsino_state,stisub)
{
- subsino_state *state = machine.driver_data<subsino_state>();
- UINT8 *rom = state->memregion( "maincpu" )->base();
+ UINT8 *rom = memregion( "maincpu" )->base();
rom[0x1005] = 0x1d; //patch protection check
rom[0x7ab] = 0x18; //patch "winning protection" check
rom[0x957] = 0x18; //patch "losing protection" check
- state->m_stisub_colorram = auto_alloc_array(machine, UINT8, 256*3);
+ m_stisub_colorram = auto_alloc_array(machine(), UINT8, 256*3);
- state->m_reel1_scroll.allocate(0x40);
- state->m_reel2_scroll.allocate(0x40);
- state->m_reel3_scroll.allocate(0x40);
+ m_reel1_scroll.allocate(0x40);
+ m_reel2_scroll.allocate(0x40);
+ m_reel3_scroll.allocate(0x40);
- state->m_reel1_attr = auto_alloc_array(machine, UINT8, 0x200);
- state->m_reel2_attr = auto_alloc_array(machine, UINT8, 0x200);
- state->m_reel3_attr = auto_alloc_array(machine, UINT8, 0x200);
+ m_reel1_attr = auto_alloc_array(machine(), UINT8, 0x200);
+ m_reel2_attr = auto_alloc_array(machine(), UINT8, 0x200);
+ m_reel3_attr = auto_alloc_array(machine(), UINT8, 0x200);
}
-static DRIVER_INIT( mtrainnv )
+DRIVER_INIT_MEMBER(subsino_state,mtrainnv)
{
- subsino_state *state = machine.driver_data<subsino_state>();
- state->m_stisub_colorram = auto_alloc_array(machine, UINT8, 256*3);
+ m_stisub_colorram = auto_alloc_array(machine(), UINT8, 256*3);
- state->m_reel1_scroll.allocate(0x40);
- state->m_reel2_scroll.allocate(0x40);
- state->m_reel3_scroll.allocate(0x40);
+ m_reel1_scroll.allocate(0x40);
+ m_reel2_scroll.allocate(0x40);
+ m_reel3_scroll.allocate(0x40);
- state->m_reel1_attr = auto_alloc_array(machine, UINT8, 0x200);
- state->m_reel2_attr = auto_alloc_array(machine, UINT8, 0x200);
- state->m_reel3_attr = auto_alloc_array(machine, UINT8, 0x200);
+ m_reel1_attr = auto_alloc_array(machine(), UINT8, 0x200);
+ m_reel2_attr = auto_alloc_array(machine(), UINT8, 0x200);
+ m_reel3_attr = auto_alloc_array(machine(), UINT8, 0x200);
}
diff --git a/src/mame/drivers/subsino2.c b/src/mame/drivers/subsino2.c
index 9f39f79da28..66a41149501 100644
--- a/src/mame/drivers/subsino2.c
+++ b/src/mame/drivers/subsino2.c
@@ -152,6 +152,13 @@ public:
DECLARE_WRITE8_MEMBER(xtrain_outputs_w);
DECLARE_WRITE8_MEMBER(oki_bank_bit0_w);
DECLARE_WRITE8_MEMBER(oki_bank_bit4_w);
+ DECLARE_DRIVER_INIT(bishjan);
+ DECLARE_DRIVER_INIT(xtrain);
+ DECLARE_DRIVER_INIT(expcard);
+ DECLARE_DRIVER_INIT(wtrnymph);
+ DECLARE_DRIVER_INIT(mtrain);
+ DECLARE_DRIVER_INIT(saklove);
+ DECLARE_DRIVER_INIT(xplan);
};
@@ -2364,9 +2371,9 @@ ROM_START( bishjan )
ROM_LOAD( "2-v201.u9", 0x000000, 0x100000, CRC(ea42764d) SHA1(13fe1cd30e474f4b092949c440068e9ddca79976) )
ROM_END
-static DRIVER_INIT( bishjan )
+DRIVER_INIT_MEMBER(subsino2_state,bishjan)
{
- UINT16 *rom = (UINT16*)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16*)machine().root_device().memregion("maincpu")->base();
// patch serial protection test (it always enters test mode on boot otherwise)
rom[0x042EA/2] = 0x4008;
@@ -2428,9 +2435,9 @@ ROM_START( expcard )
ROM_LOAD( "top_card-ve1.u7", 0x00000, 0x80000, CRC(0ca9bd18) SHA1(af791c78ae321104afa738564bc23f520f37e7d5) )
ROM_END
-static DRIVER_INIT( expcard )
+DRIVER_INIT_MEMBER(subsino2_state,expcard)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
// patch protection test (it always enters test mode on boot otherwise)
rom[0xed4dc-0xc0000] = 0xeb;
@@ -2523,12 +2530,12 @@ ROM_END
***************************************************************************/
-DRIVER_INIT( mtrain )
+DRIVER_INIT_MEMBER(subsino2_state,mtrain)
{
- subsino_decrypt(machine, crsbingo_bitswaps, crsbingo_xors, 0x8000);
+ subsino_decrypt(machine(), crsbingo_bitswaps, crsbingo_xors, 0x8000);
// patch serial protection test (it always enters test mode on boot otherwise)
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
rom[0x0cec] = 0x18;
rom[0xb037] = 0x18;
@@ -2580,9 +2587,9 @@ ROM_START( saklove )
ROM_LOAD( "2.u10", 0x00000, 0x80000, CRC(4f70125c) SHA1(edd5e6bd47b9a4fa3c4057cb4a85544241fe483d) )
ROM_END
-static DRIVER_INIT( saklove )
+DRIVER_INIT_MEMBER(subsino2_state,saklove)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
// patch serial protection test (it always enters test mode on boot otherwise)
rom[0x0e029] = 0xeb;
@@ -2640,9 +2647,9 @@ ROM_START( xplan )
ROM_LOAD( "x-plan_rom_2_v100.u7", 0x00000, 0x80000, CRC(c742b5c8) SHA1(646960508be738824bfc578c1b21355c17e05010) )
ROM_END
-static DRIVER_INIT( xplan )
+DRIVER_INIT_MEMBER(subsino2_state,xplan)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
// patch protection test (it always enters test mode on boot otherwise)
rom[0xeded9-0xc0000] = 0xeb;
@@ -2700,9 +2707,9 @@ ROM_START( xtrain )
ROM_LOAD( "x-train_rom_2_v1.2.u7", 0x00000, 0x80000, CRC(aae563ff) SHA1(97db845d7e3d343bd70352371cb27b16faacca7f) )
ROM_END
-static DRIVER_INIT( xtrain )
+DRIVER_INIT_MEMBER(subsino2_state,xtrain)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
// patch protection test (it always enters test mode on boot otherwise)
rom[0xe190f-0xc0000] = 0xeb;
@@ -2742,12 +2749,12 @@ ROM_START( wtrnymph )
ROM_LOAD( "gal16v8d.u31", 0x000, 0x117, NO_DUMP )
ROM_END
-DRIVER_INIT( wtrnymph )
+DRIVER_INIT_MEMBER(subsino2_state,wtrnymph)
{
- subsino_decrypt(machine, victor5_bitswaps, victor5_xors, 0x8000);
+ subsino_decrypt(machine(), victor5_bitswaps, victor5_xors, 0x8000);
// patch serial protection test (it always enters test mode on boot otherwise)
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
rom[0x0d79] = 0x18;
rom[0xc1cf] = 0x18;
rom[0xc2a9] = 0x18;
diff --git a/src/mame/drivers/summit.c b/src/mame/drivers/summit.c
index 0f37f60a07f..e9e0beb52b5 100644
--- a/src/mame/drivers/summit.c
+++ b/src/mame/drivers/summit.c
@@ -337,4 +337,4 @@ ROM_START( pushover )
ROM_END
-GAME( 1981, pushover, 0, summit, summit, summit_state, 0, ROT270, "Summit Coin", "Push Over (Summit Coin)", GAME_NOT_WORKING|GAME_NO_SOUND|GAME_WRONG_COLORS )
+GAME( 1981, pushover, 0, summit, summit, driver_device, 0, ROT270, "Summit Coin", "Push Over (Summit Coin)", GAME_NOT_WORKING|GAME_NO_SOUND|GAME_WRONG_COLORS )
diff --git a/src/mame/drivers/sumt8035.c b/src/mame/drivers/sumt8035.c
index c877c789dfc..f159d0fec6b 100644
--- a/src/mame/drivers/sumt8035.c
+++ b/src/mame/drivers/sumt8035.c
@@ -254,5 +254,5 @@ ROM_START( sm_ultng )
ROM_END
-GAME( 1981, sm_ngacc, 0, summit, summit, sumt8035_state, 0, ROT270, "Summit Coin", "Nudge Accumulator (Summit Coin)", GAME_IS_SKELETON )
-GAME( 1981, sm_ultng, 0, summit, summit, sumt8035_state, 0, ROT270, "Summit Coin", "Ultimate Nudge (Summit Coin)", GAME_IS_SKELETON )
+GAME( 1981, sm_ngacc, 0, summit, summit, driver_device, 0, ROT270, "Summit Coin", "Nudge Accumulator (Summit Coin)", GAME_IS_SKELETON )
+GAME( 1981, sm_ultng, 0, summit, summit, driver_device, 0, ROT270, "Summit Coin", "Ultimate Nudge (Summit Coin)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/suna16.c b/src/mame/drivers/suna16.c
index f7842c6a859..12686643211 100644
--- a/src/mame/drivers/suna16.c
+++ b/src/mame/drivers/suna16.c
@@ -1101,9 +1101,9 @@ ROM_START( uballoon )
ROM_END
-static DRIVER_INIT( uballoon )
+DRIVER_INIT_MEMBER(suna16_state,uballoon)
{
- UINT16 *RAM = (UINT16 *) machine.root_device().memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *) machine().root_device().memregion("maincpu")->base();
// Patch out the protection checks
RAM[0x0113c/2] = 0x4e71; // bne $646
@@ -1256,7 +1256,7 @@ ROM_END
***************************************************************************/
-GAME( 1994, bestbest, 0, bestbest, bestbest, suna16_state, 0, ROT0, "SunA", "Best Of Best", 0 )
-GAME( 1994, sunaq, 0, sunaq, sunaq, suna16_state, 0, ROT0, "SunA", "SunA Quiz 6000 Academy (940620-6)", 0 ) // Date/Version on-screen is 940620-6, but in the program rom it's 1994,6,30 K.H.T V6.00
-GAME( 1996, bssoccer, 0, bssoccer, bssoccer, suna16_state, 0, ROT0, "SunA", "Back Street Soccer", 0 )
+GAME( 1994, bestbest, 0, bestbest, bestbest, driver_device, 0, ROT0, "SunA", "Best Of Best", 0 )
+GAME( 1994, sunaq, 0, sunaq, sunaq, driver_device, 0, ROT0, "SunA", "SunA Quiz 6000 Academy (940620-6)", 0 ) // Date/Version on-screen is 940620-6, but in the program rom it's 1994,6,30 K.H.T V6.00
+GAME( 1996, bssoccer, 0, bssoccer, bssoccer, driver_device, 0, ROT0, "SunA", "Back Street Soccer", 0 )
GAME( 1996, uballoon, 0, uballoon, uballoon, suna16_state, uballoon, ROT0, "SunA", "Ultra Balloon", 0 )
diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c
index bb6797310fd..008adb4e60d 100644
--- a/src/mame/drivers/suna8.c
+++ b/src/mame/drivers/suna8.c
@@ -58,9 +58,9 @@ Notes:
Hard Head
***************************************************************************/
-static DRIVER_INIT( hardhead )
+DRIVER_INIT_MEMBER(suna8_state,hardhead)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
int i;
for (i = 0; i < 0x8000; i++)
@@ -75,15 +75,15 @@ static DRIVER_INIT( hardhead )
rom[i] = BITSWAP8(rom[i], 7,6,5,3,4,2,1,0) ^ 0x58;
}
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
}
/* Non encrypted bootleg */
-static DRIVER_INIT( hardhedb )
+DRIVER_INIT_MEMBER(suna8_state,hardhedb)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->set_decrypted_region(0x0000, 0x7fff, machine.root_device().memregion("maincpu")->base() + 0x48000);
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->set_decrypted_region(0x0000, 0x7fff, machine().root_device().memregion("maincpu")->base() + 0x48000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
}
/***************************************************************************
@@ -135,10 +135,10 @@ static UINT8 *brickzn_decrypt(running_machine &machine)
return decrypt;
}
-static DRIVER_INIT( brickzn )
+DRIVER_INIT_MEMBER(suna8_state,brickzn)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- UINT8 *decrypt = brickzn_decrypt(machine);
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ UINT8 *decrypt = brickzn_decrypt(machine());
int i;
// restore opcodes which for some reason shouldn't be decrypted... */
@@ -162,14 +162,14 @@ static DRIVER_INIT( brickzn )
decrypt[0x24b5] = 0x00; // HALT -> NOP
decrypt[0x2583] = 0x00; // HALT -> NOP
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
- machine.root_device().membank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x10000, 0x4000);
}
-static DRIVER_INIT( brickzn3 )
+DRIVER_INIT_MEMBER(suna8_state,brickzn3)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- UINT8 *decrypt = brickzn_decrypt(machine);
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ UINT8 *decrypt = brickzn_decrypt(machine());
int i;
// restore opcodes which for some reason shouldn't be decrypted... */
@@ -193,8 +193,8 @@ static DRIVER_INIT( brickzn3 )
decrypt[0x2487] = 0x00; // HALT -> NOP
decrypt[0x256c] = 0x00; // HALT -> NOP
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
- machine.root_device().membank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x10000, 0x4000);
}
@@ -202,12 +202,12 @@ static DRIVER_INIT( brickzn3 )
Hard Head 2
***************************************************************************/
-static DRIVER_INIT( hardhea2 )
+DRIVER_INIT_MEMBER(suna8_state,hardhea2)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- size_t size = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, size);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ size_t size = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, size);
UINT8 x;
int i;
@@ -280,8 +280,8 @@ rom13: 0?, 1y, 2n, 3n ?,?,?,? (palettes)
RAM[i] = BITSWAP8(RAM[i], 5,6,7,4,3,2,1,0) ^ 0x41;
}
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
- machine.root_device().membank("bank2")->configure_entries(0, 2, auto_alloc_array(machine, UINT8, 0x2000 * 2), 0x2000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank2")->configure_entries(0, 2, auto_alloc_array(machine(), UINT8, 0x2000 * 2), 0x2000);
}
@@ -289,12 +289,12 @@ rom13: 0?, 1y, 2n, 3n ?,?,?,? (palettes)
Star Fighter
***************************************************************************/
-static DRIVER_INIT( starfigh )
+DRIVER_INIT_MEMBER(suna8_state,starfigh)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- size_t size = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, size);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ size_t size = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, size);
UINT8 x;
int i;
@@ -349,7 +349,7 @@ static DRIVER_INIT( starfigh )
RAM[i] = BITSWAP8(RAM[i], 5,6,7,4,3,2,1,0) ^ 0x45;
}
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
}
@@ -357,12 +357,12 @@ static DRIVER_INIT( starfigh )
Spark Man
***************************************************************************/
-static DRIVER_INIT( sparkman )
+DRIVER_INIT_MEMBER(suna8_state,sparkman)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- size_t size = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, size);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ size_t size = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, size);
UINT8 x;
int i;
@@ -417,7 +417,7 @@ static DRIVER_INIT( sparkman )
RAM[i] = BITSWAP8(RAM[i], 5,6,7,4,3,2,1,0) ^ 0x44;
}
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
}
/***************************************************************************
@@ -2354,9 +2354,9 @@ ROM_END
***************************************************************************/
-static DRIVER_INIT( suna8 )
+DRIVER_INIT_MEMBER(suna8_state,suna8)
{
- machine.root_device().membank("bank1")->configure_entries(0, 16, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 16, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
}
/* Working Games */
diff --git a/src/mame/drivers/supbtime.c b/src/mame/drivers/supbtime.c
index a8ee05aadb0..7d519742a0f 100644
--- a/src/mame/drivers/supbtime.c
+++ b/src/mame/drivers/supbtime.c
@@ -503,7 +503,7 @@ ROM_END
/******************************************************************************/
-GAME( 1990, supbtime, 0, supbtime, supbtime, supbtime_state, 0, ROT0, "Data East Corporation", "Super Burger Time (World, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, supbtimea,supbtime, supbtime, supbtime, supbtime_state, 0, ROT0, "Data East Corporation", "Super Burger Time (World, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, supbtimej,supbtime, supbtime, supbtime, supbtime_state, 0, ROT0, "Data East Corporation", "Super Burger Time (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, chinatwn, 0, chinatwn, chinatwn, supbtime_state, 0, ROT0, "Data East Corporation", "China Town (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, supbtime, 0, supbtime, supbtime, driver_device, 0, ROT0, "Data East Corporation", "Super Burger Time (World, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1990, supbtimea,supbtime, supbtime, supbtime, driver_device, 0, ROT0, "Data East Corporation", "Super Burger Time (World, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1990, supbtimej,supbtime, supbtime, supbtime, driver_device, 0, ROT0, "Data East Corporation", "Super Burger Time (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, chinatwn, 0, chinatwn, chinatwn, driver_device, 0, ROT0, "Data East Corporation", "China Town (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/supdrapo.c b/src/mame/drivers/supdrapo.c
index 0b213925088..337978cff58 100644
--- a/src/mame/drivers/supdrapo.c
+++ b/src/mame/drivers/supdrapo.c
@@ -602,6 +602,6 @@ ROM_END
**********************************************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS... */
-GAME( 1983, supdrapo, 0, supdrapo, supdrapo, supdrapo_state, 0, ROT90, "Valadon Automation (Stern Electronics license)", "Super Draw Poker (set 1)", 0 )
-GAME( 1983, supdrapoa, supdrapo, supdrapo, supdrapo, supdrapo_state, 0, ROT90, "Valadon Automation / Jeutel", "Super Draw Poker (set 2)", 0 )
-GAME( 1983, supdrapob, supdrapo, supdrapo, supdrapo, supdrapo_state, 0, ROT90, "bootleg", "Super Draw Poker (bootleg)", 0 )
+GAME( 1983, supdrapo, 0, supdrapo, supdrapo, driver_device, 0, ROT90, "Valadon Automation (Stern Electronics license)", "Super Draw Poker (set 1)", 0 )
+GAME( 1983, supdrapoa, supdrapo, supdrapo, supdrapo, driver_device, 0, ROT90, "Valadon Automation / Jeutel", "Super Draw Poker (set 2)", 0 )
+GAME( 1983, supdrapob, supdrapo, supdrapo, supdrapo, driver_device, 0, ROT90, "bootleg", "Super Draw Poker (bootleg)", 0 )
diff --git a/src/mame/drivers/superchs.c b/src/mame/drivers/superchs.c
index da5272c1c60..83003efd3a6 100644
--- a/src/mame/drivers/superchs.c
+++ b/src/mame/drivers/superchs.c
@@ -451,12 +451,11 @@ READ16_MEMBER(superchs_state::sub_cycle_r)
return m_ram[2]&0xffff;
}
-static DRIVER_INIT( superchs )
+DRIVER_INIT_MEMBER(superchs_state,superchs)
{
/* Speedup handlers */
- superchs_state *state = machine.driver_data<superchs_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x100000, 0x100003, read32_delegate(FUNC(superchs_state::main_cycle_r),state));
- machine.device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x80000a, 0x80000b, read16_delegate(FUNC(superchs_state::sub_cycle_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x100000, 0x100003, read32_delegate(FUNC(superchs_state::main_cycle_r),this));
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x80000a, 0x80000b, read16_delegate(FUNC(superchs_state::sub_cycle_r),this));
}
GAMEL( 1992, superchs, 0, superchs, superchs, superchs_state, superchs, ROT0, "Taito America Corporation", "Super Chase - Criminal Termination (US)", 0, layout_superchs )
diff --git a/src/mame/drivers/superdq.c b/src/mame/drivers/superdq.c
index 03f2c368a8a..2657c3404a4 100644
--- a/src/mame/drivers/superdq.c
+++ b/src/mame/drivers/superdq.c
@@ -414,6 +414,6 @@ ROM_END
*
*************************************/
-GAME( 1984, superdq, 0, superdq, superdq, superdq_state, 0, ROT0, "Universal", "Super Don Quix-ote (Long Scenes)", GAME_NOT_WORKING )
-GAME( 1984, superdqs, superdq, superdq, superdq, superdq_state, 0, ROT0, "Universal", "Super Don Quix-ote (Short Scenes)", GAME_NOT_WORKING )
-GAME( 1984, superdqa, superdq, superdq, superdq, superdq_state, 0, ROT0, "Universal", "Super Don Quix-ote (Short Scenes, Alt)", GAME_NOT_WORKING )
+GAME( 1984, superdq, 0, superdq, superdq, driver_device, 0, ROT0, "Universal", "Super Don Quix-ote (Long Scenes)", GAME_NOT_WORKING )
+GAME( 1984, superdqs, superdq, superdq, superdq, driver_device, 0, ROT0, "Universal", "Super Don Quix-ote (Short Scenes)", GAME_NOT_WORKING )
+GAME( 1984, superdqa, superdq, superdq, superdq, driver_device, 0, ROT0, "Universal", "Super Don Quix-ote (Short Scenes, Alt)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/superqix.c b/src/mame/drivers/superqix.c
index 23683cf44e9..bab5735458c 100644
--- a/src/mame/drivers/superqix.c
+++ b/src/mame/drivers/superqix.c
@@ -1314,19 +1314,17 @@ ROM_END
-static DRIVER_INIT( sqix )
+DRIVER_INIT_MEMBER(superqix_state,sqix)
{
- superqix_state *state = machine.driver_data<superqix_state>();
- state->m_invert_coin_lockout = 1;
+ m_invert_coin_lockout = 1;
}
-static DRIVER_INIT( sqixa )
+DRIVER_INIT_MEMBER(superqix_state,sqixa)
{
- superqix_state *state = machine.driver_data<superqix_state>();
- state->m_invert_coin_lockout = 0;
+ m_invert_coin_lockout = 0;
}
-static DRIVER_INIT( perestro )
+DRIVER_INIT_MEMBER(superqix_state,perestro)
{
UINT8 *src;
int len;
@@ -1334,8 +1332,8 @@ static DRIVER_INIT( perestro )
int i,j;
/* decrypt program code; the address lines are shuffled around in a non-trivial way */
- src = machine.root_device().memregion("maincpu")->base();
- len = machine.root_device().memregion("maincpu")->bytes();
+ src = machine().root_device().memregion("maincpu")->base();
+ len = machine().root_device().memregion("maincpu")->bytes();
for (i = 0;i < len;i += 16)
{
memcpy(temp,&src[i],16);
@@ -1354,8 +1352,8 @@ static DRIVER_INIT( perestro )
}
/* decrypt gfx ROMs; simple bit swap on the address lines */
- src = machine.root_device().memregion("gfx1")->base();
- len = machine.root_device().memregion("gfx1")->bytes();
+ src = machine().root_device().memregion("gfx1")->base();
+ len = machine().root_device().memregion("gfx1")->bytes();
for (i = 0;i < len;i += 16)
{
memcpy(temp,&src[i],16);
@@ -1365,8 +1363,8 @@ static DRIVER_INIT( perestro )
}
}
- src = machine.root_device().memregion("gfx2")->base();
- len = machine.root_device().memregion("gfx2")->bytes();
+ src = machine().root_device().memregion("gfx2")->base();
+ len = machine().root_device().memregion("gfx2")->bytes();
for (i = 0;i < len;i += 16)
{
memcpy(temp,&src[i],16);
@@ -1376,8 +1374,8 @@ static DRIVER_INIT( perestro )
}
}
- src = machine.root_device().memregion("gfx3")->base();
- len = machine.root_device().memregion("gfx3")->bytes();
+ src = machine().root_device().memregion("gfx3")->base();
+ len = machine().root_device().memregion("gfx3")->bytes();
for (i = 0;i < len;i += 16)
{
memcpy(temp,&src[i],16);
@@ -1390,12 +1388,12 @@ static DRIVER_INIT( perestro )
-GAME( 1986, pbillian, 0, pbillian, pbillian, superqix_state, 0, ROT0, "Kaneko / Taito", "Prebillian", GAME_SUPPORTS_SAVE )
-GAME( 1987, hotsmash, 0, hotsmash, hotsmash, superqix_state, 0, ROT90, "Kaneko / Taito", "Vs. Hot Smash", GAME_SUPPORTS_SAVE )
+GAME( 1986, pbillian, 0, pbillian, pbillian, driver_device, 0, ROT0, "Kaneko / Taito", "Prebillian", GAME_SUPPORTS_SAVE )
+GAME( 1987, hotsmash, 0, hotsmash, hotsmash, driver_device, 0, ROT90, "Kaneko / Taito", "Vs. Hot Smash", GAME_SUPPORTS_SAVE )
GAME( 1987, sqix, 0, sqix, superqix, superqix_state, sqix, ROT90, "Kaneko / Taito", "Super Qix (World, Rev 2)", GAME_SUPPORTS_SAVE )
GAME( 1987, sqixr1, sqix, sqix, superqix, superqix_state, sqix, ROT90, "Kaneko / Taito", "Super Qix (World, Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sqixu, sqix, sqixu, superqix, superqix_state, 0, ROT90, "Kaneko / Taito (Romstar License)", "Super Qix (US)", GAME_SUPPORTS_SAVE )
+GAME( 1987, sqixu, sqix, sqixu, superqix, driver_device, 0, ROT90, "Kaneko / Taito (Romstar License)", "Super Qix (US)", GAME_SUPPORTS_SAVE )
GAME( 1987, sqixb1, sqix, sqix, superqix, superqix_state, sqixa, ROT90, "bootleg", "Super Qix (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sqixb2, sqix, sqixbl, superqix, superqix_state, 0, ROT90, "bootleg", "Super Qix (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, sqixb2, sqix, sqixbl, superqix, driver_device, 0, ROT90, "bootleg", "Super Qix (bootleg set 2)", GAME_SUPPORTS_SAVE )
GAME( 1994, perestro, 0, sqixbl, superqix, superqix_state, perestro, ROT90, "Promat", "Perestroika Girls", GAME_SUPPORTS_SAVE )
GAME( 1993, perestrof,perestro, sqixbl, superqix, superqix_state, perestro, ROT90, "Promat (Fuuki license)", "Perestroika Girls (Fuuki license)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/supertnk.c b/src/mame/drivers/supertnk.c
index 7d71f4e779d..757b3837830 100644
--- a/src/mame/drivers/supertnk.c
+++ b/src/mame/drivers/supertnk.c
@@ -122,6 +122,7 @@ public:
DECLARE_READ8_MEMBER(supertnk_videoram_r);
DECLARE_WRITE8_MEMBER(supertnk_bitplane_select_0_w);
DECLARE_WRITE8_MEMBER(supertnk_bitplane_select_1_w);
+ DECLARE_DRIVER_INIT(supertnk);
};
@@ -486,12 +487,12 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( supertnk )
+DRIVER_INIT_MEMBER(supertnk_state,supertnk)
{
/* decode the TMS9980 ROMs */
offs_t offs;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- size_t len = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ size_t len = machine().root_device().memregion("maincpu")->bytes();
for (offs = 0; offs < len; offs++)
{
diff --git a/src/mame/drivers/superwng.c b/src/mame/drivers/superwng.c
index 417815331b7..d422d8a54e0 100644
--- a/src/mame/drivers/superwng.c
+++ b/src/mame/drivers/superwng.c
@@ -519,4 +519,4 @@ ROM_START( superwng )
ROM_END
-GAME( 1985, superwng, 0, superwng, superwng, superwng_state, 0, ROT90, "Wing", "Super Wing", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1985, superwng, 0, superwng, superwng, driver_device, 0, ROT90, "Wing", "Super Wing", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/suprgolf.c b/src/mame/drivers/suprgolf.c
index 9f4e27c3278..ba101628ed0 100644
--- a/src/mame/drivers/suprgolf.c
+++ b/src/mame/drivers/suprgolf.c
@@ -64,6 +64,7 @@ public:
DECLARE_READ8_MEMBER(p2_r);
DECLARE_WRITE8_MEMBER(suprgolf_writeA);
DECLARE_WRITE8_MEMBER(suprgolf_writeB);
+ DECLARE_DRIVER_INIT(suprgolf);
};
static TILE_GET_INFO( get_tile_info )
@@ -641,9 +642,9 @@ ROM_END
-static DRIVER_INIT( suprgolf )
+DRIVER_INIT_MEMBER(suprgolf_state,suprgolf)
{
- UINT8 *ROM = machine.root_device().memregion("user2")->base();
+ UINT8 *ROM = machine().root_device().memregion("user2")->base();
ROM[0x74f4-0x4000] = 0x00;
ROM[0x74f5-0x4000] = 0x00;
@@ -651,4 +652,4 @@ static DRIVER_INIT( suprgolf )
}
GAME( 1989, suprgolf, 0, suprgolf, suprgolf, suprgolf_state, suprgolf, ROT0, "Nasco", "Super Crowns Golf (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
-GAME( 1989, albatross, suprgolf, suprgolf, suprgolf, suprgolf_state, 0, ROT0, "Nasco", "Albatross (US Prototype?)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1989, albatross, suprgolf, suprgolf, suprgolf, driver_device, 0, ROT0, "Nasco", "Albatross (US Prototype?)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/suprloco.c b/src/mame/drivers/suprloco.c
index 9b4e3aac5d0..5420dcb9bab 100644
--- a/src/mame/drivers/suprloco.c
+++ b/src/mame/drivers/suprloco.c
@@ -251,16 +251,16 @@ ROM_START( suprlocoa )
ROM_LOAD( "pr-5221.7", 0x0600, 0x0020, CRC(89ba674f) SHA1(17c87840c8011968675a5a6f55966467df02364b) ) /* unknown */
ROM_END
-static DRIVER_INIT( suprloco )
+DRIVER_INIT_MEMBER(suprloco_state,suprloco)
{
/* convert graphics to 4bpp from 3bpp */
int i, j, k, color_source, color_dest;
UINT8 *source, *dest, *lookup;
- source = machine.root_device().memregion("gfx1")->base();
+ source = machine().root_device().memregion("gfx1")->base();
dest = source + 0x6000;
- lookup = machine.root_device().memregion("proms")->base() + 0x0200;
+ lookup = machine().root_device().memregion("proms")->base() + 0x0200;
for (i = 0; i < 0x80; i++, lookup += 8)
{
@@ -286,7 +286,7 @@ static DRIVER_INIT( suprloco )
/* decrypt program ROMs */
- suprloco_decode(machine, "maincpu");
+ suprloco_decode(machine(), "maincpu");
}
diff --git a/src/mame/drivers/suprnova.c b/src/mame/drivers/suprnova.c
index d8efbacfc44..1b5089c0899 100644
--- a/src/mame/drivers/suprnova.c
+++ b/src/mame/drivers/suprnova.c
@@ -977,25 +977,25 @@ static void set_drc_pcflush(running_machine &machine, UINT32 addr)
sh2drc_add_pcflush(machine.device("maincpu"), addr);
}
-static DRIVER_INIT( galpani4 ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-5,-1); init_skns(machine); }
-static DRIVER_INIT( galpanis ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-5,-1); init_skns(machine); }
-static DRIVER_INIT( cyvern ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(+0,+2); init_skns(machine); skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x604d3c8, 0x604d3cb, read32_delegate(FUNC(skns_state::cyvern_speedup_r),state) ); set_drc_pcflush(machine, 0x402ebd2); }
-static DRIVER_INIT( galpans2 ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-1,-1); init_skns(machine); skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60fb6bc, 0x60fb6bf, read32_delegate(FUNC(skns_state::galpans2_speedup_r),state) ); set_drc_pcflush(machine, 0x4049ae2); }
-static DRIVER_INIT( gutsn ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(+0,+0); init_skns(machine); skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x600c780, 0x600c783, read32_delegate(FUNC(skns_state::gutsn_speedup_r),state) ); set_drc_pcflush(machine, 0x402206e); }
-static DRIVER_INIT( panicstr ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-1,-1); init_skns(machine); skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60f19e4, 0x60f19e7, read32_delegate(FUNC(skns_state::panicstr_speedup_r),state) ); set_drc_pcflush(machine, 0x404e68a); }
-static DRIVER_INIT( senknow ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(+1,+1); init_skns(machine); skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60000dc, 0x60000df, read32_delegate(FUNC(skns_state::senknow_speedup_r),state) ); set_drc_pcflush(machine, 0x4017dce); }
-static DRIVER_INIT( puzzloope ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-9,-1); init_skns(machine);skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6081d38, 0x6081d3b, read32_delegate(FUNC(skns_state::puzzloope_speedup_r),state) ); set_drc_pcflush(machine, 0x401da14); }
-static DRIVER_INIT( puzzloopj ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-9,-1); init_skns(machine);skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6086714, 0x6086717, read32_delegate(FUNC(skns_state::puzzloopj_speedup_r),state) ); set_drc_pcflush(machine, 0x401dca0); }
-static DRIVER_INIT( puzzloopa ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-9,-1); init_skns(machine);skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6085bcc, 0x6085bcf, read32_delegate(FUNC(skns_state::puzzloopa_speedup_r),state) ); set_drc_pcflush(machine, 0x401d9d4); }
-static DRIVER_INIT( puzzloopu ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-9,-1); init_skns(machine);skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6085cec, 0x6085cef, read32_delegate(FUNC(skns_state::puzzloopu_speedup_r),state) ); set_drc_pcflush(machine, 0x401dab0); }
-static DRIVER_INIT( jjparads ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(+5,+1); init_skns(machine);skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6000994, 0x6000997, read32_delegate(FUNC(skns_state::jjparads_speedup_r),state) ); set_drc_pcflush(machine, 0x4015e84); }
-static DRIVER_INIT( jjparad2 ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(+5,+1); init_skns(machine);skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6000984, 0x6000987, read32_delegate(FUNC(skns_state::jjparad2_speedup_r),state) ); set_drc_pcflush(machine, 0x401620a); }
-static DRIVER_INIT( ryouran ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(+5,+1); init_skns(machine);skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6000a14, 0x6000a17, read32_delegate(FUNC(skns_state::ryouran_speedup_r),state) ); set_drc_pcflush(machine, 0x40182ce); }
-static DRIVER_INIT( teljan ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(+5,+1); init_skns(machine);skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6002fb4, 0x6002fb7, read32_delegate(FUNC(skns_state::teljan_speedup_r),state) ); set_drc_pcflush(machine, 0x401ba32); }
-static DRIVER_INIT( sengekis ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-192,-272); init_skns(machine);skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60b74bc, 0x60b74bf, read32_delegate(FUNC(skns_state::sengekis_speedup_r),state) ); set_drc_pcflush(machine, 0x60006ec); }
-static DRIVER_INIT( sengekij ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-192,-272); init_skns(machine);skns_state *state = machine.driver_data<skns_state>(); machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60b7380, 0x60b7383, read32_delegate(FUNC(skns_state::sengekij_speedup_r),state) ); set_drc_pcflush(machine, 0x60006ec); }
-static DRIVER_INIT( sarukani ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-1,-1); init_skns(machine); set_drc_pcflush(machine, 0x4013b42); } // Speedup is in skns_io_w()
-static DRIVER_INIT( galpans3 ) { machine.device<sknsspr_device>("spritegen")->skns_sprite_kludge(-1,-1); init_skns(machine); }
+DRIVER_INIT_MEMBER(skns_state,galpani4) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-5,-1); init_skns(machine()); }
+DRIVER_INIT_MEMBER(skns_state,galpanis) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-5,-1); init_skns(machine()); }
+DRIVER_INIT_MEMBER(skns_state,cyvern) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(+0,+2); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x604d3c8, 0x604d3cb, read32_delegate(FUNC(skns_state::cyvern_speedup_r),this) ); set_drc_pcflush(machine(), 0x402ebd2); }
+DRIVER_INIT_MEMBER(skns_state,galpans2) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-1,-1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60fb6bc, 0x60fb6bf, read32_delegate(FUNC(skns_state::galpans2_speedup_r),this) ); set_drc_pcflush(machine(), 0x4049ae2); }
+DRIVER_INIT_MEMBER(skns_state,gutsn) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(+0,+0); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x600c780, 0x600c783, read32_delegate(FUNC(skns_state::gutsn_speedup_r),this) ); set_drc_pcflush(machine(), 0x402206e); }
+DRIVER_INIT_MEMBER(skns_state,panicstr) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-1,-1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60f19e4, 0x60f19e7, read32_delegate(FUNC(skns_state::panicstr_speedup_r),this) ); set_drc_pcflush(machine(), 0x404e68a); }
+DRIVER_INIT_MEMBER(skns_state,senknow) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(+1,+1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60000dc, 0x60000df, read32_delegate(FUNC(skns_state::senknow_speedup_r),this) ); set_drc_pcflush(machine(), 0x4017dce); }
+DRIVER_INIT_MEMBER(skns_state,puzzloope) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-9,-1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6081d38, 0x6081d3b, read32_delegate(FUNC(skns_state::puzzloope_speedup_r),this) ); set_drc_pcflush(machine(), 0x401da14); }
+DRIVER_INIT_MEMBER(skns_state,puzzloopj) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-9,-1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6086714, 0x6086717, read32_delegate(FUNC(skns_state::puzzloopj_speedup_r),this) ); set_drc_pcflush(machine(), 0x401dca0); }
+DRIVER_INIT_MEMBER(skns_state,puzzloopa) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-9,-1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6085bcc, 0x6085bcf, read32_delegate(FUNC(skns_state::puzzloopa_speedup_r),this) ); set_drc_pcflush(machine(), 0x401d9d4); }
+DRIVER_INIT_MEMBER(skns_state,puzzloopu) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-9,-1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6085cec, 0x6085cef, read32_delegate(FUNC(skns_state::puzzloopu_speedup_r),this) ); set_drc_pcflush(machine(), 0x401dab0); }
+DRIVER_INIT_MEMBER(skns_state,jjparads) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(+5,+1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6000994, 0x6000997, read32_delegate(FUNC(skns_state::jjparads_speedup_r),this) ); set_drc_pcflush(machine(), 0x4015e84); }
+DRIVER_INIT_MEMBER(skns_state,jjparad2) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(+5,+1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6000984, 0x6000987, read32_delegate(FUNC(skns_state::jjparad2_speedup_r),this) ); set_drc_pcflush(machine(), 0x401620a); }
+DRIVER_INIT_MEMBER(skns_state,ryouran) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(+5,+1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6000a14, 0x6000a17, read32_delegate(FUNC(skns_state::ryouran_speedup_r),this) ); set_drc_pcflush(machine(), 0x40182ce); }
+DRIVER_INIT_MEMBER(skns_state,teljan) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(+5,+1); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x6002fb4, 0x6002fb7, read32_delegate(FUNC(skns_state::teljan_speedup_r),this) ); set_drc_pcflush(machine(), 0x401ba32); }
+DRIVER_INIT_MEMBER(skns_state,sengekis) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-192,-272); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60b74bc, 0x60b74bf, read32_delegate(FUNC(skns_state::sengekis_speedup_r),this) ); set_drc_pcflush(machine(), 0x60006ec); }
+DRIVER_INIT_MEMBER(skns_state,sengekij) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-192,-272); init_skns(machine());machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60b7380, 0x60b7383, read32_delegate(FUNC(skns_state::sengekij_speedup_r),this) ); set_drc_pcflush(machine(), 0x60006ec); }
+DRIVER_INIT_MEMBER(skns_state,sarukani) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-1,-1); init_skns(machine()); set_drc_pcflush(machine(), 0x4013b42); } // Speedup is in skns_io_w()
+DRIVER_INIT_MEMBER(skns_state,galpans3) { machine().device<sknsspr_device>("spritegen")->skns_sprite_kludge(-1,-1); init_skns(machine()); }
@@ -1726,7 +1726,7 @@ ROM_END
/***** GAME DRIVERS *****/
-GAME( 1996, skns, 0, skns, skns, skns_state, 0, ROT0, "Kaneko", "Super Kaneko Nova System BIOS", GAME_IS_BIOS_ROOT )
+GAME( 1996, skns, 0, skns, skns, driver_device, 0, ROT0, "Kaneko", "Super Kaneko Nova System BIOS", GAME_IS_BIOS_ROOT )
GAME( 1996, galpani4, skns, sknsj, cyvern, skns_state, galpani4, ROT0, "Kaneko", "Gals Panic 4 (Japan)", GAME_IMPERFECT_GRAPHICS )
GAME( 1996, galpani4k, galpani4, sknsk, cyvern, skns_state, galpani4, ROT0, "Kaneko", "Gals Panic 4 (Korea)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/suprridr.c b/src/mame/drivers/suprridr.c
index 95155e3d8cf..0015203fb4c 100644
--- a/src/mame/drivers/suprridr.c
+++ b/src/mame/drivers/suprridr.c
@@ -443,4 +443,4 @@ ROM_END
*
*************************************/
-GAME( 1983, suprridr, 0, suprridr, suprridr, suprridr_state, 0, ROT90, "Taito Corporation (Venture Line license)", "Super Rider", GAME_IMPERFECT_SOUND )
+GAME( 1983, suprridr, 0, suprridr, suprridr, driver_device, 0, ROT90, "Taito Corporation (Venture Line license)", "Super Rider", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/suprslam.c b/src/mame/drivers/suprslam.c
index dcbc75f815c..bf5875ba1c1 100644
--- a/src/mame/drivers/suprslam.c
+++ b/src/mame/drivers/suprslam.c
@@ -387,4 +387,4 @@ ROM_END
/*** GAME DRIVERS ************************************************************/
-GAME( 1995, suprslam, 0, suprslam, suprslam, suprslam_state, 0, ROT0, "Banpresto / Toei Animation", "Super Slams", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1995, suprslam, 0, suprslam, suprslam, driver_device, 0, ROT0, "Banpresto / Toei Animation", "Super Slams", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/surpratk.c b/src/mame/drivers/surpratk.c
index 8557f895a9d..c9ea5f53af5 100644
--- a/src/mame/drivers/surpratk.c
+++ b/src/mame/drivers/surpratk.c
@@ -327,6 +327,6 @@ static KONAMI_SETLINES_CALLBACK( surpratk_banking )
}
-GAME( 1990, suratk, 0, surpratk, surpratk, surpratk_state, 0, ROT0, "Konami", "Surprise Attack (World ver. K)", GAME_SUPPORTS_SAVE )
-GAME( 1990, suratka, suratk, surpratk, surpratk, surpratk_state, 0, ROT0, "Konami", "Surprise Attack (Asia ver. L)", GAME_SUPPORTS_SAVE )
-GAME( 1990, suratkj, suratk, surpratk, surpratk, surpratk_state, 0, ROT0, "Konami", "Surprise Attack (Japan ver. M)", GAME_SUPPORTS_SAVE )
+GAME( 1990, suratk, 0, surpratk, surpratk, driver_device, 0, ROT0, "Konami", "Surprise Attack (World ver. K)", GAME_SUPPORTS_SAVE )
+GAME( 1990, suratka, suratk, surpratk, surpratk, driver_device, 0, ROT0, "Konami", "Surprise Attack (Asia ver. L)", GAME_SUPPORTS_SAVE )
+GAME( 1990, suratkj, suratk, surpratk, surpratk, driver_device, 0, ROT0, "Konami", "Surprise Attack (Japan ver. M)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c
index 19e5fbc8df3..5522fd2cd48 100644
--- a/src/mame/drivers/system1.c
+++ b/src/mame/drivers/system1.c
@@ -4583,67 +4583,63 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( bank00 )
+DRIVER_INIT_MEMBER(system1_state,bank00)
{
- system1_state *state = machine.driver_data<system1_state>();
- state->m_videomode_custom = NULL;
+ m_videomode_custom = NULL;
}
-static DRIVER_INIT( bank44 )
+DRIVER_INIT_MEMBER(system1_state,bank44)
{
- system1_state *state = machine.driver_data<system1_state>();
- state->m_videomode_custom = bank44_custom_w;
+ m_videomode_custom = bank44_custom_w;
}
-static DRIVER_INIT( bank0c )
+DRIVER_INIT_MEMBER(system1_state,bank0c)
{
- system1_state *state = machine.driver_data<system1_state>();
- state->m_videomode_custom = bank0c_custom_w;
+ m_videomode_custom = bank0c_custom_w;
}
-static DRIVER_INIT( regulus ) { DRIVER_INIT_CALL(bank00); regulus_decode(machine, "maincpu"); }
-static DRIVER_INIT( mrviking ) { DRIVER_INIT_CALL(bank00); mrviking_decode(machine, "maincpu"); }
-static DRIVER_INIT( swat ) { DRIVER_INIT_CALL(bank00); swat_decode(machine, "maincpu"); }
-static DRIVER_INIT( flicky ) { DRIVER_INIT_CALL(bank00); flicky_decode(machine, "maincpu"); }
-static DRIVER_INIT( wmatch ) { DRIVER_INIT_CALL(bank00); wmatch_decode(machine, "maincpu"); }
-static DRIVER_INIT( bullfgtj ) { DRIVER_INIT_CALL(bank00); bullfgtj_decode(machine, "maincpu"); }
-static DRIVER_INIT( spatter ) { DRIVER_INIT_CALL(bank00); spatter_decode(machine, "maincpu"); }
-static DRIVER_INIT( pitfall2 ) { DRIVER_INIT_CALL(bank00); pitfall2_decode(machine, "maincpu"); }
-static DRIVER_INIT( nprinces ) { DRIVER_INIT_CALL(bank00); nprinces_decode(machine, "maincpu"); }
-static DRIVER_INIT( seganinj ) { DRIVER_INIT_CALL(bank00); seganinj_decode(machine, "maincpu"); }
-static DRIVER_INIT( imsorry ) { DRIVER_INIT_CALL(bank00); imsorry_decode(machine, "maincpu"); }
-static DRIVER_INIT( teddybb ) { DRIVER_INIT_CALL(bank00); teddybb_decode(machine, "maincpu"); }
-static DRIVER_INIT( myheroj ) { DRIVER_INIT_CALL(bank00); myheroj_decode(machine, "maincpu"); }
-static DRIVER_INIT( 4dwarrio ) { DRIVER_INIT_CALL(bank00); sega_315_5162_decode(machine, "maincpu"); }
-static DRIVER_INIT( wboy ) { DRIVER_INIT_CALL(bank00); sega_315_5177_decode(machine, "maincpu"); }
-static DRIVER_INIT( wboy2 ) { DRIVER_INIT_CALL(bank00); sega_315_5178_decode(machine, "maincpu"); }
-static DRIVER_INIT( wboyo ) { DRIVER_INIT_CALL(bank00); hvymetal_decode(machine, "maincpu"); }
-static DRIVER_INIT( blockgal ) { DRIVER_INIT_CALL(bank00); mc8123_decrypt_rom(machine, "maincpu", "key", NULL, 0); }
-
-static DRIVER_INIT( hvymetal ) { DRIVER_INIT_CALL(bank44); hvymetal_decode(machine, "maincpu"); }
-static DRIVER_INIT( gardia ) { DRIVER_INIT_CALL(bank44); sega_317_0006_decode(machine, "maincpu"); }
-static DRIVER_INIT( gardiab ) { DRIVER_INIT_CALL(bank44); sega_317_0007_decode(machine, "maincpu"); }
-
-static DRIVER_INIT( wbml ) { DRIVER_INIT_CALL(bank0c); mc8123_decrypt_rom(machine, "maincpu", "key", "bank1", 4); }
-static DRIVER_INIT( ufosensi ) { DRIVER_INIT_CALL(bank0c); mc8123_decrypt_rom(machine, "maincpu", "key", "bank1", 4); }
-static DRIVER_INIT( wboysys2 ) { DRIVER_INIT_CALL(bank0c); sega_315_5177_decode(machine, "maincpu"); }
-
-
-static DRIVER_INIT( dakkochn )
+DRIVER_INIT_MEMBER(system1_state,regulus) { DRIVER_INIT_CALL(bank00); regulus_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,mrviking) { DRIVER_INIT_CALL(bank00); mrviking_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,swat) { DRIVER_INIT_CALL(bank00); swat_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,flicky) { DRIVER_INIT_CALL(bank00); flicky_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,wmatch) { DRIVER_INIT_CALL(bank00); wmatch_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,bullfgtj) { DRIVER_INIT_CALL(bank00); bullfgtj_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,spatter) { DRIVER_INIT_CALL(bank00); spatter_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,pitfall2) { DRIVER_INIT_CALL(bank00); pitfall2_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,nprinces) { DRIVER_INIT_CALL(bank00); nprinces_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,seganinj) { DRIVER_INIT_CALL(bank00); seganinj_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,imsorry) { DRIVER_INIT_CALL(bank00); imsorry_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,teddybb) { DRIVER_INIT_CALL(bank00); teddybb_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,myheroj) { DRIVER_INIT_CALL(bank00); myheroj_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,4dwarrio) { DRIVER_INIT_CALL(bank00); sega_315_5162_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,wboy) { DRIVER_INIT_CALL(bank00); sega_315_5177_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,wboy2) { DRIVER_INIT_CALL(bank00); sega_315_5178_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,wboyo) { DRIVER_INIT_CALL(bank00); hvymetal_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,blockgal) { DRIVER_INIT_CALL(bank00); mc8123_decrypt_rom(machine(), "maincpu", "key", NULL, 0); }
+
+DRIVER_INIT_MEMBER(system1_state,hvymetal) { DRIVER_INIT_CALL(bank44); hvymetal_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,gardia) { DRIVER_INIT_CALL(bank44); sega_317_0006_decode(machine(), "maincpu"); }
+DRIVER_INIT_MEMBER(system1_state,gardiab) { DRIVER_INIT_CALL(bank44); sega_317_0007_decode(machine(), "maincpu"); }
+
+DRIVER_INIT_MEMBER(system1_state,wbml) { DRIVER_INIT_CALL(bank0c); mc8123_decrypt_rom(machine(), "maincpu", "key", "bank1", 4); }
+DRIVER_INIT_MEMBER(system1_state,ufosensi) { DRIVER_INIT_CALL(bank0c); mc8123_decrypt_rom(machine(), "maincpu", "key", "bank1", 4); }
+DRIVER_INIT_MEMBER(system1_state,wboysys2) { DRIVER_INIT_CALL(bank0c); sega_315_5177_decode(machine(), "maincpu"); }
+
+
+DRIVER_INIT_MEMBER(system1_state,dakkochn)
{
- system1_state *state = machine.driver_data<system1_state>();
- state->m_videomode_custom = dakkochn_custom_w;
+ m_videomode_custom = dakkochn_custom_w;
- mc8123_decrypt_rom(machine, "maincpu", "key", "bank1", 4);
+ mc8123_decrypt_rom(machine(), "maincpu", "key", "bank1", 4);
-// machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x00, 0x00, FUNC(dakkochn_port_00_r));
-// machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x03, 0x03, FUNC(dakkochn_port_03_r));
-// machine.device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x04, 0x04, FUNC(dakkochn_port_04_r));
+// machine().device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x00, 0x00, FUNC(dakkochn_port_00_r));
+// machine().device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x03, 0x03, FUNC(dakkochn_port_03_r));
+// machine().device("maincpu")->memory().space(AS_IO)->install_legacy_read_handler(0x04, 0x04, FUNC(dakkochn_port_04_r));
-// machine.device("maincpu")->memory().space(AS_IO)->install_legacy_write_handler(0x15, 0x15, FUNC(dakkochn_port_15_w));
+// machine().device("maincpu")->memory().space(AS_IO)->install_legacy_write_handler(0x15, 0x15, FUNC(dakkochn_port_15_w));
}
-static DRIVER_INIT( myherok )
+DRIVER_INIT_MEMBER(system1_state,myherok)
{
int A;
UINT8 *rom;
@@ -4652,12 +4648,12 @@ static DRIVER_INIT( myherok )
/* additionally to the usual protection, all the program ROMs have data lines */
/* D0 and D1 swapped. */
- rom = machine.root_device().memregion("maincpu")->base();
+ rom = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0xc000;A++)
rom[A] = (rom[A] & 0xfc) | ((rom[A] & 1) << 1) | ((rom[A] & 2) >> 1);
/* the tile gfx ROMs are mangled as well: */
- rom = machine.root_device().memregion("tiles")->base();
+ rom = machine().root_device().memregion("tiles")->base();
/* the first ROM has data lines D0 and D6 swapped. */
for (A = 0x0000;A < 0x4000;A++)
@@ -4686,7 +4682,7 @@ static DRIVER_INIT( myherok )
}
}
- myheroj_decode(machine, "maincpu");
+ myheroj_decode(machine(), "maincpu");
}
READ8_MEMBER(system1_state::nob_start_r)
@@ -4695,30 +4691,29 @@ READ8_MEMBER(system1_state::nob_start_r)
return (cpu_get_pc(&space.device()) <= 0x0003) ? 0x80 : memregion("maincpu")->base()[1];
}
-static DRIVER_INIT( nob )
+DRIVER_INIT_MEMBER(system1_state,nob)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
DRIVER_INIT_CALL(bank44);
/* hack to fix incorrect JMP at start, which should obviously be to $0080 */
/* patching the ROM causes errors in the self-test */
/* in real-life, it could be some behavior dependent upon M1 */
- system1_state *state = machine.driver_data<system1_state>();
- space->install_read_handler(0x0001, 0x0001, read8_delegate(FUNC(system1_state::nob_start_r),state));
+ space->install_read_handler(0x0001, 0x0001, read8_delegate(FUNC(system1_state::nob_start_r),this));
/* install MCU communications */
- iospace->install_readwrite_handler(0x18, 0x18, 0x00, 0x00, read8_delegate(FUNC(system1_state::nob_maincpu_latch_r),state), write8_delegate(FUNC(system1_state::nob_maincpu_latch_w),state));
- iospace->install_read_handler(0x1c, 0x1c, read8_delegate(FUNC(system1_state::nob_mcu_status_r),state));
+ iospace->install_readwrite_handler(0x18, 0x18, 0x00, 0x00, read8_delegate(FUNC(system1_state::nob_maincpu_latch_r),this), write8_delegate(FUNC(system1_state::nob_maincpu_latch_w),this));
+ iospace->install_read_handler(0x1c, 0x1c, read8_delegate(FUNC(system1_state::nob_mcu_status_r),this));
}
-static DRIVER_INIT( nobb )
+DRIVER_INIT_MEMBER(system1_state,nobb)
{
/* Patch to get PRG ROMS ('T', 'R' and 'S) status as "GOOD" in the "test mode" */
/* not really needed */
-// UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+// UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
// ROM[0x3296] = 0x18; // 'jr' instead of 'jr z' - 'T' (PRG Main ROM)
// ROM[0x32be] = 0x18; // 'jr' instead of 'jr z' - 'R' (Banked ROM 1)
@@ -4730,40 +4725,39 @@ static DRIVER_INIT( nobb )
// ROM[0x10000 + 0 * 0x8000 + 0x3347] = 0x18; // 'jr' instead of 'jr z'
/* Patch to get sound in later levels(the program enters into a tight loop)*/
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
- UINT8 *ROM2 = machine.root_device().memregion("soundcpu")->base();
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
+ UINT8 *ROM2 = machine().root_device().memregion("soundcpu")->base();
ROM2[0x02f9] = 0x28;//'jr z' instead of 'jr'
DRIVER_INIT_CALL(bank44);
- system1_state *state = machine.driver_data<system1_state>();
- iospace->install_read_handler(0x1c, 0x1c, read8_delegate(FUNC(system1_state::nobb_inport1c_r),state));
- iospace->install_read_handler(0x22, 0x22, read8_delegate(FUNC(system1_state::nobb_inport22_r),state));
- iospace->install_read_handler(0x23, 0x23, read8_delegate(FUNC(system1_state::nobb_inport23_r),state));
- iospace->install_write_handler(0x24, 0x24, write8_delegate(FUNC(system1_state::nobb_outport24_w),state));
+ iospace->install_read_handler(0x1c, 0x1c, read8_delegate(FUNC(system1_state::nobb_inport1c_r),this));
+ iospace->install_read_handler(0x22, 0x22, read8_delegate(FUNC(system1_state::nobb_inport22_r),this));
+ iospace->install_read_handler(0x23, 0x23, read8_delegate(FUNC(system1_state::nobb_inport23_r),this));
+ iospace->install_write_handler(0x24, 0x24, write8_delegate(FUNC(system1_state::nobb_outport24_w),this));
}
-static DRIVER_INIT( bootleg )
+DRIVER_INIT_MEMBER(system1_state,bootleg)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->set_decrypted_region(0x0000, 0x7fff, machine.root_device().memregion("maincpu")->base() + 0x10000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->set_decrypted_region(0x0000, 0x7fff, machine().root_device().memregion("maincpu")->base() + 0x10000);
DRIVER_INIT_CALL(bank00);
}
-static DRIVER_INIT( bootsys2 )
+DRIVER_INIT_MEMBER(system1_state,bootsys2)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->set_decrypted_region(0x0000, 0x7fff, machine.root_device().memregion("maincpu")->base() + 0x20000);
- machine.root_device().membank("bank1")->configure_decrypted_entries(0, 4, machine.root_device().memregion("maincpu")->base() + 0x30000, 0x4000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->set_decrypted_region(0x0000, 0x7fff, machine().root_device().memregion("maincpu")->base() + 0x20000);
+ machine().root_device().membank("bank1")->configure_decrypted_entries(0, 4, machine().root_device().memregion("maincpu")->base() + 0x30000, 0x4000);
DRIVER_INIT_CALL(bank0c);
}
-static DRIVER_INIT( choplift )
+DRIVER_INIT_MEMBER(system1_state,choplift)
{
- UINT8 *mcurom = machine.root_device().memregion("mcu")->base();
+ UINT8 *mcurom = machine().root_device().memregion("mcu")->base();
/* the ROM dump we have is bad; the following patches make it work */
mcurom[0x100] = 0x55; /* D5 in current dump */
@@ -4773,9 +4767,9 @@ static DRIVER_INIT( choplift )
DRIVER_INIT_CALL(bank0c);
}
-static DRIVER_INIT( shtngmst )
+DRIVER_INIT_MEMBER(system1_state,shtngmst)
{
- address_space *iospace = machine.device("maincpu")->memory().space(AS_IO);
+ address_space *iospace = machine().device("maincpu")->memory().space(AS_IO);
iospace->install_read_port(0x12, 0x12, 0x00, 0x00, "TRIGGER");
iospace->install_read_port(0x18, 0x18, 0x00, 0x03, "18");
iospace->install_read_port(0x1c, 0x1c, 0x00, 0x02, "GUNX");
diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c
index 8a8d6dbcf41..1167a492c20 100644
--- a/src/mame/drivers/system16.c
+++ b/src/mame/drivers/system16.c
@@ -3287,72 +3287,67 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( common )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,common)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
- state->m_bg1_trans = 0;
- state->m_splittab_bg_x = 0;
- state->m_splittab_bg_y = 0;
- state->m_splittab_fg_x = 0;
- state->m_splittab_fg_y = 0;
+ m_bg1_trans = 0;
+ m_splittab_bg_x = 0;
+ m_splittab_bg_y = 0;
+ m_splittab_fg_x = 0;
+ m_splittab_fg_y = 0;
- state->m_spritebank_type = 0;
- state->m_back_yscroll = 0;
- state->m_fore_yscroll = 0;
- state->m_text_yscroll = 0;
+ m_spritebank_type = 0;
+ m_back_yscroll = 0;
+ m_fore_yscroll = 0;
+ m_text_yscroll = 0;
- state->m_sample_buffer = 0;
- state->m_sample_select = 0;
+ m_sample_buffer = 0;
+ m_sample_select = 0;
- state->m_soundbank_ptr = NULL;
+ m_soundbank_ptr = NULL;
- state->m_beautyb_unkx = 0;
+ m_beautyb_unkx = 0;
- state->m_maincpu = machine.device("maincpu");
- state->m_soundcpu = machine.device("soundcpu");
+ m_maincpu = machine().device("maincpu");
+ m_soundcpu = machine().device("soundcpu");
}
/* Sys16A */
-static DRIVER_INIT( shinobl )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,shinobl)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
DRIVER_INIT_CALL(common);
- state->m_spritebank_type = 1;
+ m_spritebank_type = 1;
}
-static DRIVER_INIT( passsht )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,passsht)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
DRIVER_INIT_CALL(common);
- state->m_spritebank_type = 1;
- state->m_back_yscroll = 3;
+ m_spritebank_type = 1;
+ m_back_yscroll = 3;
}
-static DRIVER_INIT( wb3bbl )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,wb3bbl)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
DRIVER_INIT_CALL(common);
- state->m_spritebank_type = 1;
- state->m_back_yscroll = 2;
- state->m_fore_yscroll = 2;
+ m_spritebank_type = 1;
+ m_back_yscroll = 2;
+ m_fore_yscroll = 2;
}
/* Sys16B */
-static DRIVER_INIT( goldnaxeb1 )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,goldnaxeb1)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
int i;
- UINT8 *ROM = state->memregion("maincpu")->base();
- UINT8 *KEY = state->memregion("decryption")->base();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *ROM = memregion("maincpu")->base();
+ UINT8 *KEY = memregion("decryption")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
UINT8 data[0x1000];
// the decryption key is in a rom (part of an MSDOS executable...)
@@ -3363,23 +3358,23 @@ static DRIVER_INIT( goldnaxeb1 )
data[(i * 2) + 1] = ((KEY[i] & 0x08) << 3) | ((KEY[i] & 0x04) << 2) | ((KEY[i] & 0x02) << 1) | ((KEY[i] & 0x01) << 0);
}
- state->m_decrypted_region = auto_alloc_array(machine, UINT8, 0xc0000);
- memcpy(state->m_decrypted_region, ROM, 0xc0000);
+ m_decrypted_region = auto_alloc_array(machine(), UINT8, 0xc0000);
+ memcpy(m_decrypted_region, ROM, 0xc0000);
for (i = 0; i < 0x40000; i++)
{
- state->m_decrypted_region[i] = ROM[i] ^ data[(i & 0xfff) ^ 1];
+ m_decrypted_region[i] = ROM[i] ^ data[(i & 0xfff) ^ 1];
}
- space->set_decrypted_region(0x00000, 0xbffff, state->m_decrypted_region);
+ space->set_decrypted_region(0x00000, 0xbffff, m_decrypted_region);
DRIVER_INIT_CALL(common);
- state->m_spritebank_type = 1;
+ m_spritebank_type = 1;
}
-static DRIVER_INIT( bayrouteb1 )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,bayrouteb1)
{
// it has the same encryption as the golden axe bootleg!
//
@@ -3387,15 +3382,14 @@ static DRIVER_INIT( bayrouteb1 )
//
// for now we use the code which is present in the unprotected bootleg set
// and modify the rom to use it
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
UINT16 *ROM2;
UINT16 *decrypted_region2;
// decrypt
- DRIVER_INIT_CALL( goldnaxeb1 );
+ DRIVER_INIT_CALL(goldnaxeb1);
- ROM2 = (UINT16*)state->memregion("maincpu")->base();
- decrypted_region2 = (UINT16*)state->m_decrypted_region;
+ ROM2 = (UINT16*)memregion("maincpu")->base();
+ decrypted_region2 = (UINT16*)m_decrypted_region;
// patch interrupt vector
ROM2[0x0070/2] = 0x000b;
@@ -3407,63 +3401,60 @@ static DRIVER_INIT( bayrouteb1 )
decrypted_region2[0x1082/2] = 0xf000;
}
-static DRIVER_INIT( bayrouteb2 )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,bayrouteb2)
{
- UINT8 *mem = machine.root_device().memregion("soundcpu")->base();
+ UINT8 *mem = machine().root_device().memregion("soundcpu")->base();
memcpy(mem, mem + 0x10000, 0x8000);
DRIVER_INIT_CALL(common);
}
-static DRIVER_INIT( goldnaxeb2 )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,goldnaxeb2)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
DRIVER_INIT_CALL(common);
- state->m_spritebank_type = 1;
+ m_spritebank_type = 1;
}
-static DRIVER_INIT( tturfbl )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,tturfbl)
{
- UINT8 *mem = machine.root_device().memregion("soundcpu")->base();
+ UINT8 *mem = machine().root_device().memregion("soundcpu")->base();
memcpy(mem, mem + 0x10000, 0x8000);
DRIVER_INIT_CALL(common);
}
-static DRIVER_INIT( dduxbl )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,dduxbl)
{
DRIVER_INIT_CALL(common);
}
-static DRIVER_INIT( eswatbl )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,eswatbl)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
DRIVER_INIT_CALL(common);
- //state->m_splittab_fg_x = &sys16_textram[0x0f80];
+ //m_splittab_fg_x = &sys16_textram[0x0f80];
- state->m_spritebank_type = 1;
+ m_spritebank_type = 1;
}
-static DRIVER_INIT( fpointbl )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,fpointbl)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
DRIVER_INIT_CALL(common);
//sys16_video_config(fpoint_update_proc, -0xb8, NULL);
- state->m_back_yscroll = 2;
- state->m_fore_yscroll = 2;
+ m_back_yscroll = 2;
+ m_fore_yscroll = 2;
}
/* Tetris-based */
-static DRIVER_INIT( beautyb )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,beautyb)
{
- UINT16*rom = (UINT16*)machine.root_device().memregion( "maincpu" )->base();
+ UINT16*rom = (UINT16*)machine().root_device().memregion( "maincpu" )->base();
int x;
for (x = 0; x < 0x8000; x++)
@@ -3479,25 +3470,23 @@ static DRIVER_INIT( beautyb )
/* Sys18 */
-static DRIVER_INIT( shdancbl )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,shdancbl)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
- UINT8 *mem = state->memregion("soundcpu")->base();;
+ UINT8 *mem = memregion("soundcpu")->base();;
/* Copy first 32K of IC45 to Z80 address space */
memcpy(mem, mem + 0x10000, 0x8000);
DRIVER_INIT_CALL(common);
- state->m_spritebank_type = 1;
- state->m_splittab_fg_x = &state->m_textram[0x0f80/2];
- state->m_splittab_bg_x = &state->m_textram[0x0fc0/2];
+ m_spritebank_type = 1;
+ m_splittab_fg_x = &m_textram[0x0f80/2];
+ m_splittab_bg_x = &m_textram[0x0fc0/2];
}
-static DRIVER_INIT( mwalkbl )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,mwalkbl)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
- UINT8 *RAM = state->memregion("soundcpu")->base();
+ UINT8 *RAM = memregion("soundcpu")->base();
static const int mwalk_sound_info[] =
{
0x0f, 0x00000, // ROM #1 = 128K
@@ -3506,20 +3495,19 @@ static DRIVER_INIT( mwalkbl )
0x1f, 0xA0000 // ROM #4 = 256K
};
- memcpy(state->m_sound_info, mwalk_sound_info, sizeof(state->m_sound_info));
+ memcpy(m_sound_info, mwalk_sound_info, sizeof(m_sound_info));
memcpy(RAM, &RAM[0x10000], 0xa000);
DRIVER_INIT_CALL(common);
- state->m_spritebank_type = 1;
- state->m_splittab_fg_x = &state->m_textram[0x0f80/2];
- state->m_splittab_bg_x = &state->m_textram[0x0fc0/2];
+ m_spritebank_type = 1;
+ m_splittab_fg_x = &m_textram[0x0f80/2];
+ m_splittab_bg_x = &m_textram[0x0fc0/2];
}
-static DRIVER_INIT( astormbl )
+DRIVER_INIT_MEMBER(segas1x_bootleg_state,astormbl)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
- UINT8 *RAM = state->memregion("soundcpu")->base();
+ UINT8 *RAM = memregion("soundcpu")->base();
static const int astormbl_sound_info[] =
{
0x0f, 0x00000, // ROM #1 = 128K
@@ -3528,14 +3516,14 @@ static DRIVER_INIT( astormbl )
0x1f, 0xA0000 // ROM #4 = 256K
};
- memcpy(state->m_sound_info, astormbl_sound_info, sizeof(state->m_sound_info));
+ memcpy(m_sound_info, astormbl_sound_info, sizeof(m_sound_info));
memcpy(RAM, &RAM[0x10000], 0xa000);
DRIVER_INIT_CALL(common);
- state->m_spritebank_type = 1;
- state->m_splittab_fg_x = &state->m_textram[0x0f80/2];
- state->m_splittab_bg_x = &state->m_textram[0x0fc0/2];
+ m_spritebank_type = 1;
+ m_splittab_fg_x = &m_textram[0x0f80/2];
+ m_splittab_bg_x = &m_textram[0x0fc0/2];
}
/*************************************
diff --git a/src/mame/drivers/tagteam.c b/src/mame/drivers/tagteam.c
index 66814476557..7bd1fd7f375 100644
--- a/src/mame/drivers/tagteam.c
+++ b/src/mame/drivers/tagteam.c
@@ -308,5 +308,5 @@ ROM_END
-GAME( 1983, bigprowr, 0, tagteam, bigprowr, tagteam_state, 0, ROT270, "Technos Japan", "The Big Pro Wrestling!", 0 )
-GAME( 1983, tagteam, bigprowr, tagteam, tagteam, tagteam_state, 0, ROT270, "Technos Japan (Data East license)", "Tag Team Wrestling", 0 )
+GAME( 1983, bigprowr, 0, tagteam, bigprowr, driver_device, 0, ROT270, "Technos Japan", "The Big Pro Wrestling!", 0 )
+GAME( 1983, tagteam, bigprowr, tagteam, tagteam, driver_device, 0, ROT270, "Technos Japan (Data East license)", "Tag Team Wrestling", 0 )
diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c
index 4841e15c242..0fdd01300ae 100644
--- a/src/mame/drivers/tail2nos.c
+++ b/src/mame/drivers/tail2nos.c
@@ -348,5 +348,5 @@ ROM_START( sformula )
ROM_END
-GAME( 1989, tail2nos, 0, tail2nos, tail2nos, tail2nos_state, 0, ROT90, "V-System Co.", "Tail to Nose - Great Championship", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1989, sformula, tail2nos, tail2nos, tail2nos, tail2nos_state, 0, ROT90, "V-System Co.", "Super Formula (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1989, tail2nos, 0, tail2nos, tail2nos, driver_device, 0, ROT90, "V-System Co.", "Tail to Nose - Great Championship", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1989, sformula, tail2nos, tail2nos, tail2nos, driver_device, 0, ROT90, "V-System Co.", "Super Formula (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/taito.c b/src/mame/drivers/taito.c
index 9dac87f020e..c7ef2705c08 100644
--- a/src/mame/drivers/taito.c
+++ b/src/mame/drivers/taito.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(taito);
};
@@ -31,7 +33,7 @@ void taito_state::machine_reset()
{
}
-static DRIVER_INIT( taito )
+DRIVER_INIT_MEMBER(taito_state,taito)
{
}
diff --git a/src/mame/drivers/taito_b.c b/src/mame/drivers/taito_b.c
index 26097b7bc6e..e650ceaf039 100644
--- a/src/mame/drivers/taito_b.c
+++ b/src/mame/drivers/taito_b.c
@@ -3705,9 +3705,9 @@ ROM_START( realpunc )
ROM_END
-static DRIVER_INIT( taito_b )
+DRIVER_INIT_MEMBER(taitob_state,taito_b)
{
- machine.root_device().membank("bank1")->configure_entries(0, 4, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 4, machine().root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
}
GAME( 1989, masterw, 0, masterw, masterw, taitob_state, taito_b, ROT270, "Taito Corporation Japan", "Master of Weapon (World)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c
index 46e736ed1f9..21bb691fd63 100644
--- a/src/mame/drivers/taito_f2.c
+++ b/src/mame/drivers/taito_f2.c
@@ -5293,12 +5293,12 @@ ROM_START( driveout )
ROM_END
-static DRIVER_INIT( finalb )
+DRIVER_INIT_MEMBER(taitof2_state,finalb)
{
int i;
UINT8 data;
UINT32 offset;
- UINT8 *gfx = machine.root_device().memregion("gfx2")->base();
+ UINT8 *gfx = machine().root_device().memregion("gfx2")->base();
offset = 0x100000;
for (i = 0x180000; i < 0x200000; i++)
@@ -5320,22 +5320,20 @@ static DRIVER_INIT( finalb )
}
}
-static DRIVER_INIT( cameltry )
+DRIVER_INIT_MEMBER(taitof2_state,cameltry)
{
- taitof2_state *state = machine.driver_data<taitof2_state>();
- state->m_last[0] = 0;
- state->m_last[1] = 0;
+ m_last[0] = 0;
+ m_last[1] = 0;
- state->save_item(NAME(state->m_last));
+ save_item(NAME(m_last));
}
-static DRIVER_INIT( mjnquest )
+DRIVER_INIT_MEMBER(taitof2_state,mjnquest)
{
- taitof2_state *state = machine.driver_data<taitof2_state>();
- int i, len = state->memregion("gfx2")->bytes();
- UINT8 *gfx = state->memregion("gfx2")->base();
+ int i, len = memregion("gfx2")->bytes();
+ UINT8 *gfx = memregion("gfx2")->base();
/* the bytes in each longword are in reversed order, put them in the
order used by the other games. */
@@ -5348,23 +5346,22 @@ static DRIVER_INIT( mjnquest )
gfx[i + 1] = (t >> 4) | (t << 4);
}
- state->m_mjnquest_input = 0;
+ m_mjnquest_input = 0;
- state->save_item(NAME(state->m_mjnquest_input));
+ save_item(NAME(m_mjnquest_input));
}
-static DRIVER_INIT( driveout )
+DRIVER_INIT_MEMBER(taitof2_state,driveout)
{
- taitof2_state *state = machine.driver_data<taitof2_state>();
- state->m_driveout_sound_latch = 0;
- state->m_oki_bank = 0;
- state->m_nibble = 0;
+ m_driveout_sound_latch = 0;
+ m_oki_bank = 0;
+ m_nibble = 0;
- state->save_item(NAME(state->m_driveout_sound_latch));
- state->save_item(NAME(state->m_oki_bank));
- state->save_item(NAME(state->m_nibble));
- machine.save().register_postload(save_prepost_delegate(FUNC(reset_driveout_sound_region), &machine));
+ save_item(NAME(m_driveout_sound_latch));
+ save_item(NAME(m_oki_bank));
+ save_item(NAME(m_nibble));
+ machine().save().register_postload(save_prepost_delegate(FUNC(reset_driveout_sound_region), &machine()));
}
@@ -5372,85 +5369,85 @@ GAME( 1988, finalb, 0, finalb, finalb, taitof2_state, finalb,
GAME( 1988, finalbu, finalb, finalb, finalbu, taitof2_state, finalb, ROT0, "Taito America Corporation", "Final Blow (US)", GAME_SUPPORTS_SAVE )
GAME( 1988, finalbj, finalb, finalb, finalbj, taitof2_state, finalb, ROT0, "Taito Corporation", "Final Blow (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, dondokod, 0, dondokod, dondokod, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Don Doko Don (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, dondokodu, dondokod, dondokod, dondokodu, taitof2_state, 0, ROT0, "Taito America Corporation", "Don Doko Don (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, dondokodj, dondokod, dondokod, dondokodj, taitof2_state, 0, ROT0, "Taito Corporation", "Don Doko Don (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, dondokod, 0, dondokod, dondokod, driver_device, 0, ROT0, "Taito Corporation Japan", "Don Doko Don (World)", GAME_SUPPORTS_SAVE )
+GAME( 1989, dondokodu, dondokod, dondokod, dondokodu, driver_device, 0, ROT0, "Taito America Corporation", "Don Doko Don (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, dondokodj, dondokod, dondokod, dondokodj, driver_device, 0, ROT0, "Taito Corporation", "Don Doko Don (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, megablst, 0, megab, megab, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Mega Blast (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, megablstu, megablst, megab, megabu, taitof2_state, 0, ROT0, "Taito America Corporation", "Mega Blast (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, megablstj, megablst, megab, megabj, taitof2_state, 0, ROT0, "Taito Corporation", "Mega Blast (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, megablst, 0, megab, megab, driver_device, 0, ROT0, "Taito Corporation Japan", "Mega Blast (World)", GAME_SUPPORTS_SAVE )
+GAME( 1989, megablstu, megablst, megab, megabu, driver_device, 0, ROT0, "Taito America Corporation", "Mega Blast (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, megablstj, megablst, megab, megabj, driver_device, 0, ROT0, "Taito Corporation", "Mega Blast (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, thundfox, 0, thundfox, thundfox, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Thunder Fox (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, thundfoxu, thundfox, thundfox, thundfoxu, taitof2_state, 0, ROT0, "Taito America Corporation", "Thunder Fox (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, thundfoxj, thundfox, thundfox, thundfoxj, taitof2_state, 0, ROT0, "Taito Corporation", "Thunder Fox (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, thundfox, 0, thundfox, thundfox, driver_device, 0, ROT0, "Taito Corporation Japan", "Thunder Fox (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, thundfoxu, thundfox, thundfox, thundfoxu, driver_device, 0, ROT0, "Taito America Corporation", "Thunder Fox (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, thundfoxj, thundfox, thundfox, thundfoxj, driver_device, 0, ROT0, "Taito Corporation", "Thunder Fox (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1989, cameltry, 0, cameltry, cameltry, taitof2_state, cameltry, ROT0, "Taito America Corporation", "Cameltry (US, YM2610)", GAME_SUPPORTS_SAVE )
GAME( 1989, cameltryj, cameltry, cameltry, cameltryj, taitof2_state, cameltry, ROT0, "Taito Corporation", "Cameltry (Japan, YM2610)", GAME_SUPPORTS_SAVE )
GAME( 1989, cameltrya, cameltry, cameltrya, cameltry, taitof2_state, cameltry, ROT0, "Taito America Corporation", "Cameltry (World, YM2203 + M6295)", GAME_SUPPORTS_SAVE )
GAME( 1989, cameltryau, cameltry, cameltrya, cameltry, taitof2_state, cameltry, ROT0, "Taito America Corporation", "Cameltry (US, YM2203 + M6295)", GAME_SUPPORTS_SAVE )
-GAME( 1990, qtorimon, 0, qtorimon, qtorimon, taitof2_state, 0, ROT0, "Taito Corporation", "Quiz Torimonochou (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, qtorimon, 0, qtorimon, qtorimon, driver_device, 0, ROT0, "Taito Corporation", "Quiz Torimonochou (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, liquidk, 0, liquidk, liquidk, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Liquid Kids (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, liquidku, liquidk, liquidk, liquidku, taitof2_state, 0, ROT0, "Taito America Corporation", "Liquid Kids (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, mizubaku, liquidk, liquidk, mizubaku, taitof2_state, 0, ROT0, "Taito Corporation", "Mizubaku Daibouken (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, liquidk, 0, liquidk, liquidk, driver_device, 0, ROT0, "Taito Corporation Japan", "Liquid Kids (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, liquidku, liquidk, liquidk, liquidku, driver_device, 0, ROT0, "Taito America Corporation", "Liquid Kids (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, mizubaku, liquidk, liquidk, mizubaku, driver_device, 0, ROT0, "Taito Corporation", "Mizubaku Daibouken (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, quizhq, 0, quizhq, quizhq, taitof2_state, 0, ROT0, "Taito Corporation", "Quiz H.Q. (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, quizhq, 0, quizhq, quizhq, driver_device, 0, ROT0, "Taito Corporation", "Quiz H.Q. (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ssi, 0, ssi, ssi, taitof2_state, 0, ROT270, "Taito Corporation Japan", "Super Space Invaders '91 (World, Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ssia, ssi, ssi, ssi, taitof2_state, 0, ROT270, "Taito Corporation Japan", "Super Space Invaders '91 (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, majest12, ssi, ssi, majest12, taitof2_state, 0, ROT270, "Taito Corporation", "Majestic Twelve - The Space Invaders Part IV (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ssi, 0, ssi, ssi, driver_device, 0, ROT270, "Taito Corporation Japan", "Super Space Invaders '91 (World, Rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ssia, ssi, ssi, ssi, driver_device, 0, ROT270, "Taito Corporation Japan", "Super Space Invaders '91 (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, majest12, ssi, ssi, majest12, driver_device, 0, ROT270, "Taito Corporation", "Majestic Twelve - The Space Invaders Part IV (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, gunfront, 0, gunfront, gunfront, taitof2_state, 0, ROT270, "Taito Corporation Japan", "Gun & Frontier (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, gunfrontj, gunfront, gunfront, gunfrontj, taitof2_state, 0, ROT270, "Taito Corporation", "Gun Frontier (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, gunfront, 0, gunfront, gunfront, driver_device, 0, ROT270, "Taito Corporation Japan", "Gun & Frontier (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, gunfrontj, gunfront, gunfront, gunfrontj, driver_device, 0, ROT270, "Taito Corporation", "Gun Frontier (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, growl, 0, growl, growl, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Growl (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, growlu, growl, growl, growlu, taitof2_state, 0, ROT0, "Taito America Corporation", "Growl (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, runark, growl, growl, runark, taitof2_state, 0, ROT0, "Taito Corporation", "Runark (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, growl, 0, growl, growl, driver_device, 0, ROT0, "Taito Corporation Japan", "Growl (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, growlu, growl, growl, growlu, driver_device, 0, ROT0, "Taito America Corporation", "Growl (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, runark, growl, growl, runark, driver_device, 0, ROT0, "Taito Corporation", "Runark (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1990, mjnquest, 0, mjnquest, mjnquest, taitof2_state, mjnquest, ROT0, "Taito Corporation", "Mahjong Quest (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1990, mjnquestb, mjnquest, mjnquest, mjnquest, taitof2_state, mjnquest, ROT0, "Taito Corporation", "Mahjong Quest (No Nudity)", GAME_SUPPORTS_SAVE )
-GAME( 1990, footchmp, 0, footchmp, footchmp, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Football Champ (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hthero, footchmp, hthero, hthero, taitof2_state, 0, ROT0, "Taito Corporation", "Hat Trick Hero (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, euroch92, footchmp, footchmp, footchmp, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Euro Champ '92 (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, footchmpbl, footchmp, footchmpbl,footchmpbl, taitof2_state,0, ROT0, "bootleg", "Football Champ (World) (bootleg)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) // very different hw register etc.
+GAME( 1990, footchmp, 0, footchmp, footchmp, driver_device, 0, ROT0, "Taito Corporation Japan", "Football Champ (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hthero, footchmp, hthero, hthero, driver_device, 0, ROT0, "Taito Corporation", "Hat Trick Hero (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, euroch92, footchmp, footchmp, footchmp, driver_device, 0, ROT0, "Taito Corporation Japan", "Euro Champ '92 (World)", GAME_SUPPORTS_SAVE )
+GAME( 1992, footchmpbl, footchmp, footchmpbl,footchmpbl, driver_device,0, ROT0, "bootleg", "Football Champ (World) (bootleg)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) // very different hw register etc.
-GAME( 1990, koshien, 0, koshien, koshien, taitof2_state, 0, ROT0, "Taito Corporation", "Ah Eikou no Koshien (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, koshien, 0, koshien, koshien, driver_device, 0, ROT0, "Taito Corporation", "Ah Eikou no Koshien (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, yuyugogo, 0, yuyugogo, yuyugogo, taitof2_state, 0, ROT0, "Taito Corporation", "Yuuyu no Quiz de GO!GO! (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, yuyugogo, 0, yuyugogo, yuyugogo, driver_device, 0, ROT0, "Taito Corporation", "Yuuyu no Quiz de GO!GO! (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ninjak, 0, ninjak, ninjak, taitof2_state, 0, ROT0, "Taito Corporation Japan", "The Ninja Kids (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ninjaku, ninjak, ninjak, ninjaku, taitof2_state, 0, ROT0, "Taito America Corporation", "The Ninja Kids (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ninjakj, ninjak, ninjak, ninjakj, taitof2_state, 0, ROT0, "Taito Corporation", "The Ninja Kids (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ninjak, 0, ninjak, ninjak, driver_device, 0, ROT0, "Taito Corporation Japan", "The Ninja Kids (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ninjaku, ninjak, ninjak, ninjaku, driver_device, 0, ROT0, "Taito America Corporation", "The Ninja Kids (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ninjakj, ninjak, ninjak, ninjakj, driver_device, 0, ROT0, "Taito Corporation", "The Ninja Kids (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, solfigtr, 0, solfigtr, solfigtr, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Solitary Fighter (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, solfigtr, 0, solfigtr, solfigtr, driver_device, 0, ROT0, "Taito Corporation Japan", "Solitary Fighter (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, qzquest, 0, qzquest , qzquest, taitof2_state, 0, ROT0, "Taito Corporation", "Quiz Quest - Hime to Yuusha no Monogatari (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, qzquest, 0, qzquest , qzquest, driver_device, 0, ROT0, "Taito Corporation", "Quiz Quest - Hime to Yuusha no Monogatari (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, pulirula, 0, pulirula, pulirula, taitof2_state, 0, ROT0, "Taito Corporation Japan", "PuLiRuLa (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, pulirulaj, pulirula, pulirula, pulirulaj, taitof2_state, 0, ROT0, "Taito Corporation", "PuLiRuLa (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, pulirula, 0, pulirula, pulirula, driver_device, 0, ROT0, "Taito Corporation Japan", "PuLiRuLa (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, pulirulaj, pulirula, pulirula, pulirulaj, driver_device, 0, ROT0, "Taito Corporation", "PuLiRuLa (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, metalb, 0, metalb, metalb, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Metal Black (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, metalbj, metalb, metalb, metalbj, taitof2_state, 0, ROT0, "Taito Corporation", "Metal Black (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, metalb, 0, metalb, metalb, driver_device, 0, ROT0, "Taito Corporation Japan", "Metal Black (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, metalbj, metalb, metalb, metalbj, driver_device, 0, ROT0, "Taito Corporation", "Metal Black (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, qzchikyu, 0, qzchikyu, qzchikyu, taitof2_state, 0, ROT0, "Taito Corporation", "Quiz Chikyu Bouei Gun (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, qzchikyu, 0, qzchikyu, qzchikyu, driver_device, 0, ROT0, "Taito Corporation", "Quiz Chikyu Bouei Gun (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, yesnoj, 0, yesnoj, yesnoj, taitof2_state, 0, ROT0, "Taito Corporation", "Yes/No Sinri Tokimeki Chart", GAME_SUPPORTS_SAVE )
+GAME( 1992, yesnoj, 0, yesnoj, yesnoj, driver_device, 0, ROT0, "Taito Corporation", "Yes/No Sinri Tokimeki Chart", GAME_SUPPORTS_SAVE )
-GAME( 1992, deadconx, 0, deadconx, deadconx, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Dead Connection (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, deadconxj, deadconx, deadconxj, deadconxj, taitof2_state, 0, ROT0, "Taito Corporation", "Dead Connection (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, deadconx, 0, deadconx, deadconx, driver_device, 0, ROT0, "Taito Corporation Japan", "Dead Connection (World)", GAME_SUPPORTS_SAVE )
+GAME( 1992, deadconxj, deadconx, deadconxj, deadconxj, driver_device, 0, ROT0, "Taito Corporation", "Dead Connection (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, dinorex, 0, dinorex, dinorex, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Dino Rex (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, dinorexu, dinorex, dinorex, dinorexu, taitof2_state, 0, ROT0, "Taito America Corporation", "Dino Rex (US)", GAME_SUPPORTS_SAVE )
-GAME( 1992, dinorexj, dinorex, dinorex, dinorexj, taitof2_state, 0, ROT0, "Taito Corporation", "Dino Rex (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, dinorex, 0, dinorex, dinorex, driver_device, 0, ROT0, "Taito Corporation Japan", "Dino Rex (World)", GAME_SUPPORTS_SAVE )
+GAME( 1992, dinorexu, dinorex, dinorex, dinorexu, driver_device, 0, ROT0, "Taito America Corporation", "Dino Rex (US)", GAME_SUPPORTS_SAVE )
+GAME( 1992, dinorexj, dinorex, dinorex, dinorexj, driver_device, 0, ROT0, "Taito Corporation", "Dino Rex (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, qjinsei, 0, qjinsei, qjinsei, taitof2_state, 0, ROT0, "Taito Corporation", "Quiz Jinsei Gekijoh (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, qjinsei, 0, qjinsei, qjinsei, driver_device, 0, ROT0, "Taito Corporation", "Quiz Jinsei Gekijoh (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, qcrayon, 0, qcrayon, qcrayon, taitof2_state, 0, ROT0, "Taito Corporation", "Quiz Crayon Shinchan (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1993, qcrayon, 0, qcrayon, qcrayon, driver_device, 0, ROT0, "Taito Corporation", "Quiz Crayon Shinchan (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, qcrayon2, 0, qcrayon2, qcrayon2, taitof2_state, 0, ROT0, "Taito Corporation", "Crayon Shinchan Orato Asobo (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1993, qcrayon2, 0, qcrayon2, qcrayon2, driver_device, 0, ROT0, "Taito Corporation", "Crayon Shinchan Orato Asobo (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, driftout, 0, driftout, driftout, taitof2_state, 0, ROT270, "Visco", "Drift Out (Europe)", GAME_SUPPORTS_SAVE )
-GAME( 1991, driftoutj, driftout, driftout, driftout, taitof2_state, 0, ROT270, "Visco", "Drift Out (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, driftout, 0, driftout, driftout, driver_device, 0, ROT270, "Visco", "Drift Out (Europe)", GAME_SUPPORTS_SAVE )
+GAME( 1991, driftoutj, driftout, driftout, driftout, driver_device, 0, ROT270, "Visco", "Drift Out (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1991, driveout, driftout, driveout, driftout, taitof2_state, driveout, ROT270, "bootleg", "Drive Out (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/taito_f3.c b/src/mame/drivers/taito_f3.c
index 9ea21077d74..5658abdbcb3 100644
--- a/src/mame/drivers/taito_f3.c
+++ b/src/mame/drivers/taito_f3.c
@@ -3722,66 +3722,57 @@ static void tile_decode(running_machine &machine)
}
}
-static DRIVER_INIT( ringrage )
+DRIVER_INIT_MEMBER(taito_f3_state,ringrage)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=RINGRAGE;
- tile_decode(machine);
+ m_f3_game=RINGRAGE;
+ tile_decode(machine());
}
-static DRIVER_INIT( arabianm )
+DRIVER_INIT_MEMBER(taito_f3_state,arabianm)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=ARABIANM;
- tile_decode(machine);
+ m_f3_game=ARABIANM;
+ tile_decode(machine());
}
-static DRIVER_INIT( ridingf )
+DRIVER_INIT_MEMBER(taito_f3_state,ridingf)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=RIDINGF;
- tile_decode(machine);
+ m_f3_game=RIDINGF;
+ tile_decode(machine());
}
-static DRIVER_INIT( gseeker )
+DRIVER_INIT_MEMBER(taito_f3_state,gseeker)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=GSEEKER;
- tile_decode(machine);
+ m_f3_game=GSEEKER;
+ tile_decode(machine());
}
-static DRIVER_INIT( gunlock )
+DRIVER_INIT_MEMBER(taito_f3_state,gunlock)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=GUNLOCK;
- tile_decode(machine);
+ m_f3_game=GUNLOCK;
+ tile_decode(machine());
}
-static DRIVER_INIT( elvactr )
+DRIVER_INIT_MEMBER(taito_f3_state,elvactr)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=EACTION2;
- tile_decode(machine);
+ m_f3_game=EACTION2;
+ tile_decode(machine());
}
-static DRIVER_INIT( cupfinal )
+DRIVER_INIT_MEMBER(taito_f3_state,cupfinal)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=SCFINALS;
- tile_decode(machine);
+ m_f3_game=SCFINALS;
+ tile_decode(machine());
}
-static DRIVER_INIT( trstaroj )
+DRIVER_INIT_MEMBER(taito_f3_state,trstaroj)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=TRSTAR;
- tile_decode(machine);
+ m_f3_game=TRSTAR;
+ tile_decode(machine());
}
-static DRIVER_INIT( scfinals )
+DRIVER_INIT_MEMBER(taito_f3_state,scfinals)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- UINT32 *RAM = (UINT32 *)state->memregion("maincpu")->base();
+ UINT32 *RAM = (UINT32 *)memregion("maincpu")->base();
/* Doesn't boot without this - eprom related? */
RAM[0x5af0/4]=0x4e710000|(RAM[0x5af0/4]&0xffff);
@@ -3789,71 +3780,62 @@ static DRIVER_INIT( scfinals )
/* Rom checksum error */
RAM[0xdd0/4]=0x4e750000;
- state->m_f3_game=SCFINALS;
- tile_decode(machine);
+ m_f3_game=SCFINALS;
+ tile_decode(machine());
}
-static DRIVER_INIT( lightbr )
+DRIVER_INIT_MEMBER(taito_f3_state,lightbr)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=LIGHTBR;
- tile_decode(machine);
+ m_f3_game=LIGHTBR;
+ tile_decode(machine());
}
-static DRIVER_INIT( kaiserkn )
+DRIVER_INIT_MEMBER(taito_f3_state,kaiserkn)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=KAISERKN;
- tile_decode(machine);
+ m_f3_game=KAISERKN;
+ tile_decode(machine());
}
-static DRIVER_INIT( dariusg )
+DRIVER_INIT_MEMBER(taito_f3_state,dariusg)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=DARIUSG;
- tile_decode(machine);
+ m_f3_game=DARIUSG;
+ tile_decode(machine());
}
-static DRIVER_INIT( spcinvdj )
+DRIVER_INIT_MEMBER(taito_f3_state,spcinvdj)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=SPCINVDX;
- tile_decode(machine);
+ m_f3_game=SPCINVDX;
+ tile_decode(machine());
}
-static DRIVER_INIT( qtheater )
+DRIVER_INIT_MEMBER(taito_f3_state,qtheater)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=QTHEATER;
- tile_decode(machine);
+ m_f3_game=QTHEATER;
+ tile_decode(machine());
}
-static DRIVER_INIT( spcinv95 )
+DRIVER_INIT_MEMBER(taito_f3_state,spcinv95)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=SPCINV95;
- tile_decode(machine);
+ m_f3_game=SPCINV95;
+ tile_decode(machine());
}
-static DRIVER_INIT( gekirido )
+DRIVER_INIT_MEMBER(taito_f3_state,gekirido)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=GEKIRIDO;
- tile_decode(machine);
+ m_f3_game=GEKIRIDO;
+ tile_decode(machine());
}
-static DRIVER_INIT( ktiger2 )
+DRIVER_INIT_MEMBER(taito_f3_state,ktiger2)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=KTIGER2;
- tile_decode(machine);
+ m_f3_game=KTIGER2;
+ tile_decode(machine());
}
-static DRIVER_INIT( bubsymph )
+DRIVER_INIT_MEMBER(taito_f3_state,bubsymph)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=BUBSYMPH;
- tile_decode(machine);
+ m_f3_game=BUBSYMPH;
+ tile_decode(machine());
}
@@ -3880,16 +3862,15 @@ WRITE32_MEMBER(taito_f3_state::bubsympb_oki_w)
}
-static DRIVER_INIT( bubsympb )
+DRIVER_INIT_MEMBER(taito_f3_state,bubsympb)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=BUBSYMPH;
- //tile_decode(machine);
+ m_f3_game=BUBSYMPH;
+ //tile_decode(machine());
/* expand gfx rom */
{
int i;
- UINT8 *gfx = state->memregion("gfx2")->base();
+ UINT8 *gfx = memregion("gfx2")->base();
for (i=0x200000;i<0x400000; i+=4)
{
@@ -3905,43 +3886,38 @@ static DRIVER_INIT( bubsympb )
}
}
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x4a001c, 0x4a001f, read32_delegate(FUNC(taito_f3_state::bubsympb_oki_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4a001c, 0x4a001f, write32_delegate(FUNC(taito_f3_state::bubsympb_oki_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x4a001c, 0x4a001f, read32_delegate(FUNC(taito_f3_state::bubsympb_oki_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4a001c, 0x4a001f, write32_delegate(FUNC(taito_f3_state::bubsympb_oki_w),this));
}
-static DRIVER_INIT( bubblem )
+DRIVER_INIT_MEMBER(taito_f3_state,bubblem)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=BUBBLEM;
- tile_decode(machine);
+ m_f3_game=BUBBLEM;
+ tile_decode(machine());
}
-static DRIVER_INIT( cleopatr )
+DRIVER_INIT_MEMBER(taito_f3_state,cleopatr)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=CLEOPATR;
- tile_decode(machine);
+ m_f3_game=CLEOPATR;
+ tile_decode(machine());
}
-static DRIVER_INIT( popnpop )
+DRIVER_INIT_MEMBER(taito_f3_state,popnpop)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=POPNPOP;
- tile_decode(machine);
+ m_f3_game=POPNPOP;
+ tile_decode(machine());
}
-static DRIVER_INIT( landmakr )
+DRIVER_INIT_MEMBER(taito_f3_state,landmakr)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=LANDMAKR;
- tile_decode(machine);
+ m_f3_game=LANDMAKR;
+ tile_decode(machine());
}
-static DRIVER_INIT( landmkrp )
+DRIVER_INIT_MEMBER(taito_f3_state,landmkrp)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- UINT32 *RAM = (UINT32 *)state->memregion("maincpu")->base();
+ UINT32 *RAM = (UINT32 *)memregion("maincpu")->base();
/* For some reason the least significant byte in the last 2 long words of
ROM is swapped. As the roms have been verified ok, I assume this is some
@@ -3950,118 +3926,104 @@ static DRIVER_INIT( landmkrp )
RAM[0x1ffff8/4]=0xffffffff; /* From 0xffffff03 */
RAM[0x1ffffc/4]=0xffff0003; /* From 0xffff00ff */
- state->m_f3_game=LANDMAKR;
- tile_decode(machine);
+ m_f3_game=LANDMAKR;
+ tile_decode(machine());
}
-static DRIVER_INIT( pbobble3 )
+DRIVER_INIT_MEMBER(taito_f3_state,pbobble3)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=PBOBBLE3;
- tile_decode(machine);
+ m_f3_game=PBOBBLE3;
+ tile_decode(machine());
}
-static DRIVER_INIT( pbobble4 )
+DRIVER_INIT_MEMBER(taito_f3_state,pbobble4)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=PBOBBLE4;
- tile_decode(machine);
+ m_f3_game=PBOBBLE4;
+ tile_decode(machine());
}
-static DRIVER_INIT( quizhuhu )
+DRIVER_INIT_MEMBER(taito_f3_state,quizhuhu)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=QUIZHUHU;
- tile_decode(machine);
+ m_f3_game=QUIZHUHU;
+ tile_decode(machine());
}
-static DRIVER_INIT( pbobble2 )
+DRIVER_INIT_MEMBER(taito_f3_state,pbobble2)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=PBOBBLE2;
- tile_decode(machine);
+ m_f3_game=PBOBBLE2;
+ tile_decode(machine());
}
-static DRIVER_INIT( pbobbl2p )
+DRIVER_INIT_MEMBER(taito_f3_state,pbobbl2p)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
// has 040092: beq $30000; (2+)
// which eventually causes the game to crash
// -- protection check?? or some kind of checksum fail?
- UINT32 *ROM = (UINT32 *)state->memregion("maincpu")->base();
+ UINT32 *ROM = (UINT32 *)memregion("maincpu")->base();
/* protection? */
ROM[0x40090/4]=0x00004e71|(ROM[0x40090/4]&0xffff0000);
ROM[0x40094/4]=0x4e714e71;
- state->m_f3_game=PBOBBLE2;
- tile_decode(machine);
+ m_f3_game=PBOBBLE2;
+ tile_decode(machine());
}
-static DRIVER_INIT( pbobbl2x )
+DRIVER_INIT_MEMBER(taito_f3_state,pbobbl2x)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=PBOBBLE2;
- tile_decode(machine);
+ m_f3_game=PBOBBLE2;
+ tile_decode(machine());
}
-static DRIVER_INIT( hthero95 )
+DRIVER_INIT_MEMBER(taito_f3_state,hthero95)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=HTHERO95;
- tile_decode(machine);
+ m_f3_game=HTHERO95;
+ tile_decode(machine());
}
-static DRIVER_INIT( kirameki )
+DRIVER_INIT_MEMBER(taito_f3_state,kirameki)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=KIRAMEKI;
- tile_decode(machine);
+ m_f3_game=KIRAMEKI;
+ tile_decode(machine());
}
-static DRIVER_INIT( puchicar )
+DRIVER_INIT_MEMBER(taito_f3_state,puchicar)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=PUCHICAR;
- tile_decode(machine);
+ m_f3_game=PUCHICAR;
+ tile_decode(machine());
}
-static DRIVER_INIT( twinqix )
+DRIVER_INIT_MEMBER(taito_f3_state,twinqix)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=TWINQIX;
- tile_decode(machine);
+ m_f3_game=TWINQIX;
+ tile_decode(machine());
}
-static DRIVER_INIT( arkretrn )
+DRIVER_INIT_MEMBER(taito_f3_state,arkretrn)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=ARKRETRN;
- tile_decode(machine);
+ m_f3_game=ARKRETRN;
+ tile_decode(machine());
}
-static DRIVER_INIT( intcup94 )
+DRIVER_INIT_MEMBER(taito_f3_state,intcup94)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=SCFINALS;
- tile_decode(machine);
+ m_f3_game=SCFINALS;
+ tile_decode(machine());
}
-static DRIVER_INIT( recalh )
+DRIVER_INIT_MEMBER(taito_f3_state,recalh)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=RECALH;
- tile_decode(machine);
+ m_f3_game=RECALH;
+ tile_decode(machine());
}
-static DRIVER_INIT( commandw )
+DRIVER_INIT_MEMBER(taito_f3_state,commandw)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state->m_f3_game=COMMANDW;
- tile_decode(machine);
+ m_f3_game=COMMANDW;
+ tile_decode(machine());
}
/******************************************************************************/
diff --git a/src/mame/drivers/taito_h.c b/src/mame/drivers/taito_h.c
index 9193b6a56c0..d34e9582199 100644
--- a/src/mame/drivers/taito_h.c
+++ b/src/mame/drivers/taito_h.c
@@ -862,8 +862,8 @@ ROM_END
/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME */
-GAME( 1988, syvalion, 0, syvalion, syvalion, taitoh_state, 0, ROT0, "Taito Corporation", "Syvalion (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, recordbr, 0, recordbr, recordbr, taitoh_state, 0, ROT0, "Taito Corporation Japan", "Recordbreaker (World)", GAME_SUPPORTS_SAVE )
-GAME( 1988, gogold, recordbr, recordbr, gogold, taitoh_state, 0, ROT0, "Taito Corporation", "Go For The Gold (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, dleague, 0, dleague, dleague, taitoh_state, 0, ROT0, "Taito America Corporation", "Dynamite League (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, dleaguej, dleague, dleague, dleaguej, taitoh_state, 0, ROT0, "Taito Corporation", "Dynamite League (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, syvalion, 0, syvalion, syvalion, driver_device, 0, ROT0, "Taito Corporation", "Syvalion (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, recordbr, 0, recordbr, recordbr, driver_device, 0, ROT0, "Taito Corporation Japan", "Recordbreaker (World)", GAME_SUPPORTS_SAVE )
+GAME( 1988, gogold, recordbr, recordbr, gogold, driver_device, 0, ROT0, "Taito Corporation", "Go For The Gold (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, dleague, 0, dleague, dleague, driver_device, 0, ROT0, "Taito America Corporation", "Dynamite League (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, dleaguej, dleague, dleague, dleaguej, driver_device, 0, ROT0, "Taito Corporation", "Dynamite League (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/taito_l.c b/src/mame/drivers/taito_l.c
index 66b3db4c793..36f2c735edb 100644
--- a/src/mame/drivers/taito_l.c
+++ b/src/mame/drivers/taito_l.c
@@ -2661,7 +2661,7 @@ ROM_END
// bits 7..0 => bits 0..7
-static DRIVER_INIT( plottinga )
+DRIVER_INIT_MEMBER(taitol_state,plottinga)
{
UINT8 tab[256];
UINT8 *p;
@@ -2675,7 +2675,7 @@ static DRIVER_INIT( plottinga )
v |= 1 << (7 - j);
tab[i] = v;
}
- p = machine.root_device().memregion("maincpu")->base();
+ p = machine().root_device().memregion("maincpu")->base();
for (i = 0; i < 0x10000; i++)
{
*p = tab[*p];
@@ -2684,34 +2684,34 @@ static DRIVER_INIT( plottinga )
}
-GAME( 1988, raimais, 0, raimais, raimais, taitol_state, 0, ROT0, "Taito Corporation Japan", "Raimais (World)", 0 )
-GAME( 1988, raimaisj, raimais, raimais, raimaisj, taitol_state, 0, ROT0, "Taito Corporation", "Raimais (Japan)", 0 )
-GAME( 1988, raimaisjo, raimais, raimais, raimaisj, taitol_state, 0, ROT0, "Taito Corporation", "Raimais (Japan, first revision)", 0 )
-GAME( 1988, fhawk, 0, fhawk, fhawk, taitol_state, 0, ROT270, "Taito Corporation Japan", "Fighting Hawk (World)", 0 )
-GAME( 1988, fhawkj, fhawk, fhawk, fhawkj, taitol_state, 0, ROT270, "Taito Corporation", "Fighting Hawk (Japan)", 0 )
-GAME( 1989, champwr, 0, champwr, champwr, taitol_state, 0, ROT0, "Taito Corporation Japan", "Champion Wrestler (World)", GAME_IMPERFECT_SOUND )
-GAME( 1989, champwru, champwr, champwr, champwru, taitol_state, 0, ROT0, "Taito America Corporation", "Champion Wrestler (US)", GAME_IMPERFECT_SOUND )
-GAME( 1989, champwrj, champwr, champwr, champwrj, taitol_state, 0, ROT0, "Taito Corporation", "Champion Wrestler (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1988, kurikint, 0, kurikint, kurikint, taitol_state, 0, ROT0, "Taito Corporation Japan", "Kuri Kinton (World)", 0 )
-GAME( 1988, kurikintu, kurikint, kurikint, kurikintj, taitol_state,0, ROT0, "Taito America Corporation", "Kuri Kinton (US)", 0 )
-GAME( 1988, kurikintj, kurikint, kurikint, kurikintj, taitol_state,0, ROT0, "Taito Corporation", "Kuri Kinton (Japan)", 0 )
-GAME( 1988, kurikinta, kurikint, kurikinta,kurikinta, taitol_state,0, ROT0, "Taito Corporation Japan", "Kuri Kinton (World, prototype?)", 0 )
-GAME( 1989, plotting, 0, plotting, plotting, taitol_state, 0, ROT0, "Taito Corporation Japan", "Plotting (World set 1)", 0 )
+GAME( 1988, raimais, 0, raimais, raimais, driver_device, 0, ROT0, "Taito Corporation Japan", "Raimais (World)", 0 )
+GAME( 1988, raimaisj, raimais, raimais, raimaisj, driver_device, 0, ROT0, "Taito Corporation", "Raimais (Japan)", 0 )
+GAME( 1988, raimaisjo, raimais, raimais, raimaisj, driver_device, 0, ROT0, "Taito Corporation", "Raimais (Japan, first revision)", 0 )
+GAME( 1988, fhawk, 0, fhawk, fhawk, driver_device, 0, ROT270, "Taito Corporation Japan", "Fighting Hawk (World)", 0 )
+GAME( 1988, fhawkj, fhawk, fhawk, fhawkj, driver_device, 0, ROT270, "Taito Corporation", "Fighting Hawk (Japan)", 0 )
+GAME( 1989, champwr, 0, champwr, champwr, driver_device, 0, ROT0, "Taito Corporation Japan", "Champion Wrestler (World)", GAME_IMPERFECT_SOUND )
+GAME( 1989, champwru, champwr, champwr, champwru, driver_device, 0, ROT0, "Taito America Corporation", "Champion Wrestler (US)", GAME_IMPERFECT_SOUND )
+GAME( 1989, champwrj, champwr, champwr, champwrj, driver_device, 0, ROT0, "Taito Corporation", "Champion Wrestler (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1988, kurikint, 0, kurikint, kurikint, driver_device, 0, ROT0, "Taito Corporation Japan", "Kuri Kinton (World)", 0 )
+GAME( 1988, kurikintu, kurikint, kurikint, kurikintj, driver_device,0, ROT0, "Taito America Corporation", "Kuri Kinton (US)", 0 )
+GAME( 1988, kurikintj, kurikint, kurikint, kurikintj, driver_device,0, ROT0, "Taito Corporation", "Kuri Kinton (Japan)", 0 )
+GAME( 1988, kurikinta, kurikint, kurikinta,kurikinta, driver_device,0, ROT0, "Taito Corporation Japan", "Kuri Kinton (World, prototype?)", 0 )
+GAME( 1989, plotting, 0, plotting, plotting, driver_device, 0, ROT0, "Taito Corporation Japan", "Plotting (World set 1)", 0 )
GAME( 1989, plottinga, plotting, plotting, plotting, taitol_state, plottinga,ROT0, "Taito Corporation Japan", "Plotting (World set 2, protected)", 0 )
-GAME( 1989, plottingb, plotting, plotting, plotting, taitol_state, 0, ROT0, "Taito Corporation Japan", "Plotting (World set 3, earliest version)", 0 )
-GAME( 1989, plottingu, plotting, plotting, plotting, taitol_state, 0, ROT0, "Taito America Corporation", "Plotting (US)", 0 )
-GAME( 1989, flipull, plotting, plotting, plotting, taitol_state, 0, ROT0, "Taito Corporation", "Flipull (Japan)", 0 )
-GAME( 1989, puzznic, 0, puzznic, puzznic, taitol_state, 0, ROT0, "Taito Corporation Japan", "Puzznic (World)", 0 )
-GAME( 1989, puzznicj, puzznic, puzznic, puzznic, taitol_state, 0, ROT0, "Taito Corporation", "Puzznic (Japan)", 0 )
-GAME( 1989, puzznici, puzznic, puzznici, puzznic, taitol_state, 0, ROT0, "bootleg", "Puzznic (Italian bootleg)", 0 )
-GAME( 1990, horshoes, 0, horshoes, horshoes, taitol_state, 0, ROT270, "Taito America Corporation", "American Horseshoes (US)", 0 )
-GAME( 1990, palamed, 0, palamed, palamed, taitol_state, 0, ROT0, "Taito Corporation", "Palamedes (Japan)", 0 )
-GAME( 1993, cachat, 0, cachat, cachat, taitol_state, 0, ROT0, "Taito Corporation", "Cachat (Japan)", 0 )
-GAME( 1993, tubeit, cachat, cachat, tubeit, taitol_state, 0, ROT0, "Taito Corporation", "Tube-It", 0 ) // No (c) message
-
-GAME( 199?, cubybop, 0, cachat, cubybop, taitol_state, 0, ROT0, "Hot-B", "Cuby Bop (location test)", 0 ) // No (c) message, but Hot-B company logo in tile gfx
-GAME( 1992, plgirls, 0, cachat, plgirls, taitol_state, 0, ROT270, "Hot-B", "Play Girls", 0 )
-GAME( 1992, lagirl, plgirls, cachat, plgirls, taitol_state, 0, ROT270, "bootleg", "LA Girl", 0 ) /* bootleg hardware with changed title & backgrounds */
-GAME( 1993, plgirls2, 0, cachat, plgirls2, taitol_state, 0, ROT270, "Hot-B", "Play Girls 2", 0 )
-
-GAME( 1990, evilston, 0, evilston, evilston, taitol_state, 0, ROT270, "Spacy Industrial, Ltd.", "Evil Stone", GAME_IMPERFECT_SOUND )
+GAME( 1989, plottingb, plotting, plotting, plotting, driver_device, 0, ROT0, "Taito Corporation Japan", "Plotting (World set 3, earliest version)", 0 )
+GAME( 1989, plottingu, plotting, plotting, plotting, driver_device, 0, ROT0, "Taito America Corporation", "Plotting (US)", 0 )
+GAME( 1989, flipull, plotting, plotting, plotting, driver_device, 0, ROT0, "Taito Corporation", "Flipull (Japan)", 0 )
+GAME( 1989, puzznic, 0, puzznic, puzznic, driver_device, 0, ROT0, "Taito Corporation Japan", "Puzznic (World)", 0 )
+GAME( 1989, puzznicj, puzznic, puzznic, puzznic, driver_device, 0, ROT0, "Taito Corporation", "Puzznic (Japan)", 0 )
+GAME( 1989, puzznici, puzznic, puzznici, puzznic, driver_device, 0, ROT0, "bootleg", "Puzznic (Italian bootleg)", 0 )
+GAME( 1990, horshoes, 0, horshoes, horshoes, driver_device, 0, ROT270, "Taito America Corporation", "American Horseshoes (US)", 0 )
+GAME( 1990, palamed, 0, palamed, palamed, driver_device, 0, ROT0, "Taito Corporation", "Palamedes (Japan)", 0 )
+GAME( 1993, cachat, 0, cachat, cachat, driver_device, 0, ROT0, "Taito Corporation", "Cachat (Japan)", 0 )
+GAME( 1993, tubeit, cachat, cachat, tubeit, driver_device, 0, ROT0, "Taito Corporation", "Tube-It", 0 ) // No (c) message
+
+GAME( 199?, cubybop, 0, cachat, cubybop, driver_device, 0, ROT0, "Hot-B", "Cuby Bop (location test)", 0 ) // No (c) message, but Hot-B company logo in tile gfx
+GAME( 1992, plgirls, 0, cachat, plgirls, driver_device, 0, ROT270, "Hot-B", "Play Girls", 0 )
+GAME( 1992, lagirl, plgirls, cachat, plgirls, driver_device, 0, ROT270, "bootleg", "LA Girl", 0 ) /* bootleg hardware with changed title & backgrounds */
+GAME( 1993, plgirls2, 0, cachat, plgirls2, driver_device, 0, ROT270, "Hot-B", "Play Girls 2", 0 )
+
+GAME( 1990, evilston, 0, evilston, evilston, driver_device, 0, ROT270, "Spacy Industrial, Ltd.", "Evil Stone", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/taito_o.c b/src/mame/drivers/taito_o.c
index 7498f0f00bc..ed836387690 100644
--- a/src/mame/drivers/taito_o.c
+++ b/src/mame/drivers/taito_o.c
@@ -299,4 +299,4 @@ ROM_START( parentj )
ROM_LOAD( "ampal22v10a-0233.c42", 0x000, 0x2dd, CRC(0c030a81) SHA1(0f8198df2cb046683d2db9ac8e609cdff53083ed) )
ROM_END
-GAME( 1989, parentj, 0, parentj, parentj, taitoo_state, 0, ROT0, "Taito", "Parent Jack", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1989, parentj, 0, parentj, parentj, driver_device, 0, ROT0, "Taito", "Parent Jack", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/taito_x.c b/src/mame/drivers/taito_x.c
index bbd6f49f56d..f1f2ffff4da 100644
--- a/src/mame/drivers/taito_x.c
+++ b/src/mame/drivers/taito_x.c
@@ -333,6 +333,7 @@ public:
DECLARE_WRITE16_MEMBER(daisenpu_input_w);
DECLARE_WRITE16_MEMBER(kyustrkr_input_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
+ DECLARE_DRIVER_INIT(kyustrkr);
};
READ16_MEMBER(taitox_state::superman_dsw_input_r)
@@ -1223,19 +1224,18 @@ ROM_START( ballbros )
ROM_END
-static DRIVER_INIT( kyustrkr )
+DRIVER_INIT_MEMBER(taitox_state,kyustrkr)
{
- taitox_state *state = machine.driver_data<taitox_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x900000, 0x90000f, write16_delegate(FUNC(taitox_state::kyustrkr_input_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x900000, 0x90000f, write16_delegate(FUNC(taitox_state::kyustrkr_input_w),this));
}
-GAME( 1988, superman, 0, superman, superman, taitox_state, 0, ROT0, "Taito Corporation", "Superman", 0 )
-GAME( 1988, supermanj, superman, superman, supermanj, taitox_state, 0, ROT0, "Taito Corporation", "Superman (Japan)", 0 )
-GAME( 1989, twinhawk, 0, daisenpu, twinhawk, taitox_state, 0, ROT270, "Taito Corporation Japan", "Twin Hawk (World)", 0 )
-GAME( 1989, twinhawku, twinhawk, daisenpu, twinhawku, taitox_state, 0, ROT270, "Taito America Corporation", "Twin Hawk (US)", 0 )
-GAME( 1989, daisenpu, twinhawk, daisenpu, daisenpu, taitox_state, 0, ROT270, "Taito Corporation", "Daisenpu (Japan)", 0 )
-GAME( 1989, gigandes, 0, gigandes, gigandes, taitox_state, 0, ROT0, "East Technology", "Gigandes", 0 )
-GAME( 1989, gigandesj, gigandes, gigandes, gigandes, taitox_state, 0, ROT0, "East Technology", "Gigandes (Japan)", 0 )
+GAME( 1988, superman, 0, superman, superman, driver_device, 0, ROT0, "Taito Corporation", "Superman", 0 )
+GAME( 1988, supermanj, superman, superman, supermanj, driver_device, 0, ROT0, "Taito Corporation", "Superman (Japan)", 0 )
+GAME( 1989, twinhawk, 0, daisenpu, twinhawk, driver_device, 0, ROT270, "Taito Corporation Japan", "Twin Hawk (World)", 0 )
+GAME( 1989, twinhawku, twinhawk, daisenpu, twinhawku, driver_device, 0, ROT270, "Taito America Corporation", "Twin Hawk (US)", 0 )
+GAME( 1989, daisenpu, twinhawk, daisenpu, daisenpu, driver_device, 0, ROT270, "Taito Corporation", "Daisenpu (Japan)", 0 )
+GAME( 1989, gigandes, 0, gigandes, gigandes, driver_device, 0, ROT0, "East Technology", "Gigandes", 0 )
+GAME( 1989, gigandesj, gigandes, gigandes, gigandes, driver_device, 0, ROT0, "East Technology", "Gigandes (Japan)", 0 )
GAME( 1989, kyustrkr, 0, ballbros, kyustrkr, taitox_state, kyustrkr, ROT180, "East Technology", "Last Striker / Kyuukyoku no Striker", 0 )
-GAME( 1992, ballbros, 0, ballbros, ballbros, taitox_state, 0, ROT0, "East Technology", "Balloon Brothers", 0 )
+GAME( 1992, ballbros, 0, ballbros, ballbros, driver_device, 0, ROT0, "East Technology", "Balloon Brothers", 0 )
diff --git a/src/mame/drivers/taito_z.c b/src/mame/drivers/taito_z.c
index 4de1d8ac132..d5d488c8157 100644
--- a/src/mame/drivers/taito_z.c
+++ b/src/mame/drivers/taito_z.c
@@ -5050,21 +5050,19 @@ ROM_START( racingb )
ROM_END
-static DRIVER_INIT( taitoz )
+DRIVER_INIT_MEMBER(taitoz_state,taitoz)
{
- //taitoz_state *state = machine.driver_data<taitoz_state>();
- machine.save().register_postload(save_prepost_delegate(FUNC(parse_cpu_control), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(parse_cpu_control), &machine()));
}
-static DRIVER_INIT( bshark )
+DRIVER_INIT_MEMBER(taitoz_state,bshark)
{
- taitoz_state *state = machine.driver_data<taitoz_state>();
DRIVER_INIT_CALL(taitoz);
- state->m_eep_latch = 0;
+ m_eep_latch = 0;
- state->save_item(NAME(state->m_eep_latch));
+ save_item(NAME(m_eep_latch));
}
diff --git a/src/mame/drivers/taitoair.c b/src/mame/drivers/taitoair.c
index 2d7fd7c163c..e003a8f92ce 100644
--- a/src/mame/drivers/taitoair.c
+++ b/src/mame/drivers/taitoair.c
@@ -869,5 +869,5 @@ ROM_END
/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME */
-GAME( 1988, topland, 0, airsys, topland, taitoair_state, 0, ROT0, "Taito Corporation Japan", "Top Landing (World)", GAME_NOT_WORKING )
-GAME( 1990, ainferno, 0, airsys, ainferno, taitoair_state, 0, ROT0, "Taito America Corporation", "Air Inferno (US)", GAME_NOT_WORKING )
+GAME( 1988, topland, 0, airsys, topland, driver_device, 0, ROT0, "Taito Corporation Japan", "Top Landing (World)", GAME_NOT_WORKING )
+GAME( 1990, ainferno, 0, airsys, ainferno, driver_device, 0, ROT0, "Taito America Corporation", "Air Inferno (US)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/taitogn.c b/src/mame/drivers/taitogn.c
index 26e3df903ef..9e5a1a3ab40 100644
--- a/src/mame/drivers/taitogn.c
+++ b/src/mame/drivers/taitogn.c
@@ -385,6 +385,8 @@ public:
DECLARE_WRITE32_MEMBER(coin_w);
DECLARE_READ32_MEMBER(coin_r);
DECLARE_READ32_MEMBER(gnet_mahjong_panel_r);
+ DECLARE_DRIVER_INIT(coh3002t_mp);
+ DECLARE_DRIVER_INIT(coh3002t);
};
@@ -878,33 +880,31 @@ READ32_MEMBER(taitogn_state::gnet_mahjong_panel_r)
// Init and reset
-static DRIVER_INIT( coh3002t )
+DRIVER_INIT_MEMBER(taitogn_state,coh3002t)
{
- taitogn_state *state = machine.driver_data<taitogn_state>();
- state->m_biosflash = machine.device<intel_te28f160_device>("biosflash");
- state->m_pgmflash = machine.device<intel_e28f400_device>("pgmflash");
- state->m_sndflash[0] = machine.device<intel_te28f160_device>("sndflash0");
- state->m_sndflash[1] = machine.device<intel_te28f160_device>("sndflash1");
- state->m_sndflash[2] = machine.device<intel_te28f160_device>("sndflash2");
+ m_biosflash = machine().device<intel_te28f160_device>("biosflash");
+ m_pgmflash = machine().device<intel_e28f400_device>("pgmflash");
+ m_sndflash[0] = machine().device<intel_te28f160_device>("sndflash0");
+ m_sndflash[1] = machine().device<intel_te28f160_device>("sndflash1");
+ m_sndflash[2] = machine().device<intel_te28f160_device>("sndflash2");
- psx_driver_init(machine);
+ psx_driver_init(machine());
znsec_init(0, tt10);
znsec_init(1, tt16);
- psx_sio_install_handler(machine, 0, sio_pad_handler);
- state->m_dip_timer = machine.scheduler().timer_alloc( FUNC(dip_timer_fired), NULL );
+ psx_sio_install_handler(machine(), 0, sio_pad_handler);
+ m_dip_timer = machine().scheduler().timer_alloc( FUNC(dip_timer_fired), NULL );
UINT32 metalength;
- memset(state->m_cis, 0xff, 512);
- if (get_disk_handle(machine, ":drive_0") != NULL)
- get_disk_handle(machine, ":drive_0")->read_metadata(PCMCIA_CIS_METADATA_TAG, 0, state->m_cis, 512, metalength);
+ memset(m_cis, 0xff, 512);
+ if (get_disk_handle(machine(), ":drive_0") != NULL)
+ get_disk_handle(machine(), ":drive_0")->read_metadata(PCMCIA_CIS_METADATA_TAG, 0, m_cis, 512, metalength);
}
-static DRIVER_INIT( coh3002t_mp )
+DRIVER_INIT_MEMBER(taitogn_state,coh3002t_mp)
{
DRIVER_INIT_CALL(coh3002t);
- taitogn_state *state = machine.driver_data<taitogn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x1fa10100, 0x1fa10103, read32_delegate(FUNC(taitogn_state::gnet_mahjong_panel_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x1fa10100, 0x1fa10103, read32_delegate(FUNC(taitogn_state::gnet_mahjong_panel_r),this));
}
static MACHINE_RESET( coh3002t )
diff --git a/src/mame/drivers/taitojc.c b/src/mame/drivers/taitojc.c
index 315e6b6e030..15794f86137 100644
--- a/src/mame/drivers/taitojc.c
+++ b/src/mame/drivers/taitojc.c
@@ -1321,33 +1321,30 @@ WRITE16_MEMBER(taitojc_state::dsp_idle_skip_w)
}
-static DRIVER_INIT( taitojc )
+DRIVER_INIT_MEMBER(taitojc_state,taitojc)
{
- taitojc_state *state = machine.driver_data<taitojc_state>();
- state->m_polygon_fifo = auto_alloc_array(machine, UINT16, TAITOJC_POLYGON_FIFO_SIZE);
+ m_polygon_fifo = auto_alloc_array(machine(), UINT16, TAITOJC_POLYGON_FIFO_SIZE);
- state->m_has_dsp_hack = 1;
+ m_has_dsp_hack = 1;
- machine.device("dsp")->memory().space(AS_DATA)->install_readwrite_handler(0x7ff0, 0x7ff0, read16_delegate(FUNC(taitojc_state::taitojc_dsp_idle_skip_r),state), write16_delegate(FUNC(taitojc_state::dsp_idle_skip_w),state));
+ machine().device("dsp")->memory().space(AS_DATA)->install_readwrite_handler(0x7ff0, 0x7ff0, read16_delegate(FUNC(taitojc_state::taitojc_dsp_idle_skip_r),this), write16_delegate(FUNC(taitojc_state::dsp_idle_skip_w),this));
}
-static DRIVER_INIT( dendego2 )
+DRIVER_INIT_MEMBER(taitojc_state,dendego2)
{
- taitojc_state *state = machine.driver_data<taitojc_state>();
- DRIVER_INIT_CALL( taitojc );
+ DRIVER_INIT_CALL(taitojc);
- machine.device("dsp")->memory().space(AS_DATA)->install_readwrite_handler(0x7ff0, 0x7ff0, read16_delegate(FUNC(taitojc_state::dendego2_dsp_idle_skip_r),state), write16_delegate(FUNC(taitojc_state::dsp_idle_skip_w),state));
+ machine().device("dsp")->memory().space(AS_DATA)->install_readwrite_handler(0x7ff0, 0x7ff0, read16_delegate(FUNC(taitojc_state::dendego2_dsp_idle_skip_r),this), write16_delegate(FUNC(taitojc_state::dsp_idle_skip_w),this));
}
-static DRIVER_INIT( dangcurv )
+DRIVER_INIT_MEMBER(taitojc_state,dangcurv)
{
- taitojc_state *state = machine.driver_data<taitojc_state>();
- DRIVER_INIT_CALL( taitojc );
+ DRIVER_INIT_CALL(taitojc);
- state->m_has_dsp_hack = 0;
+ m_has_dsp_hack = 0;
}
diff --git a/src/mame/drivers/taitopjc.c b/src/mame/drivers/taitopjc.c
index 5a0b5b53658..4a8791cbdfa 100644
--- a/src/mame/drivers/taitopjc.c
+++ b/src/mame/drivers/taitopjc.c
@@ -479,4 +479,4 @@ ROM_START( optiger )
// TODO: There are 6 PALs in total on the main PCB.
ROM_END
-GAME( 1998, optiger, 0, taitopjc, taitopjc, taitopjc_state, 0, ROT0, "Taito", "Operation Tiger", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1998, optiger, 0, taitopjc, taitopjc, driver_device, 0, ROT0, "Taito", "Operation Tiger", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/taitosj.c b/src/mame/drivers/taitosj.c
index 966bc249c22..a79de484716 100644
--- a/src/mame/drivers/taitosj.c
+++ b/src/mame/drivers/taitosj.c
@@ -2758,47 +2758,43 @@ static void init_common(running_machine &machine)
machine.add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(reset_common), &machine));
}
-static DRIVER_INIT( taitosj )
+DRIVER_INIT_MEMBER(taitosj_state,taitosj)
{
- init_common(machine);
+ init_common(machine());
}
-static DRIVER_INIT( spacecr )
+DRIVER_INIT_MEMBER(taitosj_state,spacecr)
{
- init_common(machine);
+ init_common(machine());
/* install protection handler */
- taitosj_state *state = machine.driver_data<taitosj_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd48b, 0xd48b, read8_delegate(FUNC(taitosj_state::spacecr_prot_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd48b, 0xd48b, read8_delegate(FUNC(taitosj_state::spacecr_prot_r),this));
}
-static DRIVER_INIT( alpine )
+DRIVER_INIT_MEMBER(taitosj_state,alpine)
{
- init_common(machine);
+ init_common(machine());
/* install protection handlers */
- taitosj_state *state = machine.driver_data<taitosj_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd40b, 0xd40b, read8_delegate(FUNC(taitosj_state::alpine_port_2_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd50f, 0xd50f, write8_delegate(FUNC(taitosj_state::alpine_protection_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd40b, 0xd40b, read8_delegate(FUNC(taitosj_state::alpine_port_2_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd50f, 0xd50f, write8_delegate(FUNC(taitosj_state::alpine_protection_w),this));
}
-static DRIVER_INIT( alpinea )
+DRIVER_INIT_MEMBER(taitosj_state,alpinea)
{
- init_common(machine);
+ init_common(machine());
/* install protection handlers */
- taitosj_state *state = machine.driver_data<taitosj_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd40b, 0xd40b, read8_delegate(FUNC(taitosj_state::alpine_port_2_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd50e, 0xd50e, write8_delegate(FUNC(taitosj_state::alpinea_bankswitch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd40b, 0xd40b, read8_delegate(FUNC(taitosj_state::alpine_port_2_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd50e, 0xd50e, write8_delegate(FUNC(taitosj_state::alpinea_bankswitch_w),this));
}
-static DRIVER_INIT( junglhbr )
+DRIVER_INIT_MEMBER(taitosj_state,junglhbr)
{
- init_common(machine);
+ init_common(machine());
/* inverter on bits 0 and 1 */
- taitosj_state *state = machine.driver_data<taitosj_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x9000, 0xbfff, write8_delegate(FUNC(taitosj_state::junglhbr_characterram_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x9000, 0xbfff, write8_delegate(FUNC(taitosj_state::junglhbr_characterram_w),this));
}
GAME( 1981, spaceskr, 0, nomcu, spaceskr, taitosj_state, taitosj, ROT0, "Taito Corporation", "Space Seeker", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/taitotz.c b/src/mame/drivers/taitotz.c
index 0525b1a39ce..97c18205cec 100644
--- a/src/mame/drivers/taitotz.c
+++ b/src/mame/drivers/taitotz.c
@@ -516,6 +516,11 @@ public:
int m_count;
taitotz_renderer *m_renderer;
+ DECLARE_DRIVER_INIT(batlgr2a);
+ DECLARE_DRIVER_INIT(batlgr2);
+ DECLARE_DRIVER_INIT(pwrshovl);
+ DECLARE_DRIVER_INIT(batlgear);
+ DECLARE_DRIVER_INIT(landhigh);
};
@@ -2528,71 +2533,66 @@ static const char BATLGR2_HDD_SERIAL[] = // " 05412842"
static const char BATLGR2A_HDD_SERIAL[] = // " 05411645"
{ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x35, 0x34, 0x31, 0x31, 0x36, 0x34, 0x35 };
-static DRIVER_INIT(landhigh)
+DRIVER_INIT_MEMBER(taitotz_state,landhigh)
{
- taitotz_state *state = machine.driver_data<taitotz_state>();
- init_taitotz_152(machine);
+ init_taitotz_152(machine());
- state->m_hdd_serial_number = LANDHIGH_HDD_SERIAL;
+ m_hdd_serial_number = LANDHIGH_HDD_SERIAL;
- state->m_scr_base = 0x1c0000;
+ m_scr_base = 0x1c0000;
- state->m_displist_addr = 0x5200b8;
+ m_displist_addr = 0x5200b8;
}
-static DRIVER_INIT(batlgear)
+DRIVER_INIT_MEMBER(taitotz_state,batlgear)
{
- taitotz_state *state = machine.driver_data<taitotz_state>();
- init_taitotz_111a(machine);
+ init_taitotz_111a(machine());
// unknown, not used by BIOS 1.11a
- state->m_hdd_serial_number = NULL;
+ m_hdd_serial_number = NULL;
- state->m_scr_base = 0x1c0000;
+ m_scr_base = 0x1c0000;
- state->m_displist_addr = 0x420038;
+ m_displist_addr = 0x420038;
}
-static DRIVER_INIT(batlgr2)
+DRIVER_INIT_MEMBER(taitotz_state,batlgr2)
{
- taitotz_state *state = machine.driver_data<taitotz_state>();
- init_taitotz_152(machine);
+ init_taitotz_152(machine());
- state->m_hdd_serial_number = BATLGR2_HDD_SERIAL;
+ m_hdd_serial_number = BATLGR2_HDD_SERIAL;
- state->m_scr_base = 0x1e0000;
+ m_scr_base = 0x1e0000;
- state->m_displist_addr = 0x3608e4;
+ m_displist_addr = 0x3608e4;
}
-static DRIVER_INIT(batlgr2a)
+DRIVER_INIT_MEMBER(taitotz_state,batlgr2a)
{
- taitotz_state *state = machine.driver_data<taitotz_state>();
- init_taitotz_152(machine);
+ init_taitotz_152(machine());
- state->m_hdd_serial_number = BATLGR2A_HDD_SERIAL;
+ m_hdd_serial_number = BATLGR2A_HDD_SERIAL;
- state->m_scr_base = 0x1e0000;
+ m_scr_base = 0x1e0000;
- state->m_displist_addr = 0x3608e4;
+ m_displist_addr = 0x3608e4;
}
-static DRIVER_INIT(pwrshovl)
+DRIVER_INIT_MEMBER(taitotz_state,pwrshovl)
{
- taitotz_state *state = machine.driver_data<taitotz_state>();
- init_taitotz_111a(machine);
+ init_taitotz_111a(machine());
// unknown, not used by BIOS 1.11a
- state->m_hdd_serial_number = NULL;
+ m_hdd_serial_number = NULL;
- state->m_scr_base = 0x1c0000;
+ m_scr_base = 0x1c0000;
- state->m_displist_addr = 0x4a989c;
+ m_displist_addr = 0x4a989c;
}
@@ -2697,7 +2697,7 @@ ROM_START( pwrshovl )
DISK_IMAGE( "pwrshovl", 0, SHA1(360f63b39f645851c513b4644fb40601b9ba1412) )
ROM_END
-GAME( 1999, taitotz, 0, taitotz, taitotz, taitotz_state, 0, ROT0, "Taito", "Type Zero BIOS", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT)
+GAME( 1999, taitotz, 0, taitotz, taitotz, driver_device, 0, ROT0, "Taito", "Type Zero BIOS", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT)
GAME( 1999, landhigh, taitotz, landhigh, landhigh, taitotz_state, landhigh, ROT0, "Taito", "Landing High Japan", GAME_NOT_WORKING | GAME_NO_SOUND )
GAME( 1999, batlgear, taitotz, taitotz, batlgr2, taitotz_state, batlgear, ROT0, "Taito", "Battle Gear", GAME_NOT_WORKING | GAME_NO_SOUND )
GAME( 1999, pwrshovl, taitotz, taitotz, pwrshovl, taitotz_state, pwrshovl, ROT0, "Taito", "Power Shovel ni Norou!! - Power Shovel Simulator", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/taitowlf.c b/src/mame/drivers/taitowlf.c
index d1d8a81ed3d..f18b3fecfcd 100644
--- a/src/mame/drivers/taitowlf.c
+++ b/src/mame/drivers/taitowlf.c
@@ -78,6 +78,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(pc_dack3_w);
DECLARE_WRITE_LINE_MEMBER(taitowlf_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
+ DECLARE_DRIVER_INIT(taitowlf);
};
#if !ENABLE_VGA
@@ -691,19 +692,18 @@ static void taitowlf_set_keyb_int(running_machine &machine, int state)
static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
#endif
-static DRIVER_INIT( taitowlf )
+DRIVER_INIT_MEMBER(taitowlf_state,taitowlf)
{
- taitowlf_state *state = machine.driver_data<taitowlf_state>();
- state->m_bios_ram = auto_alloc_array(machine, UINT32, 0x10000/4);
+ m_bios_ram = auto_alloc_array(machine(), UINT32, 0x10000/4);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, taitowlf_set_keyb_int);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, taitowlf_set_keyb_int);
- intel82439tx_init(machine);
+ intel82439tx_init(machine());
- kbdc8042_init(machine, &at8042);
+ kbdc8042_init(machine(), &at8042);
#if ENABLE_VGA
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
#endif
}
diff --git a/src/mame/drivers/tank8.c b/src/mame/drivers/tank8.c
index aad94213b66..e69b9a2b068 100644
--- a/src/mame/drivers/tank8.c
+++ b/src/mame/drivers/tank8.c
@@ -468,12 +468,12 @@ ROM_START( tank8 )
ROM_END
-static DRIVER_INIT( decode )
+DRIVER_INIT_MEMBER(tank8_state,decode)
{
- const UINT8* DECODE = machine.root_device().memregion("user1")->base();
+ const UINT8* DECODE = machine().root_device().memregion("user1")->base();
- UINT8* p1 = machine.root_device().memregion("maincpu")->base() + 0x00000;
- UINT8* p2 = machine.root_device().memregion("maincpu")->base() + 0x10000;
+ UINT8* p1 = machine().root_device().memregion("maincpu")->base() + 0x00000;
+ UINT8* p2 = machine().root_device().memregion("maincpu")->base() + 0x10000;
int i;
@@ -488,8 +488,8 @@ static DRIVER_INIT( decode )
}
-GAME( 1976, tank8, 0, tank8, tank8, tank8_state, 0, ROT0, "Atari (Kee Games)", "Tank 8 (set 1)", 0)
+GAME( 1976, tank8, 0, tank8, tank8, driver_device, 0, ROT0, "Atari (Kee Games)", "Tank 8 (set 1)", 0)
GAME( 1976, tank8a, tank8, tank8, tank8, tank8_state, decode, ROT0, "Atari (Kee Games)", "Tank 8 (set 2)", GAME_NOT_WORKING )
GAME( 1976, tank8b, tank8, tank8, tank8, tank8_state, decode, ROT0, "Atari (Kee Games)", "Tank 8 (set 3)", GAME_NOT_WORKING )
-GAME( 1976, tank8c, tank8, tank8, tank8, tank8_state, 0, ROT0, "Atari (Kee Games)", "Tank 8 (set 4)", GAME_NOT_WORKING )
-GAME( 1976, tank8d, tank8, tank8, tank8, tank8_state, 0, ROT0, "Atari (Kee Games)", "Tank 8 (set 5)", GAME_NOT_WORKING )
+GAME( 1976, tank8c, tank8, tank8, tank8, driver_device, 0, ROT0, "Atari (Kee Games)", "Tank 8 (set 4)", GAME_NOT_WORKING )
+GAME( 1976, tank8d, tank8, tank8, tank8, driver_device, 0, ROT0, "Atari (Kee Games)", "Tank 8 (set 5)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/tankbatt.c b/src/mame/drivers/tankbatt.c
index a8d040ab42b..eff4df8cf7f 100644
--- a/src/mame/drivers/tankbatt.c
+++ b/src/mame/drivers/tankbatt.c
@@ -346,5 +346,5 @@ ROM_START( tankbattb ) /* board with "NAMCO" removed from gfx1 rom, otherwise id
ROM_LOAD( "bct1-1.l3", 0x0000, 0x0100, CRC(d17518bc) SHA1(f3b0deffa586808bc59e9a24ec1699c54ebe84cc) ) // dm74s287n.3l
ROM_END
-GAME( 1980, tankbatt, 0, tankbatt, tankbatt, tankbatt_state, 0, ROT90, "Namco", "Tank Battalion", GAME_IMPERFECT_SOUND )
-GAME( 1980, tankbattb, tankbatt, tankbatt, tankbatt, tankbatt_state, 0, ROT90, "bootleg", "Tank Battalion (bootleg)", GAME_IMPERFECT_SOUND )
+GAME( 1980, tankbatt, 0, tankbatt, tankbatt, driver_device, 0, ROT90, "Namco", "Tank Battalion", GAME_IMPERFECT_SOUND )
+GAME( 1980, tankbattb, tankbatt, tankbatt, tankbatt, driver_device, 0, ROT90, "bootleg", "Tank Battalion (bootleg)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/tankbust.c b/src/mame/drivers/tankbust.c
index c62c5fbc90f..26ddf7e30cc 100644
--- a/src/mame/drivers/tankbust.c
+++ b/src/mame/drivers/tankbust.c
@@ -417,4 +417,4 @@ ROM_START( tankbust )
ROM_END
-GAME( 1985, tankbust, 0, tankbust, tankbust, tankbust_state, 0, ROT90, "Valadon Automation", "Tank Busters", 0 )
+GAME( 1985, tankbust, 0, tankbust, tankbust, driver_device, 0, ROT90, "Valadon Automation", "Tank Busters", 0 )
diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c
index b5b13898fc7..1ec8240699b 100644
--- a/src/mame/drivers/taotaido.c
+++ b/src/mame/drivers/taotaido.c
@@ -413,5 +413,5 @@ ROM_START( taotaidoa )
ROM_LOAD( "u15.bin", 0x000000, 0x200000, CRC(e95823e9) SHA1(362583944ad4fdde4f9e29928cf34376c7ad931f) )
ROM_END
-GAME( 1993, taotaido, 0, taotaido, taotaido, taotaido_state, 0, ROT0, "Video System Co.", "Tao Taido (set 1)", GAME_NO_COCKTAIL )
-GAME( 1993, taotaidoa,taotaido, taotaido, taotaida, taotaido_state, 0, ROT0, "Video System Co.", "Tao Taido (set 2)", GAME_NO_COCKTAIL )
+GAME( 1993, taotaido, 0, taotaido, taotaido, driver_device, 0, ROT0, "Video System Co.", "Tao Taido (set 1)", GAME_NO_COCKTAIL )
+GAME( 1993, taotaidoa,taotaido, taotaido, taotaida, driver_device, 0, ROT0, "Video System Co.", "Tao Taido (set 2)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/tapatune.c b/src/mame/drivers/tapatune.c
index 6f4fa1e64b0..2bc32d6c7fc 100644
--- a/src/mame/drivers/tapatune.c
+++ b/src/mame/drivers/tapatune.c
@@ -426,4 +426,4 @@ ROM_START(tapatune)
ROM_LOAD( "arom1.u16", 0x000000, 0x80000, CRC(e51696bc) SHA1(b002f8705ad1877f91a860dddb0ae16b2e73dd15) )
ROM_END
-GAME(1994, tapatune, 0, tapatune, tapatune, tapatune_state, 0, ROT0, "Creative Electronics And Software", "Tap-a-Tune", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME(1994, tapatune, 0, tapatune, tapatune, driver_device, 0, ROT0, "Creative Electronics And Software", "Tap-a-Tune", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/targeth.c b/src/mame/drivers/targeth.c
index aa2ed81deb1..ffaa59318e2 100644
--- a/src/mame/drivers/targeth.c
+++ b/src/mame/drivers/targeth.c
@@ -234,5 +234,5 @@ ROM_START( targetha )
ROM_LOAD( "targeth.c3", 0x0c0000, 0x080000, CRC(d4c771df) SHA1(7cc0a86ef6aa3d26ab8f19d198f62112bf012870) )
ROM_END
-GAME( 1994, targeth, 0, targeth, targeth, targeth_state, 0, ROT0, "Gaelco", "Target Hits (ver 1.1)", GAME_UNEMULATED_PROTECTION )
-GAME( 1994, targetha, targeth, targeth, targeth, targeth_state, 0, ROT0, "Gaelco", "Target Hits (ver 1.0)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, targeth, 0, targeth, targeth, driver_device, 0, ROT0, "Gaelco", "Target Hits (ver 1.1)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, targetha, targeth, targeth, targeth, driver_device, 0, ROT0, "Gaelco", "Target Hits (ver 1.0)", GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/tasman.c b/src/mame/drivers/tasman.c
index 27e634671b0..bc0552ccd8a 100644
--- a/src/mame/drivers/tasman.c
+++ b/src/mame/drivers/tasman.c
@@ -34,6 +34,7 @@ public:
DECLARE_READ32_MEMBER(eeprom_r);
DECLARE_WRITE32_MEMBER(eeprom_w);
DECLARE_WRITE8_MEMBER(kongambl_ff_w);
+ DECLARE_DRIVER_INIT(kingtut);
};
@@ -749,10 +750,9 @@ ROM_START( vikingt )
ROM_END
-static DRIVER_INIT( kingtut )
+DRIVER_INIT_MEMBER(kongambl_state,kingtut)
{
- kongambl_state *state = machine.driver_data<kongambl_state>();
- UINT32 *rom = (UINT32*)state->memregion("maincpu")->base();
+ UINT32 *rom = (UINT32*)memregion("maincpu")->base();
// rom[0x3986c/4] = (rom[0x3986c/4] & 0xffff0000) | 0x600e; // patch ROM check
// rom[0x2bfc8/4] = (rom[0x2bfc8/4] & 0xffff0000) | 0x6612; // patch VRAM ROM checks
@@ -761,7 +761,7 @@ static DRIVER_INIT( kingtut )
}
GAME( 199?, kingtut, 0, kongambl, kongambl, kongambl_state, kingtut, ROT0, "Konami", "King Tut (NSW, Australia)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, moneybnk, 0, kongambl, kongambl, kongambl_state, 0, ROT0, "Konami", "Money In The Bank (NSW, Australia)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, dragsphr, 0, kongambl, kongambl, kongambl_state, 0, ROT0, "Konami", "Dragon Sphere", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, ivorytsk, 0, kongambl, kongambl, kongambl_state, 0, ROT0, "Konami", "Ivory Tusk", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, vikingt, 0, kongambl, kongambl, kongambl_state, 0, ROT0, "Konami", "Viking Treasure", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, moneybnk, 0, kongambl, kongambl, driver_device, 0, ROT0, "Konami", "Money In The Bank (NSW, Australia)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, dragsphr, 0, kongambl, kongambl, driver_device, 0, ROT0, "Konami", "Dragon Sphere", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, ivorytsk, 0, kongambl, kongambl, driver_device, 0, ROT0, "Konami", "Ivory Tusk", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, vikingt, 0, kongambl, kongambl, driver_device, 0, ROT0, "Konami", "Viking Treasure", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c
index 003caffb79f..28c80b0f622 100644
--- a/src/mame/drivers/tatsumi.c
+++ b/src/mame/drivers/tatsumi.c
@@ -1281,12 +1281,11 @@ ROM_END
/***************************************************************************/
-static DRIVER_INIT( apache3 )
+DRIVER_INIT_MEMBER(tatsumi_state,apache3)
{
- tatsumi_state *state = machine.driver_data<tatsumi_state>();
- UINT8 *dst = state->memregion("gfx1")->base();
- UINT8 *src1 = state->memregion("gfx2")->base();
- UINT8 *src2 = state->memregion("gfx3")->base();
+ UINT8 *dst = memregion("gfx1")->base();
+ UINT8 *src1 = memregion("gfx2")->base();
+ UINT8 *src2 = memregion("gfx3")->base();
int i;
for (i=0; i<0x100000; i+=32) {
@@ -1299,22 +1298,21 @@ static DRIVER_INIT( apache3 )
}
// Copy sprite & palette data out of GFX rom area
- state->m_rom_sprite_lookup1 = machine.root_device().memregion("gfx2")->base();
- state->m_rom_sprite_lookup2 = machine.root_device().memregion("gfx3")->base();
- state->m_rom_clut0 = machine.root_device().memregion("gfx2")->base()+ 0x100000 - 0x800;
- state->m_rom_clut1 = machine.root_device().memregion("gfx3")->base()+ 0x100000 - 0x800;
+ m_rom_sprite_lookup1 = machine().root_device().memregion("gfx2")->base();
+ m_rom_sprite_lookup2 = machine().root_device().memregion("gfx3")->base();
+ m_rom_clut0 = machine().root_device().memregion("gfx2")->base()+ 0x100000 - 0x800;
+ m_rom_clut1 = machine().root_device().memregion("gfx3")->base()+ 0x100000 - 0x800;
- tatsumi_reset(machine);
+ tatsumi_reset(machine());
// TODO: ym2151_set_port_write_handler for CT1/CT2 outputs
}
-static DRIVER_INIT( roundup5 )
+DRIVER_INIT_MEMBER(tatsumi_state,roundup5)
{
- tatsumi_state *state = machine.driver_data<tatsumi_state>();
- UINT8 *dst = state->memregion("gfx1")->base();
- UINT8 *src1 = state->memregion("gfx2")->base();
- UINT8 *src2 = state->memregion("gfx3")->base();
+ UINT8 *dst = memregion("gfx1")->base();
+ UINT8 *src1 = memregion("gfx2")->base();
+ UINT8 *src2 = memregion("gfx3")->base();
int i;
for (i=0; i<0xc0000; i+=32) {
@@ -1327,22 +1325,21 @@ static DRIVER_INIT( roundup5 )
}
// Copy sprite & palette data out of GFX rom area
- state->m_rom_sprite_lookup1 = machine.root_device().memregion("gfx2")->base();
- state->m_rom_sprite_lookup2 = machine.root_device().memregion("gfx3")->base();
- state->m_rom_clut0 = machine.root_device().memregion("gfx2")->base()+ 0xc0000 - 0x800;
- state->m_rom_clut1 = machine.root_device().memregion("gfx3")->base()+ 0xc0000 - 0x800;
+ m_rom_sprite_lookup1 = machine().root_device().memregion("gfx2")->base();
+ m_rom_sprite_lookup2 = machine().root_device().memregion("gfx3")->base();
+ m_rom_clut0 = machine().root_device().memregion("gfx2")->base()+ 0xc0000 - 0x800;
+ m_rom_clut1 = machine().root_device().memregion("gfx3")->base()+ 0xc0000 - 0x800;
- tatsumi_reset(machine);
+ tatsumi_reset(machine());
}
-static DRIVER_INIT( cyclwarr )
+DRIVER_INIT_MEMBER(tatsumi_state,cyclwarr)
{
- tatsumi_state *state = machine.driver_data<tatsumi_state>();
- UINT8 *dst = state->memregion("gfx1")->base();
- UINT8 *src1 = state->memregion("gfx2")->base();
- int len1 = state->memregion("gfx2")->bytes();
- UINT8 *src2 = state->memregion("gfx3")->base();
- int len2 = state->memregion("gfx3")->bytes();
+ UINT8 *dst = memregion("gfx1")->base();
+ UINT8 *src1 = memregion("gfx2")->base();
+ int len1 = memregion("gfx2")->bytes();
+ UINT8 *src2 = memregion("gfx3")->base();
+ int len2 = memregion("gfx3")->bytes();
int i;
for (i=0; i<len1; i+=32) {
memcpy(dst,src1,32);
@@ -1353,21 +1350,21 @@ static DRIVER_INIT( cyclwarr )
src2+=32;
}
- dst = machine.root_device().memregion("maincpu")->base();
- memcpy(state->m_cyclwarr_cpua_ram,dst,8);
- state->membank("bank1")->set_base(dst);
+ dst = machine().root_device().memregion("maincpu")->base();
+ memcpy(m_cyclwarr_cpua_ram,dst,8);
+ membank("bank1")->set_base(dst);
- dst = machine.root_device().memregion("sub")->base();
- memcpy(state->m_cyclwarr_cpub_ram,dst,8);
- state->membank("bank2")->set_base(dst);
+ dst = machine().root_device().memregion("sub")->base();
+ memcpy(m_cyclwarr_cpub_ram,dst,8);
+ membank("bank2")->set_base(dst);
// Copy sprite & palette data out of GFX rom area
- state->m_rom_sprite_lookup1 = machine.root_device().memregion("gfx2")->base();
- state->m_rom_sprite_lookup2 = machine.root_device().memregion("gfx3")->base();
- state->m_rom_clut0 = machine.root_device().memregion("gfx2")->base() + len1 - 0x1000;
- state->m_rom_clut1 = machine.root_device().memregion("gfx3")->base() + len2 - 0x1000;
+ m_rom_sprite_lookup1 = machine().root_device().memregion("gfx2")->base();
+ m_rom_sprite_lookup2 = machine().root_device().memregion("gfx3")->base();
+ m_rom_clut0 = machine().root_device().memregion("gfx2")->base() + len1 - 0x1000;
+ m_rom_clut1 = machine().root_device().memregion("gfx3")->base() + len2 - 0x1000;
- tatsumi_reset(machine);
+ tatsumi_reset(machine());
}
/***************************************************************************/
diff --git a/src/mame/drivers/tattack.c b/src/mame/drivers/tattack.c
index b4ce5ff1428..75a4a04ba34 100644
--- a/src/mame/drivers/tattack.c
+++ b/src/mame/drivers/tattack.c
@@ -33,6 +33,7 @@ public:
required_shared_ptr<UINT8> m_videoram;
required_shared_ptr<UINT8> m_colorram;
tilemap_t *m_tmap;
+ DECLARE_DRIVER_INIT(tattack);
};
@@ -235,10 +236,10 @@ ROM_START( tattack )
ROM_END
-static DRIVER_INIT(tattack)
+DRIVER_INIT_MEMBER(tattack_state,tattack)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
rom[0x1b4]=0;
rom[0x1b5]=0;
diff --git a/src/mame/drivers/taxidriv.c b/src/mame/drivers/taxidriv.c
index 9286d2e088c..04893bada5a 100644
--- a/src/mame/drivers/taxidriv.c
+++ b/src/mame/drivers/taxidriv.c
@@ -458,4 +458,4 @@ ROM_START( taxidriv )
ROM_END
-GAME( 1984, taxidriv, 0, taxidriv, taxidriv, taxidriv_state, 0, ROT90, "Graphic Techno", "Taxi Driver", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1984, taxidriv, 0, taxidriv, taxidriv, driver_device, 0, ROT90, "Graphic Techno", "Taxi Driver", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c
index 9f45669dc6e..23123c50f1e 100644
--- a/src/mame/drivers/tbowl.c
+++ b/src/mame/drivers/tbowl.c
@@ -720,6 +720,6 @@ ROM_START( tbowlj )
ROM_LOAD( "6206a.2", 0x10000, 0x10000, CRC(1e9e5936) SHA1(60370d1de28b1c5ffeff7843702aaddb19ff1f58) )
ROM_END
-GAME( 1987, tbowl, 0, tbowl, tbowl, tbowl_state, 0, ROT0, "Tecmo", "Tecmo Bowl (World)", 0 )
-GAME( 1987, tbowlp, tbowl, tbowl, tbowl, tbowl_state, 0, ROT0, "Tecmo", "Tecmo Bowl (World, prototype?)", 0 ) // or early version, handwritten labels
-GAME( 1987, tbowlj, tbowl, tbowl, tbowlj, tbowl_state, 0, ROT0, "Tecmo", "Tecmo Bowl (Japan)", 0 )
+GAME( 1987, tbowl, 0, tbowl, tbowl, driver_device, 0, ROT0, "Tecmo", "Tecmo Bowl (World)", 0 )
+GAME( 1987, tbowlp, tbowl, tbowl, tbowl, driver_device, 0, ROT0, "Tecmo", "Tecmo Bowl (World, prototype?)", 0 ) // or early version, handwritten labels
+GAME( 1987, tbowlj, tbowl, tbowl, tbowlj, driver_device, 0, ROT0, "Tecmo", "Tecmo Bowl (Japan)", 0 )
diff --git a/src/mame/drivers/tceptor.c b/src/mame/drivers/tceptor.c
index 3b35c198e72..be48e144e63 100644
--- a/src/mame/drivers/tceptor.c
+++ b/src/mame/drivers/tceptor.c
@@ -554,5 +554,5 @@ ROM_END
/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME ) */
-GAME ( 1986, tceptor, 0, tceptor, tceptor, tceptor_state, 0, ROT0, "Namco", "Thunder Ceptor", 0)
-GAMEL( 1986, tceptor2, tceptor, tceptor, tceptor2, tceptor_state, 0, ROT0, "Namco", "Thunder Ceptor II", 0, layout_tceptor2)
+GAME ( 1986, tceptor, 0, tceptor, tceptor, driver_device, 0, ROT0, "Namco", "Thunder Ceptor", 0)
+GAMEL( 1986, tceptor2, tceptor, tceptor, tceptor2, driver_device, 0, ROT0, "Namco", "Thunder Ceptor II", 0, layout_tceptor2)
diff --git a/src/mame/drivers/tcl.c b/src/mame/drivers/tcl.c
index 7cdf4215c55..57aa9567b73 100644
--- a/src/mame/drivers/tcl.c
+++ b/src/mame/drivers/tcl.c
@@ -52,6 +52,7 @@ public:
tcl_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ DECLARE_DRIVER_INIT(tcl);
};
@@ -184,14 +185,14 @@ ROM_END
dest[idx+0x10000]=(n)^0xff; \
idx++;
-static DRIVER_INIT(tcl)
+DRIVER_INIT_MEMBER(tcl_state,tcl)
{
/* only the first part is decrypted (and verified)*/
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *dest = machine.root_device().memregion("maincpu")->base();
- int len = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *src = auto_alloc_array(machine, UINT8, len);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *dest = machine().root_device().memregion("maincpu")->base();
+ int len = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *src = auto_alloc_array(machine(), UINT8, len);
int i,idx=0;
memcpy(src, dest, len);
@@ -212,7 +213,7 @@ static DRIVER_INIT(tcl)
WRITEDEST((src[idx]^0x11)^0xf0); // abcdefgh -> ABCdefgH
}
}
- auto_free(machine, src);
+ auto_free(machine(), src);
space->set_decrypted_region(0x0000, 0x7fff, dest+0x10000);
}
diff --git a/src/mame/drivers/techno.c b/src/mame/drivers/techno.c
index 33ceb41f58b..fa8a9d34054 100644
--- a/src/mame/drivers/techno.c
+++ b/src/mame/drivers/techno.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(techno);
};
@@ -35,7 +37,7 @@ void techno_state::machine_reset()
{
}
-static DRIVER_INIT( techno )
+DRIVER_INIT_MEMBER(techno_state,techno)
{
}
diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c
index e8c9dc55f67..57697be8a89 100644
--- a/src/mame/drivers/tecmo.c
+++ b/src/mame/drivers/tecmo.c
@@ -1122,33 +1122,29 @@ ROM_END
video_type is used to distinguish Rygar, Silkworm and Gemini Wing.
This is needed because there is a difference in the tile and sprite indexing.
*/
-static DRIVER_INIT( rygar )
+DRIVER_INIT_MEMBER(tecmo_state,rygar)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- state->m_video_type = 0;
+ m_video_type = 0;
}
-static DRIVER_INIT( silkworm )
+DRIVER_INIT_MEMBER(tecmo_state,silkworm)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- state->m_video_type = 1;
+ m_video_type = 1;
}
-static DRIVER_INIT( gemini )
+DRIVER_INIT_MEMBER(tecmo_state,gemini)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- state->m_video_type = 2;
+ m_video_type = 2;
}
-static DRIVER_INIT( backfirt )
+DRIVER_INIT_MEMBER(tecmo_state,backfirt)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- state->m_video_type = 2;
+ m_video_type = 2;
/* no MSM */
- machine.device("soundcpu")->memory().space(AS_PROGRAM)->nop_write(0xc000, 0xc000);
- machine.device("soundcpu")->memory().space(AS_PROGRAM)->nop_write(0xc400, 0xc400);
- machine.device("soundcpu")->memory().space(AS_PROGRAM)->nop_write(0xc800, 0xc800);
+ machine().device("soundcpu")->memory().space(AS_PROGRAM)->nop_write(0xc000, 0xc000);
+ machine().device("soundcpu")->memory().space(AS_PROGRAM)->nop_write(0xc400, 0xc400);
+ machine().device("soundcpu")->memory().space(AS_PROGRAM)->nop_write(0xc800, 0xc800);
}
diff --git a/src/mame/drivers/tecmo16.c b/src/mame/drivers/tecmo16.c
index bad4073f876..1b12a4a0e80 100644
--- a/src/mame/drivers/tecmo16.c
+++ b/src/mame/drivers/tecmo16.c
@@ -628,7 +628,7 @@ ROM_END
/******************************************************************************/
-GAME( 1992, fstarfrc, 0, fstarfrc, fstarfrc, tecmo16_state, 0, ROT90, "Tecmo", "Final Star Force (US)", 0 )
-GAME( 1992, fstarfrcj, fstarfrc, fstarfrc, fstarfrc, tecmo16_state, 0, ROT90, "Tecmo", "Final Star Force (Japan)", 0 )
-GAME( 1992, riot, 0, riot, riot, tecmo16_state, 0, ROT0, "NMK", "Riot", 0 )
-GAME( 1995, ginkun, 0, ginkun, ginkun, tecmo16_state, 0, ROT0, "Tecmo", "Ganbare Ginkun", 0 )
+GAME( 1992, fstarfrc, 0, fstarfrc, fstarfrc, driver_device, 0, ROT90, "Tecmo", "Final Star Force (US)", 0 )
+GAME( 1992, fstarfrcj, fstarfrc, fstarfrc, fstarfrc, driver_device, 0, ROT90, "Tecmo", "Final Star Force (Japan)", 0 )
+GAME( 1992, riot, 0, riot, riot, driver_device, 0, ROT0, "NMK", "Riot", 0 )
+GAME( 1995, ginkun, 0, ginkun, ginkun, driver_device, 0, ROT0, "Tecmo", "Ganbare Ginkun", 0 )
diff --git a/src/mame/drivers/tecmosys.c b/src/mame/drivers/tecmosys.c
index d2402c0b292..d9032bbbe75 100644
--- a/src/mame/drivers/tecmosys.c
+++ b/src/mame/drivers/tecmosys.c
@@ -653,22 +653,22 @@ static void tecmosys_descramble(running_machine &machine)
}
}
-static DRIVER_INIT( deroon )
+DRIVER_INIT_MEMBER(tecmosys_state,deroon)
{
- tecmosys_descramble(machine);
- tecmosys_prot_init(machine, 0); // machine/tecmosys.c
+ tecmosys_descramble(machine());
+ tecmosys_prot_init(machine(), 0); // machine/tecmosys.c
}
-static DRIVER_INIT( tkdensho )
+DRIVER_INIT_MEMBER(tecmosys_state,tkdensho)
{
- tecmosys_descramble(machine);
- tecmosys_prot_init(machine, 1);
+ tecmosys_descramble(machine());
+ tecmosys_prot_init(machine(), 1);
}
-static DRIVER_INIT( tkdensha )
+DRIVER_INIT_MEMBER(tecmosys_state,tkdensha)
{
- tecmosys_descramble(machine);
- tecmosys_prot_init(machine, 2);
+ tecmosys_descramble(machine());
+ tecmosys_prot_init(machine(), 2);
}
GAME( 1995, deroon, 0, deroon, deroon, tecmosys_state, deroon, ROT0, "Tecmo", "Deroon DeroDero", 0 )
diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c
index f86dc339742..665bdac21ec 100644
--- a/src/mame/drivers/tehkanwc.c
+++ b/src/mame/drivers/tehkanwc.c
@@ -685,7 +685,7 @@ static MACHINE_CONFIG_START( tehkanwc, tehkanwc_state )
MACHINE_CONFIG_END
-static DRIVER_INIT( teedoff )
+DRIVER_INIT_MEMBER(tehkanwc_state,teedoff)
{
/* Patch to avoid the game jumping in shared memory */
@@ -704,7 +704,7 @@ static DRIVER_INIT( teedoff )
023A: 00 nop
*/
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
ROM[0x0238] = 0x00;
ROM[0x0239] = 0x00;
@@ -901,8 +901,8 @@ ROM_END
-GAME( 1985, tehkanwc, 0, tehkanwc, tehkanwc, tehkanwc_state, 0, ROT0, "Tehkan", "Tehkan World Cup (set 1)", 0 )
-GAME( 1985, tehkanwcb, tehkanwc, tehkanwc, tehkanwc, tehkanwc_state, 0, ROT0, "Tehkan", "Tehkan World Cup (set 2, bootleg?)", 0 )
-GAME( 1985, tehkanwcc, tehkanwc, tehkanwc, tehkanwc, tehkanwc_state, 0, ROT0, "bootleg", "Tehkan World Cup (set 3, bootleg)", GAME_NOT_WORKING ) // aka 'World Cup 85', different inputs?
-GAMEL(1985, gridiron, 0, tehkanwc, gridiron, tehkanwc_state, 0, ROT0, "Tehkan", "Gridiron Fight", 0, layout_gridiron )
+GAME( 1985, tehkanwc, 0, tehkanwc, tehkanwc, driver_device, 0, ROT0, "Tehkan", "Tehkan World Cup (set 1)", 0 )
+GAME( 1985, tehkanwcb, tehkanwc, tehkanwc, tehkanwc, driver_device, 0, ROT0, "Tehkan", "Tehkan World Cup (set 2, bootleg?)", 0 )
+GAME( 1985, tehkanwcc, tehkanwc, tehkanwc, tehkanwc, driver_device, 0, ROT0, "bootleg", "Tehkan World Cup (set 3, bootleg)", GAME_NOT_WORKING ) // aka 'World Cup 85', different inputs?
+GAMEL(1985, gridiron, 0, tehkanwc, gridiron, driver_device, 0, ROT0, "Tehkan", "Gridiron Fight", 0, layout_gridiron )
GAME( 1986, teedoff, 0, tehkanwc, teedoff, tehkanwc_state, teedoff, ROT90, "Tecmo", "Tee'd Off (Japan)", 0 )
diff --git a/src/mame/drivers/tempest.c b/src/mame/drivers/tempest.c
index 179d304e6fc..e62bfde3588 100644
--- a/src/mame/drivers/tempest.c
+++ b/src/mame/drivers/tempest.c
@@ -841,9 +841,9 @@ ROM_END
*
*************************************/
-GAME( 1980, tempest, 0, tempest, tempest, tempest_state, 0, ROT270, "Atari", "Tempest (rev 3, Revised Hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1980, tempest3, tempest, tempest, tempest, tempest_state, 0, ROT270, "Atari", "Tempest (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1980, tempest2, tempest, tempest, tempest, tempest_state, 0, ROT270, "Atari", "Tempest (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, tempest1, tempest, tempest, tempest, tempest_state, 0, ROT270, "Atari", "Tempest (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, tempest1r, tempest, tempest, tempest, tempest_state, 0, ROT270, "Atari", "Tempest (rev 1, Revised Hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1980, temptube, tempest, tempest, tempest, tempest_state, 0, ROT270, "hack", "Tempest Tubes", GAME_SUPPORTS_SAVE )
+GAME( 1980, tempest, 0, tempest, tempest, driver_device, 0, ROT270, "Atari", "Tempest (rev 3, Revised Hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1980, tempest3, tempest, tempest, tempest, driver_device, 0, ROT270, "Atari", "Tempest (rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1980, tempest2, tempest, tempest, tempest, driver_device, 0, ROT270, "Atari", "Tempest (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, tempest1, tempest, tempest, tempest, driver_device, 0, ROT270, "Atari", "Tempest (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1980, tempest1r, tempest, tempest, tempest, driver_device, 0, ROT270, "Atari", "Tempest (rev 1, Revised Hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1980, temptube, tempest, tempest, tempest, driver_device, 0, ROT270, "hack", "Tempest Tubes", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/terracre.c b/src/mame/drivers/terracre.c
index 5d142b547fd..6fc7f960e6f 100644
--- a/src/mame/drivers/terracre.c
+++ b/src/mame/drivers/terracre.c
@@ -1008,30 +1008,27 @@ ROM_START( boobhack )
ROM_LOAD( "kid_prom.4e", 0x000, 0x100, BAD_DUMP CRC(e4fb54ee) SHA1(aba89d347b24dc6680e6f25b4a6c0d6657bb6a83) ) /* ctable */
ROM_END
-static DRIVER_INIT( amazon )
+DRIVER_INIT_MEMBER(terracre_state,amazon)
{
- terracre_state *state = machine.driver_data<terracre_state>();
- state->m_mpProtData = mAmazonProtData;
+ m_mpProtData = mAmazonProtData;
}
-static DRIVER_INIT( amatelas )
+DRIVER_INIT_MEMBER(terracre_state,amatelas)
{
- terracre_state *state = machine.driver_data<terracre_state>();
- state->m_mpProtData = mAmatelasProtData;
+ m_mpProtData = mAmatelasProtData;
}
-static DRIVER_INIT( horekid )
+DRIVER_INIT_MEMBER(terracre_state,horekid)
{
- terracre_state *state = machine.driver_data<terracre_state>();
- state->m_mpProtData = mHoreKidProtData;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x44004, 0x44005, read16_delegate(FUNC(terracre_state::horekid_IN2_r),state));
+ m_mpProtData = mHoreKidProtData;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x44004, 0x44005, read16_delegate(FUNC(terracre_state::horekid_IN2_r),this));
}
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS */
-GAME( 1985, terracre, 0, ym3526, terracre, terracre_state, 0, ROT270, "Nichibutsu", "Terra Cresta (YM3526 set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, terracreo,terracre, ym3526, terracre, terracre_state, 0, ROT270, "Nichibutsu", "Terra Cresta (YM3526 set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, terracrea,terracre, ym3526, terracre, terracre_state, 0, ROT270, "Nichibutsu", "Terra Cresta (YM3526 set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1985, terracren,terracre, ym2203, terracre, terracre_state, 0, ROT270, "Nichibutsu", "Terra Cresta (YM2203)", GAME_SUPPORTS_SAVE )
+GAME( 1985, terracre, 0, ym3526, terracre, driver_device, 0, ROT270, "Nichibutsu", "Terra Cresta (YM3526 set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, terracreo,terracre, ym3526, terracre, driver_device, 0, ROT270, "Nichibutsu", "Terra Cresta (YM3526 set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, terracrea,terracre, ym3526, terracre, driver_device, 0, ROT270, "Nichibutsu", "Terra Cresta (YM3526 set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1985, terracren,terracre, ym2203, terracre, driver_device, 0, ROT270, "Nichibutsu", "Terra Cresta (YM2203)", GAME_SUPPORTS_SAVE )
GAME( 1986, amazon, 0, amazon, amazon, terracre_state, amazon, ROT270, "Nichibutsu", "Soldier Girl Amazon", GAME_SUPPORTS_SAVE )
GAME( 1986, amatelas, amazon, amazon, amazon, terracre_state, amatelas, ROT270, "Nichibutsu", "Sei Senshi Amatelass", GAME_SUPPORTS_SAVE )
GAME( 1987, horekid, 0, amazon, horekid, terracre_state, horekid, ROT270, "Nichibutsu", "Kid no Hore Hore Daisakusen", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c
index 03cba342a6e..5a0a529e79b 100644
--- a/src/mame/drivers/tetrisp2.c
+++ b/src/mame/drivers/tetrisp2.c
@@ -1282,51 +1282,45 @@ static void init_rockn_timer(running_machine &machine)
state_save_register_global(machine, state->m_rockn_soundvolume);
}
-static DRIVER_INIT( rockn )
+DRIVER_INIT_MEMBER(tetrisp2_state,rockn)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- init_rockn_timer(machine);
- state->m_rockn_protectdata = 1;
+ init_rockn_timer(machine());
+ m_rockn_protectdata = 1;
}
-static DRIVER_INIT( rockn1 )
+DRIVER_INIT_MEMBER(tetrisp2_state,rockn1)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- init_rockn_timer(machine);
- state->m_rockn_protectdata = 1;
+ init_rockn_timer(machine());
+ m_rockn_protectdata = 1;
}
-static DRIVER_INIT( rockn2 )
+DRIVER_INIT_MEMBER(tetrisp2_state,rockn2)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- init_rockn_timer(machine);
- state->m_rockn_protectdata = 2;
+ init_rockn_timer(machine());
+ m_rockn_protectdata = 2;
}
-static DRIVER_INIT( rocknms )
+DRIVER_INIT_MEMBER(tetrisp2_state,rocknms)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- init_rockn_timer(machine);
+ init_rockn_timer(machine());
- machine.scheduler().timer_pulse(attotime::from_msec(32), FUNC(rockn_timer_sub_level1_callback));
- state->m_rockn_timer_sub_l4 = machine.scheduler().timer_alloc(FUNC(rockn_timer_sub_level4_callback));
+ machine().scheduler().timer_pulse(attotime::from_msec(32), FUNC(rockn_timer_sub_level1_callback));
+ m_rockn_timer_sub_l4 = machine().scheduler().timer_alloc(FUNC(rockn_timer_sub_level4_callback));
- state->m_rockn_protectdata = 3;
+ m_rockn_protectdata = 3;
}
-static DRIVER_INIT( rockn3 )
+DRIVER_INIT_MEMBER(tetrisp2_state,rockn3)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- init_rockn_timer(machine);
- state->m_rockn_protectdata = 4;
+ init_rockn_timer(machine());
+ m_rockn_protectdata = 4;
}
-static DRIVER_INIT( stepstag )
+DRIVER_INIT_MEMBER(stepstag_state,stepstag)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- init_rockn_timer(machine); // used
- state->m_rockn_protectdata = 1; // unused?
+ init_rockn_timer(machine()); // used
+ m_rockn_protectdata = 1; // unused?
}
@@ -2210,9 +2204,9 @@ ROM_END
***************************************************************************/
-GAME( 1997, tetrisp2, 0, tetrisp2, tetrisp2, tetrisp2_state, 0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (World)", GAME_SUPPORTS_SAVE )
-GAME( 1997, tetrisp2j, tetrisp2, tetrisp2, tetrisp2j, tetrisp2_state,0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan, V2.2)", GAME_SUPPORTS_SAVE )
-GAME( 1997, tetrisp2ja,tetrisp2, tetrisp2, tetrisp2j, tetrisp2_state,0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan, V2.1)", GAME_SUPPORTS_SAVE )
+GAME( 1997, tetrisp2, 0, tetrisp2, tetrisp2, driver_device, 0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (World)", GAME_SUPPORTS_SAVE )
+GAME( 1997, tetrisp2j, tetrisp2, tetrisp2, tetrisp2j, driver_device,0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan, V2.2)", GAME_SUPPORTS_SAVE )
+GAME( 1997, tetrisp2ja,tetrisp2, tetrisp2, tetrisp2j, driver_device,0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan, V2.1)", GAME_SUPPORTS_SAVE )
GAME( 1997, nndmseal, 0, nndmseal, nndmseal, tetrisp2_state, rockn, ROT0 | ORIENTATION_FLIP_X, "I'Max / Jaleco", "Nandemo Seal Iinkai", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/tgtpanic.c b/src/mame/drivers/tgtpanic.c
index 456b67de555..be5182416ea 100644
--- a/src/mame/drivers/tgtpanic.c
+++ b/src/mame/drivers/tgtpanic.c
@@ -164,4 +164,4 @@ ROM_END
*
*************************************/
-GAME( 1996, tgtpanic, 0, tgtpanic, tgtpanic, tgtpanic_state, 0, ROT0, "Konami", "Target Panic", GAME_NO_SOUND_HW )
+GAME( 1996, tgtpanic, 0, tgtpanic, tgtpanic, driver_device, 0, ROT0, "Konami", "Target Panic", GAME_NO_SOUND_HW )
diff --git a/src/mame/drivers/thayers.c b/src/mame/drivers/thayers.c
index ace7bc7e631..2920cd3d16a 100644
--- a/src/mame/drivers/thayers.c
+++ b/src/mame/drivers/thayers.c
@@ -837,5 +837,5 @@ ROM_END
/* Game Drivers */
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1984, thayers, 0, thayers, thayers, thayers_state, 0, ROT0, "RDI Video Systems", "Thayer's Quest (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dlair)
-GAMEL( 1984, thayersa, thayers, thayers, thayers, thayers_state, 0, ROT0, "RDI Video Systems", "Thayer's Quest (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dlair)
+GAMEL( 1984, thayers, 0, thayers, thayers, driver_device, 0, ROT0, "RDI Video Systems", "Thayer's Quest (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dlair)
+GAMEL( 1984, thayersa, thayers, thayers, thayers, driver_device, 0, ROT0, "RDI Video Systems", "Thayer's Quest (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dlair)
diff --git a/src/mame/drivers/thedeep.c b/src/mame/drivers/thedeep.c
index 763ff65b7aa..b03a55bcf82 100644
--- a/src/mame/drivers/thedeep.c
+++ b/src/mame/drivers/thedeep.c
@@ -577,5 +577,5 @@ ROM_START( rundeep )
ROM_LOAD( "fi-3", 0x400, 0x200, CRC(f61a9686) SHA1(24082f60b72268d240ceca6999bdf18872625cd2) )
ROM_END
-GAME( 1987, thedeep, 0, thedeep, thedeep, thedeep_state, 0, ROT270, "Wood Place Inc.", "The Deep (Japan)", 0 )
-GAME( 1988, rundeep, thedeep,thedeep, thedeep, thedeep_state, 0, ROT270, "bootleg (Cream)", "Run Deep", 0 )
+GAME( 1987, thedeep, 0, thedeep, thedeep, driver_device, 0, ROT270, "Wood Place Inc.", "The Deep (Japan)", 0 )
+GAME( 1988, rundeep, thedeep,thedeep, thedeep, driver_device, 0, ROT270, "bootleg (Cream)", "Run Deep", 0 )
diff --git a/src/mame/drivers/thepit.c b/src/mame/drivers/thepit.c
index a051506626c..c122964c1a9 100644
--- a/src/mame/drivers/thepit.c
+++ b/src/mame/drivers/thepit.c
@@ -1091,28 +1091,27 @@ READ8_MEMBER(thepit_state::rtriv_question_r)
return 0; // the value read from the configuration reads is discarded
}
-static DRIVER_INIT( rtriv )
+DRIVER_INIT_MEMBER(thepit_state,rtriv)
{
// Set-up the weirdest questions read ever done
- thepit_state *state = machine.driver_data<thepit_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x4000, 0x4fff, read8_delegate(FUNC(thepit_state::rtriv_question_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x4000, 0x4fff, read8_delegate(FUNC(thepit_state::rtriv_question_r),this));
}
-GAME( 1981, roundup, 0, thepit, roundup, thepit_state, 0, ROT90, "Taito Corporation (Amenip/Centuri license)", "Round-Up", 0 )
-GAME( 1981, fitter, roundup, thepit, fitter, thepit_state, 0, ROT90, "Taito Corporation", "Fitter", 0 )
-GAME( 1981, fitterbl, roundup, thepit, fitter, thepit_state, 0, ROT90, "bootleg", "Fitter (bootleg)", 0 )
-GAME( 1982, thepit, 0, thepit, thepit, thepit_state, 0, ROT90, "Zilec Electronics", "The Pit", 0 ) // AW == Andy Walker
-GAME( 1982, thepitu1, thepit, thepit, thepit, thepit_state, 0, ROT90, "Zilec Electronics (Centuri license)", "The Pit (US, set 1)", 0 )
-GAME( 1982, thepitu2, thepit, thepit, thepit, thepit_state, 0, ROT90, "Zilec Electronics (Centuri license)", "The Pit (US, set 2)", 0 ) // Bally PCB
-GAME( 1982, thepitj, thepit, thepit, thepit, thepit_state, 0, ROT90, "Zilec Electronics (Taito license)", "The Pit (Japan)", 0 )
-GAME( 1982, dockman, 0, intrepid, dockman, thepit_state, 0, ROT90, "Taito Corporation", "Dock Man", 0 )
-GAME( 1982, portman, dockman, intrepid, dockman, thepit_state, 0, ROT90, "Taito Corporation (Nova Games Ltd. license)", "Port Man", 0 )
-GAME( 1982, suprmous, 0, suprmous, suprmous, thepit_state, 0, ROT90, "Taito Corporation", "Super Mouse", 0 )
-GAME( 1982, funnymou, suprmous, suprmous, suprmous, thepit_state, 0, ROT90, "bootleg? (Chuo Co. Ltd)", "Funny Mouse", 0 )
-GAME( 1982, machomou, 0, suprmous, suprmous, thepit_state, 0, ROT90, "Techstar", "Macho Mouse", 0 )
-GAME( 1983, intrepid, 0, intrepid, intrepid, thepit_state, 0, ROT90, "Nova Games Ltd.", "Intrepid (set 1)", 0 )
-GAME( 1983, intrepid2,intrepid, intrepid, intrepid, thepit_state, 0, ROT90, "Nova Games Ltd.", "Intrepid (set 2)", 0 )
-GAME( 1984, intrepidb,intrepid, intrepid, intrepid, thepit_state, 0, ROT90, "bootleg (Elsys)", "Intrepid (bootleg)", 0 )
-GAME( 1984, zaryavos, 0, intrepid, intrepid, thepit_state, 0, ROT90, "Nova Games of Canada", "Zarya Vostoka", GAME_NOT_WORKING )
+GAME( 1981, roundup, 0, thepit, roundup, driver_device, 0, ROT90, "Taito Corporation (Amenip/Centuri license)", "Round-Up", 0 )
+GAME( 1981, fitter, roundup, thepit, fitter, driver_device, 0, ROT90, "Taito Corporation", "Fitter", 0 )
+GAME( 1981, fitterbl, roundup, thepit, fitter, driver_device, 0, ROT90, "bootleg", "Fitter (bootleg)", 0 )
+GAME( 1982, thepit, 0, thepit, thepit, driver_device, 0, ROT90, "Zilec Electronics", "The Pit", 0 ) // AW == Andy Walker
+GAME( 1982, thepitu1, thepit, thepit, thepit, driver_device, 0, ROT90, "Zilec Electronics (Centuri license)", "The Pit (US, set 1)", 0 )
+GAME( 1982, thepitu2, thepit, thepit, thepit, driver_device, 0, ROT90, "Zilec Electronics (Centuri license)", "The Pit (US, set 2)", 0 ) // Bally PCB
+GAME( 1982, thepitj, thepit, thepit, thepit, driver_device, 0, ROT90, "Zilec Electronics (Taito license)", "The Pit (Japan)", 0 )
+GAME( 1982, dockman, 0, intrepid, dockman, driver_device, 0, ROT90, "Taito Corporation", "Dock Man", 0 )
+GAME( 1982, portman, dockman, intrepid, dockman, driver_device, 0, ROT90, "Taito Corporation (Nova Games Ltd. license)", "Port Man", 0 )
+GAME( 1982, suprmous, 0, suprmous, suprmous, driver_device, 0, ROT90, "Taito Corporation", "Super Mouse", 0 )
+GAME( 1982, funnymou, suprmous, suprmous, suprmous, driver_device, 0, ROT90, "bootleg? (Chuo Co. Ltd)", "Funny Mouse", 0 )
+GAME( 1982, machomou, 0, suprmous, suprmous, driver_device, 0, ROT90, "Techstar", "Macho Mouse", 0 )
+GAME( 1983, intrepid, 0, intrepid, intrepid, driver_device, 0, ROT90, "Nova Games Ltd.", "Intrepid (set 1)", 0 )
+GAME( 1983, intrepid2,intrepid, intrepid, intrepid, driver_device, 0, ROT90, "Nova Games Ltd.", "Intrepid (set 2)", 0 )
+GAME( 1984, intrepidb,intrepid, intrepid, intrepid, driver_device, 0, ROT90, "bootleg (Elsys)", "Intrepid (bootleg)", 0 )
+GAME( 1984, zaryavos, 0, intrepid, intrepid, driver_device, 0, ROT90, "Nova Games of Canada", "Zarya Vostoka", GAME_NOT_WORKING )
GAME( 198?, rtriv, 0, intrepid, rtriv, thepit_state, rtriv, ROT90, "Romar", "Romar Triv", GAME_WRONG_COLORS )
diff --git a/src/mame/drivers/thief.c b/src/mame/drivers/thief.c
index 512fa986cb9..042b2334757 100644
--- a/src/mame/drivers/thief.c
+++ b/src/mame/drivers/thief.c
@@ -635,17 +635,17 @@ ROM_START( natodefa )
ROM_END
-static DRIVER_INIT( thief )
+DRIVER_INIT_MEMBER(thief_state,thief)
{
- UINT8 *dest = machine.root_device().memregion( "maincpu" )->base();
- const UINT8 *source = machine.root_device().memregion( "cpu1" )->base();
+ UINT8 *dest = machine().root_device().memregion( "maincpu" )->base();
+ const UINT8 *source = machine().root_device().memregion( "cpu1" )->base();
/* C8 is mapped (banked) in CPU1's address space; it contains Z80 code */
memcpy( &dest[0xe010], &source[0x290], 0x20 );
}
-GAME( 1980, sharkatt, 0, sharkatt, sharkatt, thief_state, 0, ROT0, "Pacific Novelty", "Shark Attack", 0 )
+GAME( 1980, sharkatt, 0, sharkatt, sharkatt, driver_device, 0, ROT0, "Pacific Novelty", "Shark Attack", 0 )
GAME( 1981, thief, 0, thief, thief, thief_state, thief, ROT0, "Pacific Novelty", "Thief", 0 )
GAME( 1982, natodef, 0, natodef, natodef, thief_state, thief, ROT0, "Pacific Novelty", "NATO Defense" , 0 )
GAME( 1982, natodefa, natodef, natodef, natodef, thief_state, thief, ROT0, "Pacific Novelty", "NATO Defense (alternate mazes)" , 0 )
diff --git a/src/mame/drivers/thoop2.c b/src/mame/drivers/thoop2.c
index 72efa9fdda5..476c19caf7a 100644
--- a/src/mame/drivers/thoop2.c
+++ b/src/mame/drivers/thoop2.c
@@ -229,4 +229,4 @@ ROM_START( thoop2 )
/* 0x00000-0x2ffff is fixed, 0x30000-0x3ffff is bank switched */
ROM_END
-GAME( 1994, thoop2, 0, thoop2, thoop2, thoop2_state, 0, ROT0, "Gaelco", "TH Strikes Back", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1994, thoop2, 0, thoop2, thoop2, driver_device, 0, ROT0, "Gaelco", "TH Strikes Back", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/thunderj.c b/src/mame/drivers/thunderj.c
index bd11736395a..3257128d74f 100644
--- a/src/mame/drivers/thunderj.c
+++ b/src/mame/drivers/thunderj.c
@@ -408,9 +408,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( thunderj )
+DRIVER_INIT_MEMBER(thunderj_state,thunderj)
{
- atarijsa_init(machine, "260012", 0x0002);
+ atarijsa_init(machine(), "260012", 0x0002);
}
diff --git a/src/mame/drivers/thunderx.c b/src/mame/drivers/thunderx.c
index f99db4853d4..eca4b6ecae2 100644
--- a/src/mame/drivers/thunderx.c
+++ b/src/mame/drivers/thunderx.c
@@ -995,10 +995,10 @@ static KONAMI_SETLINES_CALLBACK( thunderx_banking )
device->machine().root_device().membank("bank1")->set_entry(((lines & 0x0f) ^ 0x08));
}
-GAME( 1988, scontra, 0, scontra, scontra, thunderx_state, 0, ROT90, "Konami", "Super Contra", GAME_SUPPORTS_SAVE )
-GAME( 1988, scontraj, scontra, scontra, scontra, thunderx_state, 0, ROT90, "Konami", "Super Contra (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, thunderx, 0, thunderx, thunderx, thunderx_state, 0, ROT0, "Konami", "Thunder Cross (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1988, thunderxa, thunderx, thunderx, thunderx, thunderx_state, 0, ROT0, "Konami", "Thunder Cross (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1988, thunderxb, thunderx, thunderx, thunderx, thunderx_state, 0, ROT0, "Konami", "Thunder Cross (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1988, thunderxj, thunderx, thunderx, thnderxj, thunderx_state, 0, ROT0, "Konami", "Thunder Cross (Japan)", GAME_SUPPORTS_SAVE )
-//GAME( 1988, thndrxja, thunderx, thunderx, thndrxja, thunderx_state, 0, ROT0, "Konami", "Thunder Cross (Japan, newer revision)", GAME_SUPPORTS_SAVE )
+GAME( 1988, scontra, 0, scontra, scontra, driver_device, 0, ROT90, "Konami", "Super Contra", GAME_SUPPORTS_SAVE )
+GAME( 1988, scontraj, scontra, scontra, scontra, driver_device, 0, ROT90, "Konami", "Super Contra (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, thunderx, 0, thunderx, thunderx, driver_device, 0, ROT0, "Konami", "Thunder Cross (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1988, thunderxa, thunderx, thunderx, thunderx, driver_device, 0, ROT0, "Konami", "Thunder Cross (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1988, thunderxb, thunderx, thunderx, thunderx, driver_device, 0, ROT0, "Konami", "Thunder Cross (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1988, thunderxj, thunderx, thunderx, thnderxj, driver_device, 0, ROT0, "Konami", "Thunder Cross (Japan)", GAME_SUPPORTS_SAVE )
+//GAME( 1988, thndrxja, thunderx, thunderx, thndrxja, driver_device, 0, ROT0, "Konami", "Thunder Cross (Japan, newer revision)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tiamc1.c b/src/mame/drivers/tiamc1.c
index 4eb65369f2e..db1bc229bfd 100644
--- a/src/mame/drivers/tiamc1.c
+++ b/src/mame/drivers/tiamc1.c
@@ -329,7 +329,7 @@ ROM_START( bilyard )
ROM_LOAD( "03.6a", 0x06000, 0x2000, CRC(8bfc0b15) SHA1(221efdce516274d3b1d9009d11dc9ed6cd67ef12) )
ROM_END
-GAME( 1988, konek, 0, tiamc1, tiamc1, tiamc1_state, 0, ROT0, "Terminal", "Konek-Gorbunok", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1988, sosterm, 0, tiamc1, tiamc1, tiamc1_state, 0, ROT0, "Terminal", "S.O.S.", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1988, koroleva, 0, tiamc1, tiamc1, tiamc1_state, 0, ROT0, "Terminal", "Snezhnaja Koroleva", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1988, bilyard, 0, tiamc1, tiamc1, tiamc1_state, 0, ROT0, "Terminal", "Billiard", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1988, konek, 0, tiamc1, tiamc1, driver_device, 0, ROT0, "Terminal", "Konek-Gorbunok", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1988, sosterm, 0, tiamc1, tiamc1, driver_device, 0, ROT0, "Terminal", "S.O.S.", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1988, koroleva, 0, tiamc1, tiamc1, driver_device, 0, ROT0, "Terminal", "Snezhnaja Koroleva", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1988, bilyard, 0, tiamc1, tiamc1, driver_device, 0, ROT0, "Terminal", "Billiard", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tickee.c b/src/mame/drivers/tickee.c
index 4533faa2584..2341c1a7735 100644
--- a/src/mame/drivers/tickee.c
+++ b/src/mame/drivers/tickee.c
@@ -1153,12 +1153,12 @@ ROM_END
*
*************************************/
-GAME( 1994, tickee, 0, tickee, tickee, tickee_state, 0, ROT0, "Raster Elite", "Tickee Tickats", 0 )
-GAME( 1996, ghoshunt, 0, ghoshunt, ghoshunt, tickee_state, 0, ROT0, "Hanaho Games", "Ghost Hunter", 0 )
-GAME( 1996, tutstomb, 0, ghoshunt, ghoshunt, tickee_state, 0, ROT0, "Island Design", "Tut's Tomb", 0 )
-GAME( 1996, mouseatk, 0, mouseatk, mouseatk, tickee_state, 0, ROT0, "ICE", "Mouse Attack", 0 )
-GAME( 1998, rapidfir, 0, rapidfir, rapidfir, tickee_state, 0, ROT0, "Hanaho Games", "Rapid Fire v1.1 (Build 239)", 0 )
-GAME( 1998, rapidfira, rapidfir, rapidfir, rapidfir, tickee_state, 0, ROT0, "Hanaho Games", "Rapid Fire v1.1 (Build 238)", 0 )
-GAME( 1998, rapidfire, rapidfir, rapidfir, rapidfir, tickee_state, 0, ROT0, "Hanaho Games", "Rapid Fire v1.0 (Build 236)", 0 )
-GAME( 1999, maletmad, 0, rapidfir, rapidfir, tickee_state, 0, ROT0, "Hanaho Games", "Mallet Madness v2.1", 0 )
+GAME( 1994, tickee, 0, tickee, tickee, driver_device, 0, ROT0, "Raster Elite", "Tickee Tickats", 0 )
+GAME( 1996, ghoshunt, 0, ghoshunt, ghoshunt, driver_device, 0, ROT0, "Hanaho Games", "Ghost Hunter", 0 )
+GAME( 1996, tutstomb, 0, ghoshunt, ghoshunt, driver_device, 0, ROT0, "Island Design", "Tut's Tomb", 0 )
+GAME( 1996, mouseatk, 0, mouseatk, mouseatk, driver_device, 0, ROT0, "ICE", "Mouse Attack", 0 )
+GAME( 1998, rapidfir, 0, rapidfir, rapidfir, driver_device, 0, ROT0, "Hanaho Games", "Rapid Fire v1.1 (Build 239)", 0 )
+GAME( 1998, rapidfira, rapidfir, rapidfir, rapidfir, driver_device, 0, ROT0, "Hanaho Games", "Rapid Fire v1.1 (Build 238)", 0 )
+GAME( 1998, rapidfire, rapidfir, rapidfir, rapidfir, driver_device, 0, ROT0, "Hanaho Games", "Rapid Fire v1.0 (Build 236)", 0 )
+GAME( 1999, maletmad, 0, rapidfir, rapidfir, driver_device, 0, ROT0, "Hanaho Games", "Mallet Madness v2.1", 0 )
diff --git a/src/mame/drivers/tigeroad.c b/src/mame/drivers/tigeroad.c
index c1c20e26970..78209ebb605 100644
--- a/src/mame/drivers/tigeroad.c
+++ b/src/mame/drivers/tigeroad.c
@@ -763,16 +763,14 @@ ROM_END
-static DRIVER_INIT( tigeroad )
+DRIVER_INIT_MEMBER(tigeroad_state,tigeroad)
{
- tigeroad_state *state = machine.driver_data<tigeroad_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xfe4002, 0xfe4003, write16_delegate(FUNC(tigeroad_state::tigeroad_soundcmd_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xfe4002, 0xfe4003, write16_delegate(FUNC(tigeroad_state::tigeroad_soundcmd_w),this));
}
-static DRIVER_INIT( f1dream )
+DRIVER_INIT_MEMBER(tigeroad_state,f1dream)
{
- tigeroad_state *state = machine.driver_data<tigeroad_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xfe4002, 0xfe4003, write16_delegate(FUNC(tigeroad_state::f1dream_control_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xfe4002, 0xfe4003, write16_delegate(FUNC(tigeroad_state::f1dream_control_w),this));
}
diff --git a/src/mame/drivers/timelimt.c b/src/mame/drivers/timelimt.c
index 7ba1d8f94e8..44202d1c49b 100644
--- a/src/mame/drivers/timelimt.c
+++ b/src/mame/drivers/timelimt.c
@@ -333,5 +333,5 @@ ROM_START( progress )
ROM_LOAD( "57.bin", 0x0040, 0x0020, CRC(18455a79) SHA1(e4d64368560e3116a922588129f5f91a4c520f7d) )
ROM_END
-GAME( 1983, timelimt, 0, timelimt, timelimt, timelimt_state, 0, ROT90, "Chuo Co. Ltd", "Time Limit", GAME_IMPERFECT_COLORS )
-GAME( 1984, progress, 0, timelimt, progress, timelimt_state, 0, ROT90, "Chuo Co. Ltd", "Progress", 0 )
+GAME( 1983, timelimt, 0, timelimt, timelimt, driver_device, 0, ROT90, "Chuo Co. Ltd", "Time Limit", GAME_IMPERFECT_COLORS )
+GAME( 1984, progress, 0, timelimt, progress, driver_device, 0, ROT90, "Chuo Co. Ltd", "Progress", 0 )
diff --git a/src/mame/drivers/timeplt.c b/src/mame/drivers/timeplt.c
index 9c7c34bfe65..6a6e706f2a9 100644
--- a/src/mame/drivers/timeplt.c
+++ b/src/mame/drivers/timeplt.c
@@ -715,11 +715,11 @@ ROM_END
*
*************************************/
-GAME( 1982, timeplt, 0, timeplt, timeplt, timeplt_state, 0, ROT90, "Konami", "Time Pilot", GAME_SUPPORTS_SAVE )
-GAME( 1982, timepltc, timeplt, timeplt, timeplt, timeplt_state, 0, ROT90, "Konami (Centuri license)", "Time Pilot (Centuri)", GAME_SUPPORTS_SAVE )
-GAME( 1982, timeplta, timeplt, timeplt, timeplt, timeplt_state, 0, ROT90, "Konami (Atari license)", "Time Pilot (Atari)", GAME_SUPPORTS_SAVE )
-GAME( 1982, spaceplt, timeplt, timeplt, timeplt, timeplt_state, 0, ROT90, "bootleg", "Space Pilot", GAME_SUPPORTS_SAVE )
-GAME( 1988, psurge, 0, psurge, psurge, timeplt_state, 0, ROT270, "<unknown>", "Power Surge", GAME_SUPPORTS_SAVE )
+GAME( 1982, timeplt, 0, timeplt, timeplt, driver_device, 0, ROT90, "Konami", "Time Pilot", GAME_SUPPORTS_SAVE )
+GAME( 1982, timepltc, timeplt, timeplt, timeplt, driver_device, 0, ROT90, "Konami (Centuri license)", "Time Pilot (Centuri)", GAME_SUPPORTS_SAVE )
+GAME( 1982, timeplta, timeplt, timeplt, timeplt, driver_device, 0, ROT90, "Konami (Atari license)", "Time Pilot (Atari)", GAME_SUPPORTS_SAVE )
+GAME( 1982, spaceplt, timeplt, timeplt, timeplt, driver_device, 0, ROT90, "bootleg", "Space Pilot", GAME_SUPPORTS_SAVE )
+GAME( 1988, psurge, 0, psurge, psurge, driver_device, 0, ROT270, "<unknown>", "Power Surge", GAME_SUPPORTS_SAVE )
// ROM says manufactured by Peni Soft for these two ... no, I'm not going to add THAT -.-"
-GAME( 1988, chkun, 0, chkun, chkun, timeplt_state, 0, ROT90, "<unknown>", "Chance Kun (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1987, bikkuric, 0, bikkuric,bikkuric, timeplt_state,0, ROT90, "<unknown>", "Bikkuri Card (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, chkun, 0, chkun, chkun, driver_device, 0, ROT90, "<unknown>", "Chance Kun (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1987, bikkuric, 0, bikkuric,bikkuric, driver_device,0, ROT90, "<unknown>", "Bikkuri Card (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/timetrv.c b/src/mame/drivers/timetrv.c
index a54fa392a21..64b980bd6e5 100644
--- a/src/mame/drivers/timetrv.c
+++ b/src/mame/drivers/timetrv.c
@@ -180,4 +180,4 @@ ROM_START( timetrv )
DISK_IMAGE_READONLY( "timetrv", 0, NO_DUMP )
ROM_END
-GAME( 1991, timetrv, 0, timetrv, timetrv, timetrv_state, 0, ROT0, "Virtual Image Productions (Sega license)", "Time Traveler", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1991, timetrv, 0, timetrv, timetrv, driver_device, 0, ROT0, "Virtual Image Productions (Sega license)", "Time Traveler", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/tmaster.c b/src/mame/drivers/tmaster.c
index c6d215a7b71..c406f28c165 100644
--- a/src/mame/drivers/tmaster.c
+++ b/src/mame/drivers/tmaster.c
@@ -166,6 +166,19 @@ public:
DECLARE_WRITE16_MEMBER(galgames_cart_data_w);
DECLARE_READ16_MEMBER(dummy_read_01);
DECLARE_WRITE16_MEMBER(tmaster_oki_bank_w);
+ DECLARE_DRIVER_INIT(tm4kca);
+ DECLARE_DRIVER_INIT(tm4kb);
+ DECLARE_DRIVER_INIT(tm7ka);
+ DECLARE_DRIVER_INIT(tm4ka);
+ DECLARE_DRIVER_INIT(galgames);
+ DECLARE_DRIVER_INIT(galgame2);
+ DECLARE_DRIVER_INIT(tm7keval);
+ DECLARE_DRIVER_INIT(tm8k);
+ DECLARE_DRIVER_INIT(tm5ka);
+ DECLARE_DRIVER_INIT(tm7k);
+ DECLARE_DRIVER_INIT(tm4k);
+ DECLARE_DRIVER_INIT(tm5kca);
+ DECLARE_DRIVER_INIT(tm5k);
};
@@ -1637,9 +1650,9 @@ ROM_START( galgame2 )
ROM_END
-static DRIVER_INIT( tm4k )
+DRIVER_INIT_MEMBER(tmaster_state,tm4k)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x834ce/2] = 0x4e75;
@@ -1658,9 +1671,9 @@ Protection resembles that of tm5k rather than tm4ka:
}
-static DRIVER_INIT( tm4ka )
+DRIVER_INIT_MEMBER(tmaster_state,tm4ka)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x83476/2] = 0x4e75;
@@ -1680,9 +1693,9 @@ Protection starts:
}
-static DRIVER_INIT( tm4kca )
+DRIVER_INIT_MEMBER(tmaster_state,tm4kca)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x83470/2] = 0x4e75;
@@ -1702,9 +1715,9 @@ Protection starts:
}
-static DRIVER_INIT( tm4kb )
+DRIVER_INIT_MEMBER(tmaster_state,tm4kb)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x82b7a/2] = 0x4e75;
@@ -1723,9 +1736,9 @@ Protection starts:
}
-static DRIVER_INIT( tm5k )
+DRIVER_INIT_MEMBER(tmaster_state,tm5k)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x96002/2] = 0x4e75;
@@ -1746,9 +1759,9 @@ Protection starts:
}
-static DRIVER_INIT( tm5kca )
+DRIVER_INIT_MEMBER(tmaster_state,tm5kca)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x95ffe/2] = 0x4e75;
@@ -1758,9 +1771,9 @@ static DRIVER_INIT( tm5kca )
}
-static DRIVER_INIT( tm5ka )
+DRIVER_INIT_MEMBER(tmaster_state,tm5ka)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x96b30/2] = 0x4e75;
@@ -1779,9 +1792,9 @@ Protection starts:
}
-static DRIVER_INIT( tm7k )
+DRIVER_INIT_MEMBER(tmaster_state,tm7k)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x81730/2] = 0x4e75;
@@ -1802,9 +1815,9 @@ Protection starts:
}
-static DRIVER_INIT( tm7ka )
+DRIVER_INIT_MEMBER(tmaster_state,tm7ka)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x81594/2] = 0x4e75;
@@ -1825,9 +1838,9 @@ Protection starts:
}
-static DRIVER_INIT( tm7keval ) /* kit came with a security key labeled A-21657-004, which is a TM5000 key */
+DRIVER_INIT_MEMBER(tmaster_state,tm7keval)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x8949e/2] = 0x4e75;
@@ -1848,9 +1861,9 @@ Protection starts:
}
-static DRIVER_INIT( tm8k )
+DRIVER_INIT_MEMBER(tmaster_state,tm8k)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// protection
ROM[0x78b70/2] = 0x4e75;
@@ -1871,44 +1884,43 @@ Protection starts:
}
-static DRIVER_INIT( galgames )
+DRIVER_INIT_MEMBER(tmaster_state,galgames)
{
- tmaster_state *state = machine.driver_data<tmaster_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
int cart;
// RAM bank at 0x000000-0x03ffff and 0x200000-0x23ffff
// ROM bank at 0x000000-0x1fffff and 0x200000-0x3fffff (bios)
- state->membank(GALGAMES_BANK_000000_R)->configure_entry(GALGAMES_RAM, state->m_galgames_ram);
- state->membank(GALGAMES_BANK_000000_R)->configure_entry(GALGAMES_ROM0, ROM+0x000000);
+ membank(GALGAMES_BANK_000000_R)->configure_entry(GALGAMES_RAM, m_galgames_ram);
+ membank(GALGAMES_BANK_000000_R)->configure_entry(GALGAMES_ROM0, ROM+0x000000);
- state->membank(GALGAMES_BANK_000000_W)->configure_entry(GALGAMES_RAM, state->m_galgames_ram);
+ membank(GALGAMES_BANK_000000_W)->configure_entry(GALGAMES_RAM, m_galgames_ram);
- state->membank(GALGAMES_BANK_200000_R)->configure_entry(GALGAMES_RAM, state->m_galgames_ram);
- state->membank(GALGAMES_BANK_200000_R)->configure_entry(GALGAMES_ROM0, ROM+0x000000);
+ membank(GALGAMES_BANK_200000_R)->configure_entry(GALGAMES_RAM, m_galgames_ram);
+ membank(GALGAMES_BANK_200000_R)->configure_entry(GALGAMES_ROM0, ROM+0x000000);
- state->membank(GALGAMES_BANK_200000_W)->configure_entry(GALGAMES_RAM, state->m_galgames_ram);
+ membank(GALGAMES_BANK_200000_W)->configure_entry(GALGAMES_RAM, m_galgames_ram);
- state->membank(GALGAMES_BANK_240000_R)->configure_entry(GALGAMES_ROM0, ROM+0x040000);
+ membank(GALGAMES_BANK_240000_R)->configure_entry(GALGAMES_ROM0, ROM+0x040000);
// More ROM banks at 0x200000-0x3fffff (carts)
for (cart = 1; cart <= 4; cart++)
{
- UINT8 *CART = state->memregion("maincpu")->base();
+ UINT8 *CART = memregion("maincpu")->base();
- if (0x200000 * (cart+1) <= state->memregion("maincpu")->bytes())
+ if (0x200000 * (cart+1) <= memregion("maincpu")->bytes())
CART += 0x200000 * cart;
- state->membank(GALGAMES_BANK_200000_R)->configure_entry(GALGAMES_ROM0+cart, CART);
- state->membank(GALGAMES_BANK_240000_R)->configure_entry(GALGAMES_ROM0+cart, CART+0x040000);
+ membank(GALGAMES_BANK_200000_R)->configure_entry(GALGAMES_ROM0+cart, CART);
+ membank(GALGAMES_BANK_240000_R)->configure_entry(GALGAMES_ROM0+cart, CART+0x040000);
}
}
-static DRIVER_INIT( galgame2 )
+DRIVER_INIT_MEMBER(tmaster_state,galgame2)
{
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion( "maincpu" )->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion( "maincpu" )->base();
// Patch BIOS to see the game code as first cartridge (until the PIC therein is emulated)
ROM[0x118da/2] = 0x4a06;
@@ -1923,17 +1935,17 @@ static DRIVER_INIT( galgame2 )
// Cartdridge check on game selection screen
ROM[0x12da0/2] = 0x4e71;
- DRIVER_INIT_CALL( galgames );
+ DRIVER_INIT_CALL(galgames);
}
-GAME( 1996, tm, 0, tm, tm, tmaster_state, 0, ROT0, "Midway Games Inc. / CES Inc.", "Touchmaster (v3.00 Euro)", 0 )
-GAME( 1996, tmdo, tm, tm, tm, tmaster_state, 0, ROT0, "Midway Games Inc. / CES Inc.", "Touchmaster (v2.2-01 Standard)", 0 )
-GAME( 1996, tm2k, 0, tm3k, tmaster, tmaster_state, 0, ROT0, "Midway Games Inc.", "Touchmaster 2000 Plus (v4.63 Standard)", 0 )
-GAME( 1996, tm2ka, tm2k, tm3k, tmaster, tmaster_state, 0, ROT0, "Midway Games Inc.", "Touchmaster 2000 (v4.02 Standard)", 0 )
-GAME( 1996, tm2kb, tm2k, tm3k, tmaster, tmaster_state, 0, ROT0, "Midway Games Inc.", "Touchmaster 2000 (v4.00 Standard)", 0 )
-GAME( 1997, tm3k, 0, tm3k, tmaster, tmaster_state, 0, ROT0, "Midway Games Inc.", "Touchmaster 3000 (v5.02 Standard)", 0 )
-GAME( 1997, tm3ka, tm3k, tm3k, tmaster, tmaster_state, 0, ROT0, "Midway Games Inc.", "Touchmaster 3000 (v5.01 Standard)", 0 )
+GAME( 1996, tm, 0, tm, tm, driver_device, 0, ROT0, "Midway Games Inc. / CES Inc.", "Touchmaster (v3.00 Euro)", 0 )
+GAME( 1996, tmdo, tm, tm, tm, driver_device, 0, ROT0, "Midway Games Inc. / CES Inc.", "Touchmaster (v2.2-01 Standard)", 0 )
+GAME( 1996, tm2k, 0, tm3k, tmaster, driver_device, 0, ROT0, "Midway Games Inc.", "Touchmaster 2000 Plus (v4.63 Standard)", 0 )
+GAME( 1996, tm2ka, tm2k, tm3k, tmaster, driver_device, 0, ROT0, "Midway Games Inc.", "Touchmaster 2000 (v4.02 Standard)", 0 )
+GAME( 1996, tm2kb, tm2k, tm3k, tmaster, driver_device, 0, ROT0, "Midway Games Inc.", "Touchmaster 2000 (v4.00 Standard)", 0 )
+GAME( 1997, tm3k, 0, tm3k, tmaster, driver_device, 0, ROT0, "Midway Games Inc.", "Touchmaster 3000 (v5.02 Standard)", 0 )
+GAME( 1997, tm3ka, tm3k, tm3k, tmaster, driver_device, 0, ROT0, "Midway Games Inc.", "Touchmaster 3000 (v5.01 Standard)", 0 )
GAME( 1998, tm4k, 0, tm3k, tmaster, tmaster_state, tm4k, ROT0, "Midway Games Inc.", "Touchmaster 4000 (v6.03 Standard)", 0 )
GAME( 1998, tm4ka, tm4k, tm3k, tmaster, tmaster_state, tm4ka, ROT0, "Midway Games Inc.", "Touchmaster 4000 (v6.02 Standard)", 0 )
GAME( 1998, tm4kca, tm4k, tm3k, tmaster, tmaster_state, tm4kca, ROT0, "Midway Games Inc.", "Touchmaster 4000 (v6.02 California)", 0 )
diff --git a/src/mame/drivers/tmmjprd.c b/src/mame/drivers/tmmjprd.c
index b9c6a61b61d..c02f595f2d0 100644
--- a/src/mame/drivers/tmmjprd.c
+++ b/src/mame/drivers/tmmjprd.c
@@ -864,5 +864,5 @@ ROM_START( tmpdoki )
ROM_END
-GAME( 1997, tmmjprd, 0, tmmjprd, tmmjprd, tmmjprd_state, 0, ROT0, "Media / Sonnet", "Tokimeki Mahjong Paradise - Dear My Love", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, tmpdoki, tmmjprd, tmpdoki, tmmjprd, tmmjprd_state, 0, ROT0, "Media / Sonnet", "Tokimeki Mahjong Paradise - Doki Doki Hen", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) // missing gfx due to wrong roms?
+GAME( 1997, tmmjprd, 0, tmmjprd, tmmjprd, driver_device, 0, ROT0, "Media / Sonnet", "Tokimeki Mahjong Paradise - Dear My Love", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, tmpdoki, tmmjprd, tmpdoki, tmmjprd, driver_device, 0, ROT0, "Media / Sonnet", "Tokimeki Mahjong Paradise - Doki Doki Hen", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) // missing gfx due to wrong roms?
diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c
index 54f34427904..60f8a621cc2 100644
--- a/src/mame/drivers/tmnt.c
+++ b/src/mame/drivers/tmnt.c
@@ -4069,7 +4069,7 @@ ROM_START( prmrsocrj )
ROM_END
-static DRIVER_INIT( mia )
+DRIVER_INIT_MEMBER(tmnt_state,mia)
{
UINT8 *gfxdata;
int len;
@@ -4082,8 +4082,8 @@ static DRIVER_INIT( mia )
be shuffled around because the ROMs are connected differently to the
051962 custom IC.
*/
- gfxdata = machine.root_device().memregion("gfx1")->base();
- len = machine.root_device().memregion("gfx1")->bytes();
+ gfxdata = machine().root_device().memregion("gfx1")->base();
+ len = machine().root_device().memregion("gfx1")->bytes();
for (i = 0; i < len; i += 4)
{
for (j = 0; j < 4; j++)
@@ -4103,8 +4103,8 @@ static DRIVER_INIT( mia )
be shuffled around because the ROMs are connected differently to the
051937 custom IC.
*/
- gfxdata = machine.root_device().memregion("gfx2")->base();
- len = machine.root_device().memregion("gfx2")->bytes();
+ gfxdata = machine().root_device().memregion("gfx2")->base();
+ len = machine().root_device().memregion("gfx2")->bytes();
for (i = 0; i < len; i += 4)
{
for (j = 0; j < 4; j++)
@@ -4119,7 +4119,7 @@ static DRIVER_INIT( mia )
}
}
- temp = auto_alloc_array(machine, UINT8, len);
+ temp = auto_alloc_array(machine(), UINT8, len);
memcpy(temp, gfxdata, len);
for (A = 0; A < len / 4; A++)
{
@@ -4157,11 +4157,11 @@ static DRIVER_INIT( mia )
gfxdata[4 * A + 2] = temp[4 * B + 2];
gfxdata[4 * A + 3] = temp[4 * B + 3];
}
- auto_free(machine, temp);
+ auto_free(machine(), temp);
}
-static DRIVER_INIT( tmnt )
+DRIVER_INIT_MEMBER(tmnt_state,tmnt)
{
UINT8 *gfxdata;
const UINT8 *code_conv_table;
@@ -4175,8 +4175,8 @@ static DRIVER_INIT( tmnt )
be shuffled around because the ROMs are connected differently to the
051962 custom IC.
*/
- gfxdata = machine.root_device().memregion("gfx1")->base();
- len = machine.root_device().memregion("gfx1")->bytes();
+ gfxdata = machine().root_device().memregion("gfx1")->base();
+ len = machine().root_device().memregion("gfx1")->bytes();
for (i = 0; i < len; i += 4)
{
for (j = 0; j < 4; j++)
@@ -4196,8 +4196,8 @@ static DRIVER_INIT( tmnt )
be shuffled around because the ROMs are connected differently to the
051937 custom IC.
*/
- gfxdata = machine.root_device().memregion("gfx2")->base();
- len = machine.root_device().memregion("gfx2")->bytes();
+ gfxdata = machine().root_device().memregion("gfx2")->base();
+ len = machine().root_device().memregion("gfx2")->bytes();
for (i = 0; i < len; i += 4)
{
for (j = 0; j < 4; j++)
@@ -4212,9 +4212,9 @@ static DRIVER_INIT( tmnt )
}
}
- temp = auto_alloc_array(machine, UINT8, len);
+ temp = auto_alloc_array(machine(), UINT8, len);
memcpy(temp, gfxdata, len);
- code_conv_table = &machine.root_device().memregion("proms")->base()[0x0000];
+ code_conv_table = &machine().root_device().memregion("proms")->base()[0x0000];
for (A = 0; A < len / 4; A++)
{
#define CA0 0
@@ -4264,13 +4264,12 @@ static DRIVER_INIT( tmnt )
gfxdata[4 * A + 2] = temp[4 * B + 2];
gfxdata[4 * A + 3] = temp[4 * B + 3];
}
- auto_free(machine, temp);
+ auto_free(machine(), temp);
}
-static DRIVER_INIT( cuebrick )
+DRIVER_INIT_MEMBER(tmnt_state,cuebrick)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- machine.device<nvram_device>("nvram")->set_base(state->m_cuebrick_nvram, sizeof(state->m_cuebrick_nvram));
+ machine().device<nvram_device>("nvram")->set_base(m_cuebrick_nvram, sizeof(m_cuebrick_nvram));
}
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
@@ -4290,44 +4289,44 @@ GAME( 1989, tmht2pa, tmnt, tmnt, tmnt2p, tmnt_state, tmnt, ROT
GAME( 1990, tmnt2pj, tmnt, tmnt, tmnt2p, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Japan 2 Players)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmnt2po, tmnt, tmnt, tmnt2p, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Oceania 2 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1990, punkshot, 0, punkshot, punkshot, tmnt_state, 0, ROT0, "Konami", "Punk Shot (US 4 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1990, punkshot2, punkshot, punkshot, punksht2, tmnt_state, 0, ROT0, "Konami", "Punk Shot (US 2 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1990, punkshotj, punkshot, punkshot, punkshtj, tmnt_state, 0, ROT0, "Konami", "Punk Shot (Japan 2 Players)", GAME_SUPPORTS_SAVE )
-
-GAME( 1990, lgtnfght, 0, lgtnfght, lgtnfght, tmnt_state, 0, ROT90, "Konami", "Lightning Fighters (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, lgtnfghta, lgtnfght, lgtnfght, lgtnfght, tmnt_state, 0, ROT90, "Konami", "Lightning Fighters (Asia)", GAME_SUPPORTS_SAVE )
-GAME( 1990, lgtnfghtu, lgtnfght, lgtnfght, lgtnfght, tmnt_state, 0, ROT90, "Konami", "Lightning Fighters (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, trigon, lgtnfght, lgtnfght, trigon, tmnt_state, 0, ROT90, "Konami", "Trigon (Japan)", GAME_SUPPORTS_SAVE )
-
-GAME( 1991, blswhstl, 0, blswhstl, blswhstl, tmnt_state, 0, ROT90, "Konami", "Bells & Whistles (Version L)", GAME_SUPPORTS_SAVE )
-GAME( 1991, detatwin, blswhstl, blswhstl, blswhstl, tmnt_state, 0, ROT90, "Konami", "Detana!! Twin Bee (Japan ver. J)", GAME_SUPPORTS_SAVE )
-
-GAME( 1991, glfgreat, 0, glfgreat, glfgreat, tmnt_state, 0, ROT0, "Konami", "Golfing Greats", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1991, glfgreatj, glfgreat, glfgreat, glfgreatj, tmnt_state,0, ROT0, "Konami", "Golfing Greats (Japan)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-
-GAME( 1991, tmnt2, 0, tmnt2, ssridr4p, tmnt_state, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (4 Players ver UAA)", GAME_SUPPORTS_SAVE ) // ver. UAA
-GAME( 1991, tmnt2a, tmnt2, tmnt2, ssrid4ps, tmnt_state, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (4 Players ver ADA)", GAME_SUPPORTS_SAVE ) // ver. ADA
-GAME( 1991, tmht22pe, tmnt2, tmnt2, ssriders, tmnt_state, 0, ROT0, "Konami", "Teenage Mutant Hero Turtles - Turtles in Time (2 Players ver EBA)", GAME_SUPPORTS_SAVE ) // ver. EBA
-GAME( 1991, tmnt22pu, tmnt2, tmnt2, ssriders, tmnt_state, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (2 Players ver UDA)", GAME_SUPPORTS_SAVE ) // ver. UDA
-
-GAME( 1993, qgakumon, 0, tmnt2, qgakumon, tmnt_state, 0, ROT0, "Konami", "Quiz Gakumon no Susume (Japan ver. JA2 Type L)", GAME_SUPPORTS_SAVE )
-
-GAME( 1991, ssriders, 0, ssriders, ssridr4p, tmnt_state, 0, ROT0, "Konami", "Sunset Riders (4 Players ver EAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersebd, ssriders, ssriders, ssriders, tmnt_state, 0, ROT0, "Konami", "Sunset Riders (2 Players ver EBD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersebc, ssriders, ssriders, ssriders, tmnt_state, 0, ROT0, "Konami", "Sunset Riders (2 Players ver EBC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersuda, ssriders, ssriders, ssrid4ps, tmnt_state, 0, ROT0, "Konami", "Sunset Riders (4 Players ver UDA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssriderseaa, ssriders, ssriders, ssrid4ps, tmnt_state, 0, ROT0, "Konami", "Sunset Riders (4 Players ver EAA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersuac, ssriders, ssriders, ssridr4p, tmnt_state, 0, ROT0, "Konami", "Sunset Riders (4 Players ver UAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersubc, ssriders, ssriders, ssriders, tmnt_state, 0, ROT0, "Konami", "Sunset Riders (2 Players ver UBC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersabd, ssriders, ssriders, ssriders, tmnt_state, 0, ROT0, "Konami", "Sunset Riders (2 Players ver ABD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersadd, ssriders, ssriders, ssrid4ps, tmnt_state, 0, ROT0, "Konami", "Sunset Riders (4 Players ver ADD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersjbd, ssriders, ssriders, ssriders, tmnt_state, 0, ROT0, "Konami", "Sunset Riders (2 Players ver JBD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersb, ssriders, sunsetbl, sunsetbl, tmnt_state, 0, ROT0, "bootleg","Sunset Riders (bootleg 4 Players ver ADD)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssriders2, ssriders, sunsetbl, sunsetbl, tmnt_state, 0, ROT0, "bootleg","Sunset Riders 2 (bootleg 4 Players ver ADD)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-
-GAME( 1991, thndrx2, 0, thndrx2, thndrx2, tmnt_state, 0, ROT0, "Konami", "Thunder Cross II (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, thndrx2a, thndrx2, thndrx2, thndrx2, tmnt_state, 0, ROT0, "Konami", "Thunder Cross II (Asia)", GAME_SUPPORTS_SAVE )
-GAME( 1991, thndrx2j, thndrx2, thndrx2, thndrx2, tmnt_state, 0, ROT0, "Konami", "Thunder Cross II (Japan)", GAME_SUPPORTS_SAVE )
-
-GAME( 1993, prmrsocr, 0, prmrsocr, prmrsocr, tmnt_state, 0, ROT0, "Konami", "Premier Soccer (ver EAB)", GAME_SUPPORTS_SAVE )
-GAME( 1993, prmrsocrj, prmrsocr, prmrsocr, prmrsocr, tmnt_state, 0, ROT0, "Konami", "Premier Soccer (ver JAB)", GAME_SUPPORTS_SAVE )
+GAME( 1990, punkshot, 0, punkshot, punkshot, driver_device, 0, ROT0, "Konami", "Punk Shot (US 4 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1990, punkshot2, punkshot, punkshot, punksht2, driver_device, 0, ROT0, "Konami", "Punk Shot (US 2 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1990, punkshotj, punkshot, punkshot, punkshtj, driver_device, 0, ROT0, "Konami", "Punk Shot (Japan 2 Players)", GAME_SUPPORTS_SAVE )
+
+GAME( 1990, lgtnfght, 0, lgtnfght, lgtnfght, driver_device, 0, ROT90, "Konami", "Lightning Fighters (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, lgtnfghta, lgtnfght, lgtnfght, lgtnfght, driver_device, 0, ROT90, "Konami", "Lightning Fighters (Asia)", GAME_SUPPORTS_SAVE )
+GAME( 1990, lgtnfghtu, lgtnfght, lgtnfght, lgtnfght, driver_device, 0, ROT90, "Konami", "Lightning Fighters (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, trigon, lgtnfght, lgtnfght, trigon, driver_device, 0, ROT90, "Konami", "Trigon (Japan)", GAME_SUPPORTS_SAVE )
+
+GAME( 1991, blswhstl, 0, blswhstl, blswhstl, driver_device, 0, ROT90, "Konami", "Bells & Whistles (Version L)", GAME_SUPPORTS_SAVE )
+GAME( 1991, detatwin, blswhstl, blswhstl, blswhstl, driver_device, 0, ROT90, "Konami", "Detana!! Twin Bee (Japan ver. J)", GAME_SUPPORTS_SAVE )
+
+GAME( 1991, glfgreat, 0, glfgreat, glfgreat, driver_device, 0, ROT0, "Konami", "Golfing Greats", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1991, glfgreatj, glfgreat, glfgreat, glfgreatj, driver_device,0, ROT0, "Konami", "Golfing Greats (Japan)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+
+GAME( 1991, tmnt2, 0, tmnt2, ssridr4p, driver_device, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (4 Players ver UAA)", GAME_SUPPORTS_SAVE ) // ver. UAA
+GAME( 1991, tmnt2a, tmnt2, tmnt2, ssrid4ps, driver_device, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (4 Players ver ADA)", GAME_SUPPORTS_SAVE ) // ver. ADA
+GAME( 1991, tmht22pe, tmnt2, tmnt2, ssriders, driver_device, 0, ROT0, "Konami", "Teenage Mutant Hero Turtles - Turtles in Time (2 Players ver EBA)", GAME_SUPPORTS_SAVE ) // ver. EBA
+GAME( 1991, tmnt22pu, tmnt2, tmnt2, ssriders, driver_device, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (2 Players ver UDA)", GAME_SUPPORTS_SAVE ) // ver. UDA
+
+GAME( 1993, qgakumon, 0, tmnt2, qgakumon, driver_device, 0, ROT0, "Konami", "Quiz Gakumon no Susume (Japan ver. JA2 Type L)", GAME_SUPPORTS_SAVE )
+
+GAME( 1991, ssriders, 0, ssriders, ssridr4p, driver_device, 0, ROT0, "Konami", "Sunset Riders (4 Players ver EAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssridersebd, ssriders, ssriders, ssriders, driver_device, 0, ROT0, "Konami", "Sunset Riders (2 Players ver EBD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssridersebc, ssriders, ssriders, ssriders, driver_device, 0, ROT0, "Konami", "Sunset Riders (2 Players ver EBC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssridersuda, ssriders, ssriders, ssrid4ps, driver_device, 0, ROT0, "Konami", "Sunset Riders (4 Players ver UDA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssriderseaa, ssriders, ssriders, ssrid4ps, driver_device, 0, ROT0, "Konami", "Sunset Riders (4 Players ver EAA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssridersuac, ssriders, ssriders, ssridr4p, driver_device, 0, ROT0, "Konami", "Sunset Riders (4 Players ver UAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssridersubc, ssriders, ssriders, ssriders, driver_device, 0, ROT0, "Konami", "Sunset Riders (2 Players ver UBC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssridersabd, ssriders, ssriders, ssriders, driver_device, 0, ROT0, "Konami", "Sunset Riders (2 Players ver ABD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssridersadd, ssriders, ssriders, ssrid4ps, driver_device, 0, ROT0, "Konami", "Sunset Riders (4 Players ver ADD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssridersjbd, ssriders, ssriders, ssriders, driver_device, 0, ROT0, "Konami", "Sunset Riders (2 Players ver JBD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssridersb, ssriders, sunsetbl, sunsetbl, driver_device, 0, ROT0, "bootleg","Sunset Riders (bootleg 4 Players ver ADD)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, ssriders2, ssriders, sunsetbl, sunsetbl, driver_device, 0, ROT0, "bootleg","Sunset Riders 2 (bootleg 4 Players ver ADD)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+
+GAME( 1991, thndrx2, 0, thndrx2, thndrx2, driver_device, 0, ROT0, "Konami", "Thunder Cross II (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, thndrx2a, thndrx2, thndrx2, thndrx2, driver_device, 0, ROT0, "Konami", "Thunder Cross II (Asia)", GAME_SUPPORTS_SAVE )
+GAME( 1991, thndrx2j, thndrx2, thndrx2, thndrx2, driver_device, 0, ROT0, "Konami", "Thunder Cross II (Japan)", GAME_SUPPORTS_SAVE )
+
+GAME( 1993, prmrsocr, 0, prmrsocr, prmrsocr, driver_device, 0, ROT0, "Konami", "Premier Soccer (ver EAB)", GAME_SUPPORTS_SAVE )
+GAME( 1993, prmrsocrj, prmrsocr, prmrsocr, prmrsocr, driver_device, 0, ROT0, "Konami", "Premier Soccer (ver JAB)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tmspoker.c b/src/mame/drivers/tmspoker.c
index bf98972a056..ed4c7e309d8 100644
--- a/src/mame/drivers/tmspoker.c
+++ b/src/mame/drivers/tmspoker.c
@@ -226,6 +226,7 @@ public:
DECLARE_WRITE8_MEMBER(tmspoker_videoram_w);
//DECLARE_WRITE8_MEMBER(debug_w);
DECLARE_READ8_MEMBER(unk_r);
+ DECLARE_DRIVER_INIT(bus);
};
@@ -611,12 +612,12 @@ ROM_END
* Driver Init *
***************************/
-static DRIVER_INIT( bus )
+DRIVER_INIT_MEMBER(tmspoker_state,bus)
{
/* decode the TMS9980 ROMs */
offs_t offs;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- const size_t len = machine.root_device().memregion("maincpu")->bytes();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ const size_t len = machine().root_device().memregion("maincpu")->bytes();
for (offs = 0; offs < len; offs++)
{
diff --git a/src/mame/drivers/tnzs.c b/src/mame/drivers/tnzs.c
index 47d3b2cd63c..e7c6296b33f 100644
--- a/src/mame/drivers/tnzs.c
+++ b/src/mame/drivers/tnzs.c
@@ -2706,4 +2706,4 @@ GAME( 1988, kabukiz, 0, kabukiz, kabukiz, tnzs_state, kabukiz, ROT0,
GAME( 1988, kabukizj, kabukiz, kabukiz, kabukizj, tnzs_state, kabukiz, ROT0, "Kaneko / Taito Corporation", "Kabuki-Z (Japan)", 0 )
GAME( 1989, insectx, 0, insectx, insectx, tnzs_state, insectx, ROT0, "Taito Corporation Japan", "Insector X (World)", 0 )
GAME( 1989, insectxj, insectx, insectx, insectxj, tnzs_state, insectx, ROT0, "Taito Corporation", "Insector X (Japan)", 0 )
-GAME( 1992, jpopnics, 0, jpopnics, jpopnics, tnzs_state, 0, ROT0, "bootleg (Nics)", "Jumping Pop (Nics, Korean bootleg of Plump Pop)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, jpopnics, 0, jpopnics, jpopnics, driver_device, 0, ROT0, "bootleg (Nics)", "Jumping Pop (Nics, Korean bootleg of Plump Pop)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/toaplan1.c b/src/mame/drivers/toaplan1.c
index 19653d4fe53..1a50b71cf02 100644
--- a/src/mame/drivers/toaplan1.c
+++ b/src/mame/drivers/toaplan1.c
@@ -2513,21 +2513,21 @@ ROM_START( vimana1 )
ROM_END
-static DRIVER_INIT( toaplan1 )
+DRIVER_INIT_MEMBER(toaplan1_state,toaplan1)
{
- toaplan1_driver_savestate(machine);
+ toaplan1_driver_savestate(machine());
}
-static DRIVER_INIT( demonwld )
+DRIVER_INIT_MEMBER(toaplan1_state,demonwld)
{
- toaplan1_driver_savestate(machine);
- demonwld_driver_savestate(machine);
+ toaplan1_driver_savestate(machine());
+ demonwld_driver_savestate(machine());
}
-static DRIVER_INIT( vimana )
+DRIVER_INIT_MEMBER(toaplan1_state,vimana)
{
- toaplan1_driver_savestate(machine);
- vimana_driver_savestate(machine);
+ toaplan1_driver_savestate(machine());
+ vimana_driver_savestate(machine());
}
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index d8f9800d115..5c29435cd27 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -414,41 +414,38 @@ static MACHINE_RESET( ghox )
}
-static DRIVER_INIT( dogyuun )
+DRIVER_INIT_MEMBER(toaplan2_state,dogyuun)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- state->m_v25_reset_line = 0x20;
+ m_v25_reset_line = 0x20;
}
-static DRIVER_INIT( fixeight )
+DRIVER_INIT_MEMBER(toaplan2_state,fixeight)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- state->m_v25_reset_line = 0x08;
+ m_v25_reset_line = 0x08;
}
-static DRIVER_INIT( fixeightbl )
+DRIVER_INIT_MEMBER(toaplan2_state,fixeightbl)
{
- UINT8 *ROM = machine.root_device().memregion("oki")->base();
+ UINT8 *ROM = machine().root_device().memregion("oki")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 5, &ROM[0x30000], 0x10000);
+ machine().root_device().membank("bank1")->configure_entries(0, 5, &ROM[0x30000], 0x10000);
}
-static DRIVER_INIT( vfive )
+DRIVER_INIT_MEMBER(toaplan2_state,vfive)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- state->m_v25_reset_line = 0x10;
+ m_v25_reset_line = 0x10;
}
-static DRIVER_INIT( pipibibsbl )
+DRIVER_INIT_MEMBER(toaplan2_state,pipibibsbl)
{
- UINT16 *ROM = (UINT16 *)(machine.root_device().memregion("maincpu")->base());
+ UINT16 *ROM = (UINT16 *)(machine().root_device().memregion("maincpu")->base());
for (int i = 0; i < (0x040000/2); i += 4)
{
@@ -460,30 +457,28 @@ static DRIVER_INIT( pipibibsbl )
}
-static DRIVER_INIT( bgaregga )
+DRIVER_INIT_MEMBER(toaplan2_state,bgaregga)
{
- UINT8 *Z80 = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *Z80 = machine().root_device().memregion("audiocpu")->base();
// seems to only use banks 0x0a to 0x0f
- machine.root_device().membank("bank1")->configure_entries(8, 8, Z80, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(8, 8, Z80, 0x4000);
}
-static DRIVER_INIT( batrider )
+DRIVER_INIT_MEMBER(toaplan2_state,batrider)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- UINT8 *Z80 = state->memregion("audiocpu")->base();
+ UINT8 *Z80 = memregion("audiocpu")->base();
- state->membank("bank1")->configure_entries(0, 16, Z80, 0x4000);
- state->m_sndirq_line = 4;
+ membank("bank1")->configure_entries(0, 16, Z80, 0x4000);
+ m_sndirq_line = 4;
}
-static DRIVER_INIT( bbakraid )
+DRIVER_INIT_MEMBER(toaplan2_state,bbakraid)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- state->m_sndirq_line = 2;
+ m_sndirq_line = 2;
}
@@ -5112,25 +5107,25 @@ ROM_END
// See list at top of file
// ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS )
-GAME( 1991, tekipaki, 0, tekipaki, tekipaki, toaplan2_state, 0, ROT0, "Toaplan", "Teki Paki", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1991, tekipaki, 0, tekipaki, tekipaki, driver_device, 0, ROT0, "Toaplan", "Teki Paki", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1991, ghox, 0, ghox, ghox, toaplan2_state, 0, ROT270, "Toaplan", "Ghox (spinner)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1991, ghoxj, ghox, ghox, ghox, toaplan2_state, 0, ROT270, "Toaplan", "Ghox (joystick)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1991, ghox, 0, ghox, ghox, driver_device, 0, ROT270, "Toaplan", "Ghox (spinner)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1991, ghoxj, ghox, ghox, ghox, driver_device, 0, ROT270, "Toaplan", "Ghox (joystick)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1992, dogyuun, 0, dogyuun, dogyuun, toaplan2_state, dogyuun, ROT270, "Toaplan", "Dogyuun", GAME_SUPPORTS_SAVE )
GAME( 1992, dogyuuna, dogyuun, dogyuun, dogyuuna, toaplan2_state, dogyuun, ROT270, "Toaplan", "Dogyuun (older set)", GAME_SUPPORTS_SAVE )
GAME( 1992, dogyuunt, dogyuun, dogyuun, dogyuunt, toaplan2_state, dogyuun, ROT270, "Toaplan", "Dogyuun (location test)", GAME_SUPPORTS_SAVE )
-GAME( 1993, kbash, 0, kbash, kbash, toaplan2_state, 0, ROT0, "Toaplan", "Knuckle Bash", GAME_SUPPORTS_SAVE )
+GAME( 1993, kbash, 0, kbash, kbash, driver_device, 0, ROT0, "Toaplan", "Knuckle Bash", GAME_SUPPORTS_SAVE )
-GAME( 1999, kbash2, 0, kbash2, kbash2, toaplan2_state, 0, ROT0, "bootleg", "Knuckle Bash 2 (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1999, kbash2, 0, kbash2, kbash2, driver_device, 0, ROT0, "bootleg", "Knuckle Bash 2 (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1992, truxton2, 0, truxton2, truxton2, toaplan2_state, 0, ROT270, "Toaplan", "Truxton II / Tatsujin Oh", GAME_SUPPORTS_SAVE )
+GAME( 1992, truxton2, 0, truxton2, truxton2, driver_device, 0, ROT270, "Toaplan", "Truxton II / Tatsujin Oh", GAME_SUPPORTS_SAVE )
-GAME( 1991, pipibibs, 0, pipibibs, pipibibs, toaplan2_state, 0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (Z80 sound cpu, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, pipibibsa, pipibibs, pipibibs, pipibibs, toaplan2_state, 0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (Z80 sound cpu, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, pipibibsp, pipibibs, pipibibs, pipibibsp, toaplan2_state,0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1991, whoopee, pipibibs, tekipaki, whoopee, toaplan2_state, 0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (Teki Paki hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // original Whoopee!! boards have a HD647180 instead of Z80
+GAME( 1991, pipibibs, 0, pipibibs, pipibibs, driver_device, 0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (Z80 sound cpu, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, pipibibsa, pipibibs, pipibibs, pipibibs, driver_device, 0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (Z80 sound cpu, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1991, pipibibsp, pipibibs, pipibibs, pipibibsp, driver_device,0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1991, whoopee, pipibibs, tekipaki, whoopee, driver_device, 0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (Teki Paki hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // original Whoopee!! boards have a HD647180 instead of Z80
GAME( 1991, pipibibsbl, pipibibs, pipibibsbl, pipibibsbl, toaplan2_state, pipibibsbl, ROT0, "bootleg (Ryouta Kikaku)", "Pipi & Bibis / Whoopee!! (bootleg)", GAME_SUPPORTS_SAVE )
@@ -5161,14 +5156,14 @@ GAME( 1993, batsugun, 0, batsugun, batsugun, toaplan2_state, dogyuun,
GAME( 1993, batsuguna, batsugun, batsugun, batsugun, toaplan2_state, dogyuun, ROT270, "Toaplan", "Batsugun (older set)", GAME_SUPPORTS_SAVE )
GAME( 1993, batsugunsp, batsugun, batsugun, batsugun, toaplan2_state, dogyuun, ROT270, "Toaplan", "Batsugun - Special Version", GAME_SUPPORTS_SAVE )
-GAME( 1994, snowbro2, 0, snowbro2, snowbro2, toaplan2_state, 0, ROT0, "Hanafram", "Snow Bros. 2 - With New Elves / Otenki Paradise", GAME_SUPPORTS_SAVE )
+GAME( 1994, snowbro2, 0, snowbro2, snowbro2, driver_device, 0, ROT0, "Hanafram", "Snow Bros. 2 - With New Elves / Otenki Paradise", GAME_SUPPORTS_SAVE )
-GAME( 1993, sstriker, 0, mahoudai, sstriker, toaplan2_state, 0, ROT270, "Raizing", "Sorcer Striker (set 1)" , GAME_SUPPORTS_SAVE ) // verified on two different PCBs
-GAME( 1993, sstrikera, sstriker, mahoudai, sstrikera, toaplan2_state, 0, ROT270, "Raizing", "Sorcer Striker (set 2)" , GAME_SUPPORTS_SAVE ) // from Korean board
-GAME( 1993, mahoudai, sstriker, mahoudai, mahoudai, toaplan2_state, 0, ROT270, "Raizing (Able license)", "Mahou Daisakusen (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1993, sstriker, 0, mahoudai, sstriker, driver_device, 0, ROT270, "Raizing", "Sorcer Striker (set 1)" , GAME_SUPPORTS_SAVE ) // verified on two different PCBs
+GAME( 1993, sstrikera, sstriker, mahoudai, sstrikera, driver_device, 0, ROT270, "Raizing", "Sorcer Striker (set 2)" , GAME_SUPPORTS_SAVE ) // from Korean board
+GAME( 1993, mahoudai, sstriker, mahoudai, mahoudai, driver_device, 0, ROT270, "Raizing (Able license)", "Mahou Daisakusen (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1994, kingdmgp, 0, shippumd, kingdmgp, toaplan2_state, 0, ROT270, "Raizing / Eighting", "Kingdom Grandprix", GAME_SUPPORTS_SAVE ) // from Korean board, missing letters on credits screen but this is correct
-GAME( 1994, shippumd, kingdmgp, shippumd, shippumd, toaplan2_state, 0, ROT270, "Raizing / Eighting", "Shippu Mahou Daisakusen (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1994, kingdmgp, 0, shippumd, kingdmgp, driver_device, 0, ROT270, "Raizing / Eighting", "Kingdom Grandprix", GAME_SUPPORTS_SAVE ) // from Korean board, missing letters on credits screen but this is correct
+GAME( 1994, shippumd, kingdmgp, shippumd, shippumd, driver_device, 0, ROT270, "Raizing / Eighting", "Shippu Mahou Daisakusen (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1996, bgaregga, 0, bgaregga, bgaregga, toaplan2_state, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga (Europe / USA / Japan / Asia) (Sat Feb 3 1996)", GAME_SUPPORTS_SAVE )
GAME( 1996, bgareggahk, bgaregga, bgaregga, bgareggahk, toaplan2_state, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga (Austria / Hong Kong) (Sat Feb 3 1996)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index 355c03ce4e1..4362ae644e9 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -787,10 +787,10 @@ ROM_END
-static DRIVER_INIT( toki )
+DRIVER_INIT_MEMBER(toki_state,toki)
{
- UINT8 *ROM = machine.root_device().memregion("oki")->base();
- UINT8 *buffer = auto_alloc_array(machine, UINT8, 0x20000);
+ UINT8 *ROM = machine().root_device().memregion("oki")->base();
+ UINT8 *buffer = auto_alloc_array(machine(), UINT8, 0x20000);
int i;
memcpy(buffer,ROM,0x20000);
@@ -799,21 +799,21 @@ static DRIVER_INIT( toki )
ROM[i] = buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,13,14,15,12,11,10,9,8,7,6,5,4,3,2,1,0)];
}
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
- seibu_sound_decrypt(machine,"audiocpu",0x2000);
+ seibu_sound_decrypt(machine(),"audiocpu",0x2000);
}
-static DRIVER_INIT( tokib )
+DRIVER_INIT_MEMBER(toki_state,tokib)
{
- UINT8 *temp = auto_alloc_array(machine, UINT8, 65536 * 2);
+ UINT8 *temp = auto_alloc_array(machine(), UINT8, 65536 * 2);
int i, offs, len;
UINT8 *rom;
/* merge background tile graphics together */
- len = machine.root_device().memregion("gfx3")->bytes();
- rom = machine.root_device().memregion("gfx3")->base();
+ len = machine().root_device().memregion("gfx3")->bytes();
+ rom = machine().root_device().memregion("gfx3")->base();
for (offs = 0; offs < len; offs += 0x20000)
{
UINT8 *base = &rom[offs];
@@ -826,8 +826,8 @@ static DRIVER_INIT( tokib )
memcpy (&base[0x18000 + i * 0x800], &temp[0x1800 + i * 0x2000], 0x800);
}
}
- len = machine.root_device().memregion("gfx4")->bytes();
- rom = machine.root_device().memregion("gfx4")->base();
+ len = machine().root_device().memregion("gfx4")->bytes();
+ rom = machine().root_device().memregion("gfx4")->base();
for (offs = 0; offs < len; offs += 0x20000)
{
UINT8 *base = &rom[offs];
@@ -841,15 +841,15 @@ static DRIVER_INIT( tokib )
}
}
- auto_free (machine, temp);
+ auto_free (machine(), temp);
}
-static DRIVER_INIT(jujuba)
+DRIVER_INIT_MEMBER(toki_state,jujuba)
{
/* Program ROMs are bitswapped */
{
int i;
- UINT16 *prgrom = (UINT16*)machine.root_device().memregion("maincpu")->base();
+ UINT16 *prgrom = (UINT16*)machine().root_device().memregion("maincpu")->base();
for (i = 0; i < 0x60000/2; i++)
{
@@ -862,9 +862,9 @@ static DRIVER_INIT(jujuba)
/* Decrypt data for z80 program */
{
- address_space *space = machine.device("audiocpu")->memory().space(AS_PROGRAM);
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, 0x20000);
- UINT8 *rom = machine.root_device().memregion("audiocpu")->base();
+ address_space *space = machine().device("audiocpu")->memory().space(AS_PROGRAM);
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, 0x20000);
+ UINT8 *rom = machine().root_device().memregion("audiocpu")->base();
int i;
memcpy(decrypt,rom,0x20000);
@@ -879,8 +879,8 @@ static DRIVER_INIT(jujuba)
}
{
- UINT8 *ROM = machine.root_device().memregion("oki")->base();
- UINT8 *buffer = auto_alloc_array(machine, UINT8, 0x20000);
+ UINT8 *ROM = machine().root_device().memregion("oki")->base();
+ UINT8 *buffer = auto_alloc_array(machine(), UINT8, 0x20000);
int i;
memcpy(buffer,ROM,0x20000);
@@ -889,7 +889,7 @@ static DRIVER_INIT(jujuba)
ROM[i] = buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,13,14,15,12,11,10,9,8,7,6,5,4,3,2,1,0)];
}
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
}
diff --git a/src/mame/drivers/tokyocop.c b/src/mame/drivers/tokyocop.c
index 7ba5dc7495d..f0d8a6301e9 100644
--- a/src/mame/drivers/tokyocop.c
+++ b/src/mame/drivers/tokyocop.c
@@ -87,4 +87,4 @@ ROM_START(tokyocop)
ROM_END
-GAME( 2003, tokyocop, 0, tokyocop, tokyocop, tokyocop_state, 0, ROT0, "Gaelco", "Tokyo Cop (Italy)", GAME_IS_SKELETON )
+GAME( 2003, tokyocop, 0, tokyocop, tokyocop, driver_device, 0, ROT0, "Gaelco", "Tokyo Cop (Italy)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/tomcat.c b/src/mame/drivers/tomcat.c
index 629e23cbbf6..dcf3ba151e1 100644
--- a/src/mame/drivers/tomcat.c
+++ b/src/mame/drivers/tomcat.c
@@ -452,4 +452,4 @@ ROM_START( tomcat )
ROM_LOAD( "136021-105.1l", 0x0000, 0x0100, CRC(82fc3eb2) SHA1(184231c7baef598294860a7d2b8a23798c5c7da6) ) /* AVG PROM */
ROM_END
-GAME( 1985, tomcat, 0, tomcat, tomcat, tomcat_state, 0, ROT0, "Atari", "TomCat (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1985, tomcat, 0, tomcat, tomcat, driver_device, 0, ROT0, "Atari", "TomCat (prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tonton.c b/src/mame/drivers/tonton.c
index 655b2a43791..4e579ed48d4 100644
--- a/src/mame/drivers/tonton.c
+++ b/src/mame/drivers/tonton.c
@@ -298,4 +298,4 @@ ROM_END
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 199?, tonton, 0, tonton, tonton, tonton_state, 0, ROT0, "Success / Taiyo Jidoki", "Waku Waku Doubutsu Land TonTon (Japan)", 0 )
+GAME( 199?, tonton, 0, tonton, tonton, driver_device, 0, ROT0, "Success / Taiyo Jidoki", "Waku Waku Doubutsu Land TonTon (Japan)", 0 )
diff --git a/src/mame/drivers/toobin.c b/src/mame/drivers/toobin.c
index 24961936796..ce358fd7a72 100644
--- a/src/mame/drivers/toobin.c
+++ b/src/mame/drivers/toobin.c
@@ -600,9 +600,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( toobin )
+DRIVER_INIT_MEMBER(toobin_state,toobin)
{
- atarijsa_init(machine, "FF9000", 0x1000);
+ atarijsa_init(machine(), "FF9000", 0x1000);
}
diff --git a/src/mame/drivers/topspeed.c b/src/mame/drivers/topspeed.c
index 407d0885481..c50dc47101e 100644
--- a/src/mame/drivers/topspeed.c
+++ b/src/mame/drivers/topspeed.c
@@ -935,6 +935,6 @@ ROM_START( fullthrl )
ROM_END
-GAMEL( 1987, topspeed, 0, topspeed, topspeed, topspeed_state, 0, ROT0, "Taito Corporation Japan", "Top Speed (World)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_topspeed )
-GAMEL( 1987, topspeedu,topspeed, topspeed, fullthrl, topspeed_state, 0, ROT0, "Taito America Corporation (Romstar license)", "Top Speed (US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_topspeed )
-GAMEL( 1987, fullthrl, topspeed, topspeed, fullthrl, topspeed_state, 0, ROT0, "Taito Corporation", "Full Throttle (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_topspeed )
+GAMEL( 1987, topspeed, 0, topspeed, topspeed, driver_device, 0, ROT0, "Taito Corporation Japan", "Top Speed (World)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_topspeed )
+GAMEL( 1987, topspeedu,topspeed, topspeed, fullthrl, driver_device, 0, ROT0, "Taito America Corporation (Romstar license)", "Top Speed (US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_topspeed )
+GAMEL( 1987, fullthrl, topspeed, topspeed, fullthrl, driver_device, 0, ROT0, "Taito Corporation", "Full Throttle (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_topspeed )
diff --git a/src/mame/drivers/toratora.c b/src/mame/drivers/toratora.c
index 8fe31fb57c4..69705fc183f 100644
--- a/src/mame/drivers/toratora.c
+++ b/src/mame/drivers/toratora.c
@@ -504,4 +504,4 @@ ROM_END
*
*************************************/
-GAME( 1980, toratora, 0, toratora, toratora, toratora_state, 0, ROT90, "Game Plan", "Tora Tora (prototype?)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, toratora, 0, toratora, toratora, driver_device, 0, ROT90, "Game Plan", "Tora Tora (prototype?)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tourtabl.c b/src/mame/drivers/tourtabl.c
index d0534480a1f..d99c1d21f10 100644
--- a/src/mame/drivers/tourtabl.c
+++ b/src/mame/drivers/tourtabl.c
@@ -218,5 +218,5 @@ ROM_START( tourtab2 )
ROM_END
-GAME( 1978, tourtabl, 0, tourtabl, tourtabl, tourtabl_state, 0, ROT0, "Atari", "Tournament Table (set 1)", 0 )
-GAME( 1978, tourtab2, tourtabl, tourtabl, tourtabl, tourtabl_state, 0, ROT0, "Atari", "Tournament Table (set 2)", 0 )
+GAME( 1978, tourtabl, 0, tourtabl, tourtabl, driver_device, 0, ROT0, "Atari", "Tournament Table (set 1)", 0 )
+GAME( 1978, tourtab2, tourtabl, tourtabl, tourtabl, driver_device, 0, ROT0, "Atari", "Tournament Table (set 2)", 0 )
diff --git a/src/mame/drivers/tourvis.c b/src/mame/drivers/tourvis.c
index f6adc8b5146..9175d693ba6 100644
--- a/src/mame/drivers/tourvis.c
+++ b/src/mame/drivers/tourvis.c
@@ -198,6 +198,7 @@ public:
DECLARE_WRITE8_MEMBER(tourvision_i8155_b_w);
DECLARE_WRITE8_MEMBER(tourvision_i8155_c_w);
DECLARE_WRITE_LINE_MEMBER(tourvision_timer_out);
+ DECLARE_DRIVER_INIT(tourvision);
};
@@ -513,9 +514,9 @@ ROM_START(tvsvball)
ROM_END
-static DRIVER_INIT(tourvision)
+DRIVER_INIT_MEMBER(tourvision_state,tourvision)
{
- DRIVER_INIT_CALL(pce);
+ init_pce();
}
GAME( 19??, tourvis, 0, tourvision, tourvision, tourvision_state, tourvision, ROT0, "bootleg (Tourvision)", "Tourvision PCE bootleg", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/toypop.c b/src/mame/drivers/toypop.c
index 39e75a3b5cc..b03aa1f8155 100644
--- a/src/mame/drivers/toypop.c
+++ b/src/mame/drivers/toypop.c
@@ -669,5 +669,5 @@ ROM_START( toypop )
ROM_END
// YEAR, NAME, PARENT,MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1983, liblrabl, 0, liblrabl, liblrabl, toypop_state, 0, ROT0, "Namco", "Libble Rabble", 0 )
-GAME( 1986, toypop, 0, toypop, toypop, toypop_state, 0, ROT0, "Namco", "Toypop", 0 )
+GAME( 1983, liblrabl, 0, liblrabl, liblrabl, driver_device, 0, ROT0, "Namco", "Libble Rabble", 0 )
+GAME( 1986, toypop, 0, toypop, toypop, driver_device, 0, ROT0, "Namco", "Toypop", 0 )
diff --git a/src/mame/drivers/tp84.c b/src/mame/drivers/tp84.c
index 57ad9beb853..f7607c93361 100644
--- a/src/mame/drivers/tp84.c
+++ b/src/mame/drivers/tp84.c
@@ -442,6 +442,6 @@ ROM_START( tp84b )
ROM_END
-GAME( 1984, tp84, 0, tp84, tp84, tp84_state, 0, ROT90, "Konami", "Time Pilot '84 (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, tp84a, tp84, tp84, tp84a, tp84_state,0, ROT90, "Konami", "Time Pilot '84 (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, tp84b, tp84, tp84b, tp84, tp84_state, 0, ROT90, "Konami", "Time Pilot '84 (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1984, tp84, 0, tp84, tp84, driver_device, 0, ROT90, "Konami", "Time Pilot '84 (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, tp84a, tp84, tp84, tp84a, driver_device,0, ROT90, "Konami", "Time Pilot '84 (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1984, tp84b, tp84, tp84b, tp84, driver_device, 0, ROT90, "Konami", "Time Pilot '84 (set 3)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c
index 6f54f8e1258..de9e5f8e2b9 100644
--- a/src/mame/drivers/trackfld.c
+++ b/src/mame/drivers/trackfld.c
@@ -1433,20 +1433,20 @@ ROM_END
-static DRIVER_INIT( trackfld )
+DRIVER_INIT_MEMBER(trackfld_state,trackfld)
{
- konami1_decode(machine, "maincpu");
+ konami1_decode(machine(), "maincpu");
}
-static DRIVER_INIT( atlantol )
+DRIVER_INIT_MEMBER(trackfld_state,atlantol)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
UINT8 *decrypt;
int A;
/* "konami1" encrypted opcodes */
- decrypt = konami1_decode(machine, "maincpu");
+ decrypt = konami1_decode(machine(), "maincpu");
/* not encrypted opcodes */
for (A = 0; A < 0x6000; A++)
@@ -1454,8 +1454,7 @@ static DRIVER_INIT( atlantol )
space->set_decrypted_region(0x0000, 0xffff, decrypt);
- trackfld_state *state = machine.driver_data<trackfld_state>();
- space->install_write_handler(0x0800, 0x0800, write8_delegate(FUNC(trackfld_state::atlantol_gfxbank_w),state));
+ space->install_write_handler(0x0800, 0x0800, write8_delegate(FUNC(trackfld_state::atlantol_gfxbank_w),this));
space->nop_write(0x1000, 0x1000);
/* unmapped areas read as ROM */
@@ -1463,15 +1462,15 @@ static DRIVER_INIT( atlantol )
space->install_read_bank(0x1380, 0x17ff, "bank11");
space->install_read_bank(0x2000, 0x27ff, "bank12");
space->install_read_bank(0x4000, 0x5fff, "bank13");
- state->membank("bank10")->set_base(&rom[0x0000]);
- state->membank("bank11")->set_base(&rom[0x1380]);
- state->membank("bank12")->set_base(&rom[0x2000]);
- state->membank("bank13")->set_base(&rom[0x4000]);
+ membank("bank10")->set_base(&rom[0x0000]);
+ membank("bank11")->set_base(&rom[0x1380]);
+ membank("bank12")->set_base(&rom[0x2000]);
+ membank("bank13")->set_base(&rom[0x4000]);
}
-static DRIVER_INIT( mastkin )
+DRIVER_INIT_MEMBER(trackfld_state,mastkin)
{
- UINT8 *prom = machine.root_device().memregion("proms")->base();
+ UINT8 *prom = machine().root_device().memregion("proms")->base();
int i;
/* build a fake palette so the screen won't be all black */
@@ -1490,22 +1489,22 @@ static DRIVER_INIT( mastkin )
}
}
-static DRIVER_INIT( wizzquiz )
+DRIVER_INIT_MEMBER(trackfld_state,wizzquiz)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base() + 0xe000;
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base() + 0xe000;
int i;
/* decrypt program rom */
for (i = 0; i < 0x2000; i++)
ROM[i] = BITSWAP8(ROM[i],0,1,2,3,4,5,6,7);
- ROM = machine.root_device().memregion("user1")->base();
+ ROM = machine().root_device().memregion("user1")->base();
/* decrypt questions roms */
for (i = 0; i < 0x40000; i++)
ROM[i] = BITSWAP8(ROM[i],0,1,2,3,4,5,6,7);
- machine.root_device().membank("bank1")->configure_entries(0, 8, ROM, 0x8000);
+ machine().root_device().membank("bank1")->configure_entries(0, 8, ROM, 0x8000);
}
@@ -1518,5 +1517,5 @@ GAME( 1982, trackfldnz,trackfld, trackfld, trackfld, trackfld_state, trackfld, R
GAME( 1988, mastkin, 0, mastkin, mastkin, trackfld_state, mastkin, ROT0, "Du Tech", "The Masters of Kin", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1985, wizzquiz, 0, wizzquiz, wizzquiz, trackfld_state, wizzquiz, ROT0, "Zilec-Zenitone (Konami license)", "Wizz Quiz (Konami version)", GAME_SUPPORTS_SAVE )
GAME( 1985, wizzquiza, wizzquiz, wizzquiz, wizzquiz, trackfld_state, wizzquiz, ROT0, "Zilec-Zenitone", "Wizz Quiz (version 4)", GAME_SUPPORTS_SAVE )
-GAME( 1987, reaktor, 0, reaktor, reaktor, trackfld_state, 0, ROT90, "Zilec", "Reaktor (Track & Field conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1985, yieartf, yiear, yieartf, yieartf, trackfld_state, 0, ROT0, "Konami", "Yie Ar Kung-Fu (GX361 conversion)", GAME_SUPPORTS_SAVE ) // the conversion looks of bootleg quality, but the code is clearly a very different revision to either original hardware set...
+GAME( 1987, reaktor, 0, reaktor, reaktor, driver_device, 0, ROT90, "Zilec", "Reaktor (Track & Field conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1985, yieartf, yiear, yieartf, yieartf, driver_device, 0, ROT0, "Konami", "Yie Ar Kung-Fu (GX361 conversion)", GAME_SUPPORTS_SAVE ) // the conversion looks of bootleg quality, but the code is clearly a very different revision to either original hardware set...
diff --git a/src/mame/drivers/travrusa.c b/src/mame/drivers/travrusa.c
index 4e18b58a4ea..13efc80e4d1 100644
--- a/src/mame/drivers/travrusa.c
+++ b/src/mame/drivers/travrusa.c
@@ -450,11 +450,11 @@ ROM_START( shtridera )
ROM_LOAD( "3.bpr", 0x0220, 0x0100, CRC(5db47092) SHA1(8e234ee88143755a4fd5ec86a03b55be5f9c5db8) )
ROM_END
-static DRIVER_INIT( motorace )
+DRIVER_INIT_MEMBER(travrusa_state,motorace)
{
int A, j;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8 *buffer = auto_alloc_array(machine, UINT8, 0x2000);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8 *buffer = auto_alloc_array(machine(), UINT8, 0x2000);
memcpy(buffer, rom, 0x2000);
@@ -465,13 +465,13 @@ static DRIVER_INIT( motorace )
rom[j] = BITSWAP8(buffer[A],2,7,4,1,6,3,0,5);
}
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
}
-static DRIVER_INIT( shtridra )
+DRIVER_INIT_MEMBER(travrusa_state,shtridra)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
/* D3/D4 and D5/D6 swapped */
for (A = 0; A < 0x2000; A++)
@@ -480,7 +480,7 @@ static DRIVER_INIT( shtridra )
-GAME( 1983, travrusa, 0, travrusa, travrusa, travrusa_state, 0, ROT270, "Irem", "Traverse USA / Zippy Race", GAME_SUPPORTS_SAVE )
+GAME( 1983, travrusa, 0, travrusa, travrusa, driver_device, 0, ROT270, "Irem", "Traverse USA / Zippy Race", GAME_SUPPORTS_SAVE )
GAME( 1983, motorace, travrusa, travrusa, motorace, travrusa_state, motorace, ROT270, "Irem (Williams license)", "MotoRace USA", GAME_SUPPORTS_SAVE )
-GAME( 1985, shtrider, 0, shtrider, shtrider, travrusa_state, 0, ROT270|ORIENTATION_FLIP_X, "Seibu Kaihatsu", "Shot Rider", GAME_SUPPORTS_SAVE )
+GAME( 1985, shtrider, 0, shtrider, shtrider, driver_device, 0, ROT270|ORIENTATION_FLIP_X, "Seibu Kaihatsu", "Shot Rider", GAME_SUPPORTS_SAVE )
GAME( 1984, shtridera,shtrider, shtrider, shtrider, travrusa_state, shtridra, ROT270|ORIENTATION_FLIP_X, "Seibu Kaihatsu (Sigma license)", "Shot Rider (Sigma license)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/triforce.c b/src/mame/drivers/triforce.c
index 699a321d1e0..fe13c203959 100644
--- a/src/mame/drivers/triforce.c
+++ b/src/mame/drivers/triforce.c
@@ -692,20 +692,20 @@ ROM_START( mkartagp )
ROM_END
-GAME( 2002, triforce, 0, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "Triforce Bios", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT )
+GAME( 2002, triforce, 0, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "Triforce Bios", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT )
// GD-ROM games
-GAME( 2002, vs2002j, triforce, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "Virtua Striker 2002 (GDT-0001)", GAME_IS_SKELETON )
-GAME( 2002, vs2002ex, triforce, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "Virtua Striker 2002 (GDT-0002)", GAME_IS_SKELETON )
-GAME( 2003, avalons, triforce, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "The Key Of Avalon - The Wizard Master - Server (GDT-0005C) (V4.001)", GAME_IS_SKELETON )
-GAME( 2003, gekpurya, triforce, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (Rev C) (GDT-0008C)", GAME_IS_SKELETON )
-GAME( 2004, avalon13, triforce, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "The Key Of Avalon 1.3 - Chaotic Sabbat - Client (GDT-0010C) (V4.000)", GAME_IS_SKELETON )
-GAME( 2004, tfupdate, triforce, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "Triforce DIMM Updater (GDT-0011)", GAME_IS_SKELETON )
-GAME( 2004, vs4j, triforce, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "Virtua Striker 4 (Japan) (GDT-0013E)", GAME_IS_SKELETON )
-GAME( 2004, vs4, triforce, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "Virtua Striker 4 (Export) (GDT-0015)", GAME_IS_SKELETON )
-GAME( 2004, avalon20, triforce, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "The Key Of Avalon 2.0 - Eutaxy and Commandment - Client (GDT-0017B) (V3.001)", GAME_IS_SKELETON )
-GAME( 2006, vs42006, triforce, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan) (Rev D) (GDT-0020D)", GAME_IS_SKELETON )
+GAME( 2002, vs2002j, triforce, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "Virtua Striker 2002 (GDT-0001)", GAME_IS_SKELETON )
+GAME( 2002, vs2002ex, triforce, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "Virtua Striker 2002 (GDT-0002)", GAME_IS_SKELETON )
+GAME( 2003, avalons, triforce, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "The Key Of Avalon - The Wizard Master - Server (GDT-0005C) (V4.001)", GAME_IS_SKELETON )
+GAME( 2003, gekpurya, triforce, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (Rev C) (GDT-0008C)", GAME_IS_SKELETON )
+GAME( 2004, avalon13, triforce, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "The Key Of Avalon 1.3 - Chaotic Sabbat - Client (GDT-0010C) (V4.000)", GAME_IS_SKELETON )
+GAME( 2004, tfupdate, triforce, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "Triforce DIMM Updater (GDT-0011)", GAME_IS_SKELETON )
+GAME( 2004, vs4j, triforce, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "Virtua Striker 4 (Japan) (GDT-0013E)", GAME_IS_SKELETON )
+GAME( 2004, vs4, triforce, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "Virtua Striker 4 (Export) (GDT-0015)", GAME_IS_SKELETON )
+GAME( 2004, avalon20, triforce, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "The Key Of Avalon 2.0 - Eutaxy and Commandment - Client (GDT-0017B) (V3.001)", GAME_IS_SKELETON )
+GAME( 2006, vs42006, triforce, triforcegd, triforce, driver_device, 0, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan) (Rev D) (GDT-0020D)", GAME_IS_SKELETON )
// ROM games
-GAME( 2005, mkartagp, triforce, triforce_base, triforce, triforce_state, 0, ROT0, "Namco", "Mario Kart Arcade GP", GAME_IS_SKELETON )
+GAME( 2005, mkartagp, triforce, triforce_base, triforce, driver_device, 0, ROT0, "Namco", "Mario Kart Arcade GP", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/triplhnt.c b/src/mame/drivers/triplhnt.c
index 3217ae1b59b..5ec85d81a66 100644
--- a/src/mame/drivers/triplhnt.c
+++ b/src/mame/drivers/triplhnt.c
@@ -17,10 +17,9 @@ To Do:
-static DRIVER_INIT( triplhnt )
+DRIVER_INIT_MEMBER(triplhnt_state,triplhnt)
{
- triplhnt_state *state = machine.driver_data<triplhnt_state>();
- machine.device<nvram_device>("nvram")->set_base(state->m_cmos, sizeof(state->m_cmos));
+ machine().device<nvram_device>("nvram")->set_base(m_cmos, sizeof(m_cmos));
}
diff --git a/src/mame/drivers/truco.c b/src/mame/drivers/truco.c
index 739c4ecba14..a64026c4516 100644
--- a/src/mame/drivers/truco.c
+++ b/src/mame/drivers/truco.c
@@ -499,4 +499,4 @@ ROM_START( truco )
ROM_END
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 198?, truco, 0, truco, truco, truco_state, 0, ROT0, "Playtronic SRL", "Truco-Tron", 0 )
+GAME( 198?, truco, 0, truco, truco, driver_device, 0, ROT0, "Playtronic SRL", "Truco-Tron", 0 )
diff --git a/src/mame/drivers/trucocl.c b/src/mame/drivers/trucocl.c
index 777d5be98c9..0a651511d4d 100644
--- a/src/mame/drivers/trucocl.c
+++ b/src/mame/drivers/trucocl.c
@@ -183,11 +183,10 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( trucocl )
+DRIVER_INIT_MEMBER(trucocl_state,trucocl)
{
- trucocl_state *state = machine.driver_data<trucocl_state>();
- state->m_cur_dac_address = -1;
- state->m_cur_dac_address_index = 0;
+ m_cur_dac_address = -1;
+ m_cur_dac_address_index = 0;
}
diff --git a/src/mame/drivers/trvmadns.c b/src/mame/drivers/trvmadns.c
index 66a78f5c546..9b42f4d01e0 100644
--- a/src/mame/drivers/trvmadns.c
+++ b/src/mame/drivers/trvmadns.c
@@ -398,4 +398,4 @@ ROM_START( trvmadns )
// empty space, for 3 roms (each one max 0x8000 bytes long)
ROM_END
-GAME( 1985, trvmadns, 0, trvmadns, trvmadns, trvmadns_state, 0, ROT0, "Thunderhead Inc.", "Trivia Madness", GAME_WRONG_COLORS | GAME_NOT_WORKING )
+GAME( 1985, trvmadns, 0, trvmadns, trvmadns, driver_device, 0, ROT0, "Thunderhead Inc.", "Trivia Madness", GAME_WRONG_COLORS | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/trvquest.c b/src/mame/drivers/trvquest.c
index b59d5a070ad..f13dad62de3 100644
--- a/src/mame/drivers/trvquest.c
+++ b/src/mame/drivers/trvquest.c
@@ -262,4 +262,4 @@ ROM_START( trvquest )
ROM_LOAD( "roma", 0x16000, 0x2000, CRC(b4bcaf33) SHA1(c6b08fb8d55b2834d0c6c5baff9f544c795e4c15) )
ROM_END
-GAME( 1984, trvquest, 0, trvquest, trvquest, gameplan_state, 0, ROT90, "Sunn / Techstar", "Trivia Quest", GAME_SUPPORTS_SAVE )
+GAME( 1984, trvquest, 0, trvquest, trvquest, driver_device, 0, ROT90, "Sunn / Techstar", "Trivia Quest", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tryout.c b/src/mame/drivers/tryout.c
index 9fc175e69c6..82f670cbd33 100644
--- a/src/mame/drivers/tryout.c
+++ b/src/mame/drivers/tryout.c
@@ -242,4 +242,4 @@ ROM_START( tryout )
ROM_LOAD( "ch14.bpr", 0x00000, 0x0020, CRC(8ce19925) SHA1(12f8f6022f1148b6ba1d019a34247452637063a7) )
ROM_END
-GAME( 1985, tryout, 0, tryout, tryout, tryout_state, 0, ROT90, "Data East Corporation", "Pro Baseball Skill Tryout (Japan)", GAME_NO_COCKTAIL )
+GAME( 1985, tryout, 0, tryout, tryout, driver_device, 0, ROT90, "Data East Corporation", "Pro Baseball Skill Tryout (Japan)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/tsamurai.c b/src/mame/drivers/tsamurai.c
index 0e03e29002e..089d27ba30b 100644
--- a/src/mame/drivers/tsamurai.c
+++ b/src/mame/drivers/tsamurai.c
@@ -1237,20 +1237,20 @@ ROM_START( ringfgt2 )
ROM_LOAD( "clr.6p", 0x200, 0x0100, CRC(0e4fd17a) SHA1(d4e32bd9dd903177af61f77976a25c5db1467bba) )
ROM_END
-GAME( 1984, vsgongf, 0, vsgongf, vsgongf, tsamurai_state, 0, ROT90, "Kaneko", "VS Gong Fight", GAME_IMPERFECT_COLORS )
-GAME( 1984, ringfgt, vsgongf, vsgongf, vsgongf, tsamurai_state, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 1)", GAME_IMPERFECT_COLORS )
-GAME( 1984, ringfgt2, vsgongf, vsgongf, vsgongf, tsamurai_state, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 2)", GAME_IMPERFECT_COLORS )
+GAME( 1984, vsgongf, 0, vsgongf, vsgongf, driver_device, 0, ROT90, "Kaneko", "VS Gong Fight", GAME_IMPERFECT_COLORS )
+GAME( 1984, ringfgt, vsgongf, vsgongf, vsgongf, driver_device, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 1)", GAME_IMPERFECT_COLORS )
+GAME( 1984, ringfgt2, vsgongf, vsgongf, vsgongf, driver_device, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 2)", GAME_IMPERFECT_COLORS )
-GAME( 1985, tsamurai, 0, tsamurai, tsamurai, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 1)", 0 )
-GAME( 1985, tsamurai2,tsamurai, tsamurai, tsamurai, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 2)", 0 )
-GAME( 1985, tsamuraih,tsamurai, tsamurai, tsamurai, tsamurai_state, 0, ROT90, "bootleg", "Samurai Nihon-Ichi (bootleg, harder)", 0 )
+GAME( 1985, tsamurai, 0, tsamurai, tsamurai, driver_device, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 1)", 0 )
+GAME( 1985, tsamurai2,tsamurai, tsamurai, tsamurai, driver_device, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 2)", 0 )
+GAME( 1985, tsamuraih,tsamurai, tsamurai, tsamurai, driver_device, 0, ROT90, "bootleg", "Samurai Nihon-Ichi (bootleg, harder)", 0 )
-GAME( 1985, ladymstr, 0, tsamurai, ladymstr, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Lady Master of Kung Fu", 0 )
-GAME( 1985, nunchaku, ladymstr, tsamurai, nunchaku, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Nunchackun", GAME_IMPERFECT_COLORS )
+GAME( 1985, ladymstr, 0, tsamurai, ladymstr, driver_device, 0, ROT90, "Kaneko / Taito", "Lady Master of Kung Fu", 0 )
+GAME( 1985, nunchaku, ladymstr, tsamurai, nunchaku, driver_device, 0, ROT90, "Kaneko / Taito", "Nunchackun", GAME_IMPERFECT_COLORS )
-GAME( 1985, yamagchi, 0, tsamurai, yamagchi, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Go Go Mr. Yamaguchi / Yuke Yuke Yamaguchi-kun", GAME_IMPERFECT_COLORS )
+GAME( 1985, yamagchi, 0, tsamurai, yamagchi, driver_device, 0, ROT90, "Kaneko / Taito", "Go Go Mr. Yamaguchi / Yuke Yuke Yamaguchi-kun", GAME_IMPERFECT_COLORS )
-GAME( 1986, m660, 0, m660, m660, tsamurai_state, 0, ROT90, "Wood Place Inc. (Taito America Corporation license)", "Mission 660 (US)", 0 )
-GAME( 1986, m660j, m660, m660, m660, tsamurai_state, 0, ROT90, "Wood Place Inc. (Taito Corporation license)", "Mission 660 (Japan)", 0 )
-GAME( 1986, m660b, m660, m660, m660, tsamurai_state, 0, ROT90, "bootleg", "Mission 660 (bootleg)", 0 )
-GAME( 1986, alphaxz, m660, m660, m660, tsamurai_state, 0, ROT90, "Ed Co. Ltd. (Wood Place Inc. license)", "The Alphax Z (Japan)", 0 )
+GAME( 1986, m660, 0, m660, m660, driver_device, 0, ROT90, "Wood Place Inc. (Taito America Corporation license)", "Mission 660 (US)", 0 )
+GAME( 1986, m660j, m660, m660, m660, driver_device, 0, ROT90, "Wood Place Inc. (Taito Corporation license)", "Mission 660 (Japan)", 0 )
+GAME( 1986, m660b, m660, m660, m660, driver_device, 0, ROT90, "bootleg", "Mission 660 (bootleg)", 0 )
+GAME( 1986, alphaxz, m660, m660, m660, driver_device, 0, ROT90, "Ed Co. Ltd. (Wood Place Inc. license)", "The Alphax Z (Japan)", 0 )
diff --git a/src/mame/drivers/ttchamp.c b/src/mame/drivers/ttchamp.c
index 2c2241f76fa..7d64ee5f1cd 100644
--- a/src/mame/drivers/ttchamp.c
+++ b/src/mame/drivers/ttchamp.c
@@ -59,6 +59,7 @@ public:
DECLARE_WRITE16_MEMBER(paldat_w);
DECLARE_READ16_MEMBER(peno_rand);
DECLARE_READ16_MEMBER(peno_rand2);
+ DECLARE_DRIVER_INIT(ttchamp);
};
@@ -335,11 +336,11 @@ ROM_START( ttchampa )
ROM_LOAD( "27c020.1", 0x000000, 0x040000, CRC(e2c4fe95) SHA1(da349035cc348db220a1e12b4c2a6021e2168425) )
ROM_END
-static DRIVER_INIT (ttchamp)
+DRIVER_INIT_MEMBER(ttchamp_state,ttchamp)
{
- UINT8 *ROM1 = machine.root_device().memregion("user1")->base();
- machine.root_device().membank("bank1")->set_base(&ROM1[0x120000]);
- machine.root_device().membank("bank2")->set_base(&ROM1[0x180000]);
+ UINT8 *ROM1 = machine().root_device().memregion("user1")->base();
+ machine().root_device().membank("bank1")->set_base(&ROM1[0x120000]);
+ machine().root_device().membank("bank2")->set_base(&ROM1[0x180000]);
}
GAME( 199?, ttchamp, 0, ttchamp, ttchamp, ttchamp_state, ttchamp, ROT0, "Gamart?", "Table Tennis Champions (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/tubep.c b/src/mame/drivers/tubep.c
index d8586302b1b..c1dfe35c3a5 100644
--- a/src/mame/drivers/tubep.c
+++ b/src/mame/drivers/tubep.c
@@ -1202,6 +1202,6 @@ ROM_END
*************************************/
/* year rom parent machine inp init */
-GAME( 1984, tubep, 0, tubep, tubep, tubep_state, 0, ROT0, "Nichibutsu / Fujitek", "Tube Panic", GAME_SUPPORTS_SAVE )
-GAME( 1984, tubepb, tubep, tubepb, tubepb, tubep_state, 0, ROT0, "bootleg", "Tube Panic (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1984, rjammer, 0, rjammer, rjammer, tubep_state, 0, ROT0, "Nichibutsu / Alice", "Roller Jammer", GAME_SUPPORTS_SAVE )
+GAME( 1984, tubep, 0, tubep, tubep, driver_device, 0, ROT0, "Nichibutsu / Fujitek", "Tube Panic", GAME_SUPPORTS_SAVE )
+GAME( 1984, tubepb, tubep, tubepb, tubepb, driver_device, 0, ROT0, "bootleg", "Tube Panic (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1984, rjammer, 0, rjammer, rjammer, driver_device, 0, ROT0, "Nichibutsu / Alice", "Roller Jammer", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tugboat.c b/src/mame/drivers/tugboat.c
index 5a10c5c3e59..717ca4b609d 100644
--- a/src/mame/drivers/tugboat.c
+++ b/src/mame/drivers/tugboat.c
@@ -455,7 +455,7 @@ ROM_START( berenstn )
ROM_END
-GAME( 1982, tugboat, 0, tugboat, tugboat, tugboat_state, 0, ROT90, "Enter-Tech, Ltd.", "Tugboat", GAME_IMPERFECT_GRAPHICS )
-GAME( 1983, noahsark, 0, tugboat, noahsark, tugboat_state, 0, ROT90, "Enter-Tech, Ltd.", "Noah's Ark", GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, berenstn, 0, tugboat, noahsark, tugboat_state, 0, ROT90, "Enter-Tech, Ltd.", "The Berenstain Bears in Big Paw's Cave", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS )
+GAME( 1982, tugboat, 0, tugboat, tugboat, driver_device, 0, ROT90, "Enter-Tech, Ltd.", "Tugboat", GAME_IMPERFECT_GRAPHICS )
+GAME( 1983, noahsark, 0, tugboat, noahsark, driver_device, 0, ROT90, "Enter-Tech, Ltd.", "Noah's Ark", GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, berenstn, 0, tugboat, noahsark, driver_device, 0, ROT90, "Enter-Tech, Ltd.", "The Berenstain Bears in Big Paw's Cave", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS )
diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c
index 33b5b92dd05..88fec8b9b56 100644
--- a/src/mame/drivers/tumbleb.c
+++ b/src/mame/drivers/tumbleb.c
@@ -3105,44 +3105,43 @@ static void tumblepb_gfx1_rearrange(running_machine &machine)
}
}
-static DRIVER_INIT( tumblepb )
+DRIVER_INIT_MEMBER(tumbleb_state,tumblepb)
{
- tumblepb_gfx1_rearrange(machine);
+ tumblepb_gfx1_rearrange(machine());
#if TUMBLEP_HACK
- tumblepb_patch_code(machine, 0x000132);
+ tumblepb_patch_code(machine(), 0x000132);
#endif
}
-static DRIVER_INIT( tumbleb2 )
+DRIVER_INIT_MEMBER(tumbleb_state,tumbleb2)
{
- tumblepb_gfx1_rearrange(machine);
+ tumblepb_gfx1_rearrange(machine());
#if TUMBLEP_HACK
- tumblepb_patch_code(machine, 0x000132);
+ tumblepb_patch_code(machine(), 0x000132);
#endif
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x100000, 0x100001, write16_delegate(FUNC(tumbleb_state::tumbleb2_soundmcu_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x100000, 0x100001, write16_delegate(FUNC(tumbleb_state::tumbleb2_soundmcu_w),this));
}
-static DRIVER_INIT( jumpkids )
+DRIVER_INIT_MEMBER(tumbleb_state,jumpkids)
{
- tumblepb_gfx1_rearrange(machine);
+ tumblepb_gfx1_rearrange(machine());
#if TUMBLEP_HACK
- tumblepb_patch_code(machine, 0x00013a);
+ tumblepb_patch_code(machine(), 0x00013a);
#endif
}
-static DRIVER_INIT( fncywld )
+DRIVER_INIT_MEMBER(tumbleb_state,fncywld)
{
- tumblepb_gfx1_rearrange(machine);
+ tumblepb_gfx1_rearrange(machine());
#if FNCYWLD_HACK
/* This is a hack to allow you to use the extra features
of the 2 first "Unused" Dip Switch (see notes above). */
- UINT16 *RAM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
RAM[0x0005fa/2] = 0x4e71;
RAM[0x00060a/2] = 0x4e71;
#endif
@@ -3157,21 +3156,19 @@ READ16_MEMBER(tumbleb_state::bcstory_1a0_read)
else return ioport("SYSTEM")->read();
}
-static DRIVER_INIT ( bcstory )
+DRIVER_INIT_MEMBER(tumbleb_state,bcstory)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- tumblepb_gfx1_rearrange(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x180008, 0x180009, read16_delegate(FUNC(tumbleb_state::bcstory_1a0_read),state)); // io should be here??
+ tumblepb_gfx1_rearrange(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x180008, 0x180009, read16_delegate(FUNC(tumbleb_state::bcstory_1a0_read),this)); // io should be here??
}
-static DRIVER_INIT( htchctch )
+DRIVER_INIT_MEMBER(tumbleb_state,htchctch)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
-// UINT16 *HCROM = (UINT16*)state->memregion("maincpu")->base();
- UINT16 *PROTDATA = (UINT16*)state->memregion("user1")->base();
- int i, len = state->memregion("user1")->bytes();
+// UINT16 *HCROM = (UINT16*)memregion("maincpu")->base();
+ UINT16 *PROTDATA = (UINT16*)memregion("user1")->base();
+ int i, len = memregion("user1")->bytes();
/* simulate RAM initialization done by the protection MCU */
/* verified on real hardware */
// static const UINT16 htchctch_mcu68k[] =
@@ -3181,14 +3178,14 @@ static DRIVER_INIT( htchctch )
// for (i = 0; i < sizeof(htchctch_mcu68k) / sizeof(htchctch_mcu68k[0]); i++)
-// state->m_mainram[0x000/2 + i] = htchctch_mcu68k[i];
+// m_mainram[0x000/2 + i] = htchctch_mcu68k[i];
for (i = 0; i < len / 2; i++)
- state->m_mainram[0x000/2 + i] = PROTDATA[i];
+ m_mainram[0x000/2 + i] = PROTDATA[i];
- tumblepb_gfx1_rearrange(machine);
+ tumblepb_gfx1_rearrange(machine());
/* trojan.. */
#if 0
@@ -3403,7 +3400,7 @@ static DRIVER_INIT( htchctch )
HCROM[0x1e228/2] = 0x4e75;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x140000, 0x1407ff); // kill palette writes as the interrupt code we don't have controls them
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x140000, 0x1407ff); // kill palette writes as the interrupt code we don't have controls them
{
@@ -3456,45 +3453,42 @@ static void suprtrio_decrypt_gfx(running_machine &machine)
auto_free(machine, buf);
}
-static DRIVER_INIT( suprtrio )
+DRIVER_INIT_MEMBER(tumbleb_state,suprtrio)
{
- suprtrio_decrypt_code(machine);
- suprtrio_decrypt_gfx(machine);
+ suprtrio_decrypt_code(machine());
+ suprtrio_decrypt_gfx(machine());
}
-static DRIVER_INIT( chokchok )
+DRIVER_INIT_MEMBER(tumbleb_state,chokchok)
{
DRIVER_INIT_CALL(htchctch);
/* different palette format, closer to tumblep -- is this controlled by a register? the palette was right with the hatch catch trojan */
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x140000, 0x140fff, write16_delegate(FUNC(tumbleb_state::paletteram_xxxxBBBBGGGGRRRR_word_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x140000, 0x140fff, write16_delegate(FUNC(tumbleb_state::paletteram_xxxxBBBBGGGGRRRR_word_w), this));
/* slightly different banking */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x100002, 0x100003, write16_delegate(FUNC(tumbleb_state::chokchok_tilebank_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x100002, 0x100003, write16_delegate(FUNC(tumbleb_state::chokchok_tilebank_w),this));
}
-static DRIVER_INIT( wlstar )
+DRIVER_INIT_MEMBER(tumbleb_state,wlstar)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- tumblepb_gfx1_rearrange(machine);
+ tumblepb_gfx1_rearrange(machine());
/* slightly different banking */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x100002, 0x100003, write16_delegate(FUNC(tumbleb_state::wlstar_tilebank_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x100002, 0x100003, write16_delegate(FUNC(tumbleb_state::wlstar_tilebank_w),this));
- state->m_protbase = 0x0000;
+ m_protbase = 0x0000;
}
-static DRIVER_INIT( wondl96 )
+DRIVER_INIT_MEMBER(tumbleb_state,wondl96)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- DRIVER_INIT_CALL( wlstar );
- state->m_protbase = 0x0200;
+ DRIVER_INIT_CALL(wlstar);
+ m_protbase = 0x0200;
}
-static DRIVER_INIT ( dquizgo )
+DRIVER_INIT_MEMBER(tumbleb_state,dquizgo)
{
- tumblepb_gfx1_rearrange(machine);
+ tumblepb_gfx1_rearrange(machine());
}
diff --git a/src/mame/drivers/tumblep.c b/src/mame/drivers/tumblep.c
index 0887e68ad0e..352c37b2d46 100644
--- a/src/mame/drivers/tumblep.c
+++ b/src/mame/drivers/tumblep.c
@@ -395,9 +395,9 @@ void tumblep_patch_code(UINT16 offset)
}
#endif
-static DRIVER_INIT( tumblep )
+DRIVER_INIT_MEMBER(tumblep_state,tumblep)
{
- deco56_decrypt_gfx(machine, "gfx1");
+ deco56_decrypt_gfx(machine(), "gfx1");
#if TUMBLEP_HACK
tumblep_patch_code(0x000132);
diff --git a/src/mame/drivers/tunhunt.c b/src/mame/drivers/tunhunt.c
index 84848b74d08..c6170f722db 100644
--- a/src/mame/drivers/tunhunt.c
+++ b/src/mame/drivers/tunhunt.c
@@ -412,5 +412,5 @@ ROM_END
*************************************/
/* rom parent machine inp init */
-GAME( 1979,tunhunt, 0, tunhunt, tunhunt, tunhunt_state, 0, ORIENTATION_SWAP_XY, "Atari", "Tunnel Hunt", 0 )
-GAME( 1981,tunhuntc, tunhunt, tunhunt, tunhunt, tunhunt_state, 0, ORIENTATION_SWAP_XY, "Atari (Centuri license)", "Tunnel Hunt (Centuri)", 0 )
+GAME( 1979,tunhunt, 0, tunhunt, tunhunt, driver_device, 0, ORIENTATION_SWAP_XY, "Atari", "Tunnel Hunt", 0 )
+GAME( 1981,tunhuntc, tunhunt, tunhunt, tunhunt, driver_device, 0, ORIENTATION_SWAP_XY, "Atari (Centuri license)", "Tunnel Hunt (Centuri)", 0 )
diff --git a/src/mame/drivers/turbo.c b/src/mame/drivers/turbo.c
index a13f845bd09..4593ebea1ee 100644
--- a/src/mame/drivers/turbo.c
+++ b/src/mame/drivers/turbo.c
@@ -1637,15 +1637,15 @@ static void turbo_rom_decode(running_machine &machine)
*
*************************************/
-static DRIVER_INIT( turbo_enc )
+DRIVER_INIT_MEMBER(turbo_state,turbo_enc)
{
- turbo_rom_decode(machine);
+ turbo_rom_decode(machine());
}
-static DRIVER_INIT( buckrog_enc )
+DRIVER_INIT_MEMBER(turbo_state,buckrog_enc)
{
- buckrog_decode(machine, "maincpu");
+ buckrog_decode(machine(), "maincpu");
}
@@ -1656,11 +1656,11 @@ static DRIVER_INIT( buckrog_enc )
*
*************************************/
-GAMEL( 1981, turbo, 0, turbo, turbo, turbo_state, 0, ROT270, "Sega", "Turbo", GAME_IMPERFECT_SOUND , layout_turbo )
+GAMEL( 1981, turbo, 0, turbo, turbo, driver_device, 0, ROT270, "Sega", "Turbo", GAME_IMPERFECT_SOUND , layout_turbo )
GAMEL( 1981, turboa, turbo, turbo, turbo, turbo_state, turbo_enc, ROT270, "Sega", "Turbo (encrypted set 1)", GAME_IMPERFECT_SOUND , layout_turbo )
GAMEL( 1981, turbob, turbo, turbo, turbo, turbo_state, turbo_enc, ROT270, "Sega", "Turbo (encrypted set 2)", GAME_IMPERFECT_SOUND , layout_turbo )
-GAMEL( 1982, subroc3d, 0, subroc3d, subroc3d, turbo_state, 0, ORIENTATION_FLIP_X, "Sega", "Subroc-3D", GAME_IMPERFECT_SOUND , layout_subroc3d )
+GAMEL( 1982, subroc3d, 0, subroc3d, subroc3d, driver_device, 0, ORIENTATION_FLIP_X, "Sega", "Subroc-3D", GAME_IMPERFECT_SOUND , layout_subroc3d )
GAMEL( 1982, buckrog, 0, buckrog, buckrog, turbo_state, buckrog_enc, ROT0, "Sega", "Buck Rogers: Planet of Zoom", GAME_IMPERFECT_SOUND , layout_buckrog )
GAMEL( 1982, zoom909, buckrog, buckrog, buckrog, turbo_state, buckrog_enc, ROT0, "Sega", "Zoom 909", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS, layout_buckrog ) // bad PROM
-GAMEL( 1982, buckrogn, buckrog, buckrog, buckrog, turbo_state, 0, ROT0, "Sega", "Buck Rogers: Planet of Zoom (not encrypted, set 1)", GAME_IMPERFECT_SOUND , layout_buckrog )
-GAMEL( 1982, buckrogn2,buckrog, buckrog, buckrog, turbo_state, 0, ROT0, "Sega", "Buck Rogers: Planet of Zoom (not encrypted, set 2)", GAME_IMPERFECT_SOUND , layout_buckrog )
+GAMEL( 1982, buckrogn, buckrog, buckrog, buckrog, driver_device, 0, ROT0, "Sega", "Buck Rogers: Planet of Zoom (not encrypted, set 1)", GAME_IMPERFECT_SOUND , layout_buckrog )
+GAMEL( 1982, buckrogn2,buckrog, buckrog, buckrog, driver_device, 0, ROT0, "Sega", "Buck Rogers: Planet of Zoom (not encrypted, set 2)", GAME_IMPERFECT_SOUND , layout_buckrog )
diff --git a/src/mame/drivers/turrett.c b/src/mame/drivers/turrett.c
index be227183477..234ab1449cb 100644
--- a/src/mame/drivers/turrett.c
+++ b/src/mame/drivers/turrett.c
@@ -153,4 +153,4 @@ ROM_START( turrett )
ROM_END
-GAME( 2001, turrett, 0, turrett, turrett, turrett_state, 0, ROT0, "Dell Electronics (Namco license)", "Turret Tower", GAME_IS_SKELETON )
+GAME( 2001, turrett, 0, turrett, turrett, driver_device, 0, ROT0, "Dell Electronics (Namco license)", "Turret Tower", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/tutankhm.c b/src/mame/drivers/tutankhm.c
index 95948f9f653..ef83c30e665 100644
--- a/src/mame/drivers/tutankhm.c
+++ b/src/mame/drivers/tutankhm.c
@@ -315,5 +315,5 @@ ROM_END
*
*************************************/
-GAME( 1982, tutankhm, 0, tutankhm, tutankhm, tutankhm_state, 0, ROT90, "Konami", "Tutankham", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS)
-GAME( 1982, tutankhms,tutankhm, tutankhm, tutankhm, tutankhm_state, 0, ROT90, "Konami (Stern Electronics license)", "Tutankham (Stern Electronics)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS)
+GAME( 1982, tutankhm, 0, tutankhm, tutankhm, driver_device, 0, ROT90, "Konami", "Tutankham", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS)
+GAME( 1982, tutankhms,tutankhm, tutankhm, tutankhm, driver_device, 0, ROT90, "Konami (Stern Electronics license)", "Tutankham (Stern Electronics)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS)
diff --git a/src/mame/drivers/twin16.c b/src/mame/drivers/twin16.c
index 7e542a139d9..cb626079b70 100644
--- a/src/mame/drivers/twin16.c
+++ b/src/mame/drivers/twin16.c
@@ -1319,26 +1319,23 @@ static void gfx_untangle( running_machine &machine )
auto_free( machine, temp );
}
-static DRIVER_INIT( twin16 )
+DRIVER_INIT_MEMBER(twin16_state,twin16)
{
- twin16_state *state = machine.driver_data<twin16_state>();
- gfx_untangle(machine);
- state->m_custom_video = 0;
+ gfx_untangle(machine());
+ m_custom_video = 0;
}
-static DRIVER_INIT( fround )
+DRIVER_INIT_MEMBER(twin16_state,fround)
{
- twin16_state *state = machine.driver_data<twin16_state>();
- gfx_untangle(machine);
- state->m_custom_video = 1;
+ gfx_untangle(machine());
+ m_custom_video = 1;
}
-static DRIVER_INIT( cuebrickj )
+DRIVER_INIT_MEMBER(twin16_state,cuebrickj)
{
- twin16_state *state = machine.driver_data<twin16_state>();
- gfx_untangle(machine);
+ gfx_untangle(machine());
- machine.device<nvram_device>("nvram")->set_base(state->m_cuebrickj_nvram, 0x400*0x20);
+ machine().device<nvram_device>("nvram")->set_base(m_cuebrickj_nvram, 0x400*0x20);
}
/* Game Drivers */
diff --git a/src/mame/drivers/twincobr.c b/src/mame/drivers/twincobr.c
index bc4f3240445..112224a082a 100644
--- a/src/mame/drivers/twincobr.c
+++ b/src/mame/drivers/twincobr.c
@@ -1079,9 +1079,9 @@ ROM_END
-static DRIVER_INIT( twincobr )
+DRIVER_INIT_MEMBER(twincobr_state,twincobr)
{
- twincobr_driver_savestate(machine);
+ twincobr_driver_savestate(machine());
}
diff --git a/src/mame/drivers/twinkle.c b/src/mame/drivers/twinkle.c
index 4f81718bac0..e294f395956 100644
--- a/src/mame/drivers/twinkle.c
+++ b/src/mame/drivers/twinkle.c
@@ -267,6 +267,7 @@ public:
DECLARE_WRITE16_MEMBER(shared_68k_w);
DECLARE_READ16_MEMBER(twinkle_ide_r);
DECLARE_WRITE16_MEMBER(twinkle_ide_w);
+ DECLARE_DRIVER_INIT(twinkle);
};
/* RTC */
@@ -861,12 +862,12 @@ static const struct AM53CF96interface scsi_intf =
&scsi_irq, /* command completion IRQ */
};
-static DRIVER_INIT( twinkle )
+DRIVER_INIT_MEMBER(twinkle_state,twinkle)
{
- psx_driver_init(machine);
- am53cf96_init(machine, &scsi_intf);
+ psx_driver_init(machine());
+ am53cf96_init(machine(), &scsi_intf);
- device_t *i2cmem = machine.device("security");
+ device_t *i2cmem = machine().device("security");
i2cmem_e0_write( i2cmem, 0 );
i2cmem_e1_write( i2cmem, 0 );
i2cmem_e2_write( i2cmem, 0 );
diff --git a/src/mame/drivers/twins.c b/src/mame/drivers/twins.c
index 4c2a30d1960..a15f99e3c43 100644
--- a/src/mame/drivers/twins.c
+++ b/src/mame/drivers/twins.c
@@ -334,5 +334,5 @@ ROM_START( twinsa )
ROM_LOAD16_BYTE( "hp.bin", 0x000001, 0x080000, CRC(aaf74b83) SHA1(09bd76b9fc5cb7ba6ffe1a2581ffd5633fe440b3) )
ROM_END
-GAME( 1994, twins, 0, twins, twins, twins_state, 0, ROT0, "Electronic Devices", "Twins (set 1)", 0 )
-GAME( 1994, twinsa, twins, twinsa, twins, twins_state, 0, ROT0, "Electronic Devices", "Twins (set 2)", 0 )
+GAME( 1994, twins, 0, twins, twins, driver_device, 0, ROT0, "Electronic Devices", "Twins (set 1)", 0 )
+GAME( 1994, twinsa, twins, twinsa, twins, driver_device, 0, ROT0, "Electronic Devices", "Twins (set 2)", 0 )
diff --git a/src/mame/drivers/tx1.c b/src/mame/drivers/tx1.c
index 1f2bc02c273..27ba333486f 100644
--- a/src/mame/drivers/tx1.c
+++ b/src/mame/drivers/tx1.c
@@ -1302,8 +1302,8 @@ ROM_END
*
*************************************/
-GAMEL( 1983, tx1, 0, tx1, tx1, tx1_state, 0, ROT0, "Tatsumi (Atari/Namco/Taito license)", "TX-1 (World)", GAME_IMPERFECT_SOUND, layout_tx1 )
-GAMEL( 1983, tx1jb, tx1, tx1, tx1j, tx1_state, 0, ROT0, "Tatsumi", "TX-1 (Japan rev. B)", GAME_IMPERFECT_SOUND, layout_tx1 )
-GAMEL( 1983, tx1jc, tx1, tx1, tx1j, tx1_state, 0, ROT0, "Tatsumi", "TX-1 (Japan rev. C)", GAME_IMPERFECT_SOUND, layout_tx1 )
-GAMEL( 1985, buggyboy, 0, buggyboy, buggyboy, tx1_state, 0, ROT0, "Tatsumi", "Buggy Boy/Speed Buggy (cockpit)", 0, layout_buggyboy )
-GAMEL( 1986, buggyboyjr, buggyboy, buggybjr, buggybjr, tx1_state, 0, ROT0, "Tatsumi", "Buggy Boy Junior/Speed Buggy (upright)", 0, layout_buggybjr )
+GAMEL( 1983, tx1, 0, tx1, tx1, driver_device, 0, ROT0, "Tatsumi (Atari/Namco/Taito license)", "TX-1 (World)", GAME_IMPERFECT_SOUND, layout_tx1 )
+GAMEL( 1983, tx1jb, tx1, tx1, tx1j, driver_device, 0, ROT0, "Tatsumi", "TX-1 (Japan rev. B)", GAME_IMPERFECT_SOUND, layout_tx1 )
+GAMEL( 1983, tx1jc, tx1, tx1, tx1j, driver_device, 0, ROT0, "Tatsumi", "TX-1 (Japan rev. C)", GAME_IMPERFECT_SOUND, layout_tx1 )
+GAMEL( 1985, buggyboy, 0, buggyboy, buggyboy, driver_device, 0, ROT0, "Tatsumi", "Buggy Boy/Speed Buggy (cockpit)", 0, layout_buggyboy )
+GAMEL( 1986, buggyboyjr, buggyboy, buggybjr, buggybjr, driver_device, 0, ROT0, "Tatsumi", "Buggy Boy Junior/Speed Buggy (upright)", 0, layout_buggybjr )
diff --git a/src/mame/drivers/uapce.c b/src/mame/drivers/uapce.c
index 9b5a371b32e..c579a505d3e 100644
--- a/src/mame/drivers/uapce.c
+++ b/src/mame/drivers/uapce.c
@@ -109,6 +109,7 @@ public:
DECLARE_WRITE8_MEMBER(jamma_if_control_latch_w);
DECLARE_READ8_MEMBER(jamma_if_control_latch_r);
DECLARE_READ8_MEMBER(jamma_if_read_dsw);
+ DECLARE_DRIVER_INIT(uapce);
};
#define UAPCE_SOUND_EN NODE_10
@@ -374,9 +375,9 @@ ROM_START(paclandp)
ROM_LOAD( "u1.bin", 0x0000, 0x800, CRC(f5e538a9) SHA1(19ac9525c9ad6bea1789cc9e63cdb7fe949867d9) )
ROM_END
-static DRIVER_INIT(uapce)
+DRIVER_INIT_MEMBER(uapce_state,uapce)
{
- DRIVER_INIT_CALL(pce);
+ init_pce();
}
GAME( 1989, blazlaz, 0, uapce, uapce, uapce_state, uapce, ROT0, "Hudson Soft", "Blazing Lazers", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/ultraman.c b/src/mame/drivers/ultraman.c
index 039f1497b74..a6600bdd607 100644
--- a/src/mame/drivers/ultraman.c
+++ b/src/mame/drivers/ultraman.c
@@ -302,4 +302,4 @@ ROM_START( ultraman )
ROM_END
-GAME( 1991, ultraman, 0, ultraman, ultraman, ultraman_state, 0, ROT0, "Banpresto / Bandai", "Ultraman (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, ultraman, 0, ultraman, ultraman, driver_device, 0, ROT0, "Banpresto / Bandai", "Ultraman (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ultratnk.c b/src/mame/drivers/ultratnk.c
index 666a1077ed8..740a14d448e 100644
--- a/src/mame/drivers/ultratnk.c
+++ b/src/mame/drivers/ultratnk.c
@@ -346,4 +346,4 @@ ROM_START( ultratnk )
ROM_END
-GAME( 1978, ultratnk, 0, ultratnk, ultratnk, ultratnk_state, 0, 0, "Atari (Kee Games)", "Ultra Tank", 0 )
+GAME( 1978, ultratnk, 0, ultratnk, ultratnk, driver_device, 0, 0, "Atari (Kee Games)", "Ultra Tank", 0 )
diff --git a/src/mame/drivers/ultrsprt.c b/src/mame/drivers/ultrsprt.c
index 9d2482eb41a..1ddfd30936e 100644
--- a/src/mame/drivers/ultrsprt.c
+++ b/src/mame/drivers/ultrsprt.c
@@ -279,4 +279,4 @@ ROM_START( fiveside )
ROM_LOAD( "fiveside.nv", 0x0000, 0x0080, CRC(aad11072) SHA1(8f777ee47801faa7ce8420c3052034720225aae7) )
ROM_END
-GAME(1995, fiveside, 0, ultrsprt, ultrsprt, ultrsprt_state, 0, ROT90, "Konami", "Five a Side Soccer (ver UAA)", GAME_IMPERFECT_SOUND)
+GAME(1995, fiveside, 0, ultrsprt, ultrsprt, driver_device, 0, ROT90, "Konami", "Five a Side Soccer (ver UAA)", GAME_IMPERFECT_SOUND)
diff --git a/src/mame/drivers/umipoker.c b/src/mame/drivers/umipoker.c
index 03596506c8a..9b03ecff973 100644
--- a/src/mame/drivers/umipoker.c
+++ b/src/mame/drivers/umipoker.c
@@ -58,6 +58,8 @@ public:
DECLARE_WRITE16_MEMBER(lamps_w);
DECLARE_WRITE16_MEMBER(umi_counters_w);
DECLARE_WRITE16_MEMBER(saiyu_counters_w);
+ DECLARE_DRIVER_INIT(umipoker);
+ DECLARE_DRIVER_INIT(saiyukip);
};
static TILE_GET_INFO( get_tile_info_0 )
@@ -746,17 +748,15 @@ ROM_END
* Driver Init *
******************************************/
-static DRIVER_INIT( umipoker )
+DRIVER_INIT_MEMBER(umipoker_state,umipoker)
{
- umipoker_state *state = machine.driver_data<umipoker_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe00010, 0xe00011, write16_delegate(FUNC(umipoker_state::umi_counters_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe00010, 0xe00011, write16_delegate(FUNC(umipoker_state::umi_counters_w), this));
}
-static DRIVER_INIT( saiyukip )
+DRIVER_INIT_MEMBER(umipoker_state,saiyukip)
{
- umipoker_state *state = machine.driver_data<umipoker_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe00010, 0xe00011, write16_delegate(FUNC(umipoker_state::saiyu_counters_w), state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe0000c, 0xe0000d, write16_delegate(FUNC(umipoker_state::lamps_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe00010, 0xe00011, write16_delegate(FUNC(umipoker_state::saiyu_counters_w), this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe0000c, 0xe0000d, write16_delegate(FUNC(umipoker_state::lamps_w), this));
}
diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c
index 2492a4593bc..8742c0adec5 100644
--- a/src/mame/drivers/undrfire.c
+++ b/src/mame/drivers/undrfire.c
@@ -967,11 +967,11 @@ ROM_START( cbombers )
ROM_END
-static DRIVER_INIT( undrfire )
+DRIVER_INIT_MEMBER(undrfire_state,undrfire)
{
UINT32 offset,i;
- UINT8 *gfx = machine.root_device().memregion("gfx3")->base();
- int size=machine.root_device().memregion("gfx3")->bytes();
+ UINT8 *gfx = machine().root_device().memregion("gfx3")->base();
+ int size=machine().root_device().memregion("gfx3")->bytes();
int data;
/* make piv tile GFX format suitable for gfxdecode */
@@ -996,11 +996,11 @@ static DRIVER_INIT( undrfire )
}
-static DRIVER_INIT( cbombers )
+DRIVER_INIT_MEMBER(undrfire_state,cbombers)
{
UINT32 offset,i;
- UINT8 *gfx = machine.root_device().memregion("gfx3")->base();
- int size=machine.root_device().memregion("gfx3")->bytes();
+ UINT8 *gfx = machine().root_device().memregion("gfx3")->base();
+ int size=machine().root_device().memregion("gfx3")->bytes();
int data;
diff --git a/src/mame/drivers/unico.c b/src/mame/drivers/unico.c
index 5ac391e1252..60fb3ea6576 100644
--- a/src/mame/drivers/unico.c
+++ b/src/mame/drivers/unico.c
@@ -1041,7 +1041,7 @@ ROM_END
***************************************************************************/
-GAME( 1997, burglarx, 0, burglarx, burglarx, unico_state, 0, ROT0, "Unico", "Burglar X" , 0 )
-GAME( 1998, zeropnt, 0, zeropnt, zeropnt, unico_state, 0, ROT0, "Unico", "Zero Point (set 1)", 0 )
-GAME( 1998, zeropnta, zeropnt, zeropnt, zeropnt, unico_state, 0, ROT0, "Unico", "Zero Point (set 2)", 0 )
-GAME( 1999, zeropnt2, 0, zeropnt2, zeropnt2, unico_state, 0, ROT0, "Unico", "Zero Point 2", 0 )
+GAME( 1997, burglarx, 0, burglarx, burglarx, driver_device, 0, ROT0, "Unico", "Burglar X" , 0 )
+GAME( 1998, zeropnt, 0, zeropnt, zeropnt, driver_device, 0, ROT0, "Unico", "Zero Point (set 1)", 0 )
+GAME( 1998, zeropnta, zeropnt, zeropnt, zeropnt, driver_device, 0, ROT0, "Unico", "Zero Point (set 2)", 0 )
+GAME( 1999, zeropnt2, 0, zeropnt2, zeropnt2, driver_device, 0, ROT0, "Unico", "Zero Point 2", 0 )
diff --git a/src/mame/drivers/unkfr.c b/src/mame/drivers/unkfr.c
index d084950dd66..3bceb64a404 100644
--- a/src/mame/drivers/unkfr.c
+++ b/src/mame/drivers/unkfr.c
@@ -738,5 +738,5 @@ ROM_START( unkfra )
ROM_END
-GAME(19??, unkfr, 0, unkfr, unkfr, unkfr_state, 0, ROT0, "<unknown>", "Unknown Fruit Machine ROMs (set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, unkfra, 0, unkfr, unkfr, unkfr_state, 0, ROT0, "<unknown>", "Unknown Fruit Machine ROMs (set 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, unkfr, 0, unkfr, unkfr, driver_device, 0, ROT0, "<unknown>", "Unknown Fruit Machine ROMs (set 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, unkfra, 0, unkfr, unkfr, driver_device, 0, ROT0, "<unknown>", "Unknown Fruit Machine ROMs (set 2)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/unkhorse.c b/src/mame/drivers/unkhorse.c
index 1dd29d1ccd1..458ec863b91 100644
--- a/src/mame/drivers/unkhorse.c
+++ b/src/mame/drivers/unkhorse.c
@@ -243,4 +243,4 @@ ROM_START( unkhorse )
ROM_END
-GAME( 1981?, unkhorse, 0, horse, horse, horse_state, 0, ROT270, "<unknown>", "unknown Japanese horse gambling game", 0 ) // copyright not shown, datecodes on pcb suggests early-1981
+GAME( 1981?, unkhorse, 0, horse, horse, driver_device, 0, ROT270, "<unknown>", "unknown Japanese horse gambling game", 0 ) // copyright not shown, datecodes on pcb suggests early-1981
diff --git a/src/mame/drivers/upscope.c b/src/mame/drivers/upscope.c
index df67bfa2039..80be37e882e 100644
--- a/src/mame/drivers/upscope.c
+++ b/src/mame/drivers/upscope.c
@@ -47,6 +47,7 @@ public:
DECLARE_READ8_MEMBER(upscope_cia_0_portb_r);
DECLARE_READ8_MEMBER(upscope_cia_1_porta_r);
DECLARE_WRITE8_MEMBER(upscope_cia_1_porta_w);
+ DECLARE_DRIVER_INIT(upscope);
};
@@ -387,9 +388,8 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( upscope )
+DRIVER_INIT_MEMBER(upscope_state,upscope)
{
- upscope_state *state = machine.driver_data<upscope_state>();
static const amiga_machine_interface upscope_intf =
{
ANGUS_CHIP_RAM_MASK,
@@ -399,14 +399,14 @@ static DRIVER_INIT( upscope )
NULL,
0
};
- amiga_machine_config(machine, &upscope_intf);
+ amiga_machine_config(machine(), &upscope_intf);
/* allocate NVRAM */
- machine.device<nvram_device>("nvram")->set_base(state->m_nvram, sizeof(state->m_nvram));
+ machine().device<nvram_device>("nvram")->set_base(m_nvram, sizeof(m_nvram));
/* set up memory */
- state->membank("bank1")->configure_entry(0, state->m_chip_ram);
- state->membank("bank1")->configure_entry(1, machine.root_device().memregion("user1")->base());
+ membank("bank1")->configure_entry(0, m_chip_ram);
+ membank("bank1")->configure_entry(1, machine().root_device().memregion("user1")->base());
}
diff --git a/src/mame/drivers/usgames.c b/src/mame/drivers/usgames.c
index 63fca80c543..d460ea35ecb 100644
--- a/src/mame/drivers/usgames.c
+++ b/src/mame/drivers/usgames.c
@@ -385,10 +385,10 @@ ROM_START( usg252 )
ROM_END
-GAME( 1987, usg32, 0, usg32, usg32, usgames_state, 0, ROT0, "U.S. Games", "Super Duper Casino (California V3.2)", 0 )
-GAME( 1988, usg83, 0, usg32, usg83, usgames_state, 0, ROT0, "U.S. Games", "Super Ten V8.3", 0 )
-GAME( 1988, usg83x, usg83, usg32, usg83, usgames_state, 0, ROT0, "U.S. Games", "Super Ten V8.3X", 0 )
-GAME( 1988, usg82, usg83, usg32, usg83, usgames_state, 0, ROT0, "U.S. Games", "Super Ten V8.2" , 0) // "Feb.08,1988"
-GAME( 1989, usg182, 0, usg185, usg83, usgames_state, 0, ROT0, "U.S. Games", "Games V18.2", 0 )
-GAME( 1991, usg185, 0, usg185, usg83, usgames_state, 0, ROT0, "U.S. Games", "Games V18.7C", 0 )
-GAME( 1992, usg252, 0, usg185, usg83, usgames_state, 0, ROT0, "U.S. Games", "Games V25.4X", 0 )
+GAME( 1987, usg32, 0, usg32, usg32, driver_device, 0, ROT0, "U.S. Games", "Super Duper Casino (California V3.2)", 0 )
+GAME( 1988, usg83, 0, usg32, usg83, driver_device, 0, ROT0, "U.S. Games", "Super Ten V8.3", 0 )
+GAME( 1988, usg83x, usg83, usg32, usg83, driver_device, 0, ROT0, "U.S. Games", "Super Ten V8.3X", 0 )
+GAME( 1988, usg82, usg83, usg32, usg83, driver_device, 0, ROT0, "U.S. Games", "Super Ten V8.2" , 0) // "Feb.08,1988"
+GAME( 1989, usg182, 0, usg185, usg83, driver_device, 0, ROT0, "U.S. Games", "Games V18.2", 0 )
+GAME( 1991, usg185, 0, usg185, usg83, driver_device, 0, ROT0, "U.S. Games", "Games V18.7C", 0 )
+GAME( 1992, usg252, 0, usg185, usg83, driver_device, 0, ROT0, "U.S. Games", "Games V25.4X", 0 )
diff --git a/src/mame/drivers/vamphalf.c b/src/mame/drivers/vamphalf.c
index 424d5705e44..35fee9093e6 100644
--- a/src/mame/drivers/vamphalf.c
+++ b/src/mame/drivers/vamphalf.c
@@ -146,6 +146,24 @@ public:
DECLARE_READ8_MEMBER(qs1000_p1_r);
DECLARE_WRITE8_MEMBER(qs1000_p3_w);
+ DECLARE_DRIVER_INIT(vamphafk);
+ DECLARE_DRIVER_INIT(coolmini);
+ DECLARE_DRIVER_INIT(mrkicker);
+ DECLARE_DRIVER_INIT(mrdig);
+ DECLARE_DRIVER_INIT(jmpbreak);
+ DECLARE_DRIVER_INIT(dtfamily);
+ DECLARE_DRIVER_INIT(dquizgo2);
+ DECLARE_DRIVER_INIT(puzlbang);
+ DECLARE_DRIVER_INIT(luplup29);
+ DECLARE_DRIVER_INIT(toyland);
+ DECLARE_DRIVER_INIT(aoh);
+ DECLARE_DRIVER_INIT(finalgdr);
+ DECLARE_DRIVER_INIT(suplup);
+ DECLARE_DRIVER_INIT(misncrft);
+ DECLARE_DRIVER_INIT(boonggab);
+ DECLARE_DRIVER_INIT(vamphalf);
+ DECLARE_DRIVER_INIT(wyvernwg);
+ DECLARE_DRIVER_INIT(luplup);
};
READ16_MEMBER(vamphalf_state::eeprom_r)
@@ -2436,197 +2454,179 @@ READ16_MEMBER(vamphalf_state::boonggab_speedup_r)
return m_wram[(0xf1b7c / 2)+offset];
}
-static DRIVER_INIT( vamphalf )
+DRIVER_INIT_MEMBER(vamphalf_state,vamphalf)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0004a840, 0x0004a843, read16_delegate(FUNC(vamphalf_state::vamphalf_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0004a840, 0x0004a843, read16_delegate(FUNC(vamphalf_state::vamphalf_speedup_r), this));
- state->m_palshift = 0;
- state->m_flip_bit = 0x80;
+ m_palshift = 0;
+ m_flip_bit = 0x80;
}
-static DRIVER_INIT( vamphafk )
+DRIVER_INIT_MEMBER(vamphalf_state,vamphafk)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0004a6d0, 0x0004a6d3, read16_delegate(FUNC(vamphalf_state::vamphafk_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0004a6d0, 0x0004a6d3, read16_delegate(FUNC(vamphalf_state::vamphafk_speedup_r), this));
- state->m_palshift = 0;
- state->m_flip_bit = 0x80;
+ m_palshift = 0;
+ m_flip_bit = 0x80;
}
-static DRIVER_INIT( misncrft )
+DRIVER_INIT_MEMBER(vamphalf_state,misncrft)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00072eb4, 0x00072eb7, read16_delegate(FUNC(vamphalf_state::misncrft_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00072eb4, 0x00072eb7, read16_delegate(FUNC(vamphalf_state::misncrft_speedup_r), this));
- state->m_palshift = 0;
- state->m_flip_bit = 1;
+ m_palshift = 0;
+ m_flip_bit = 1;
// Configure the QS1000 ROM banking. Care must be taken not to overlap the 256b internal RAM
- machine.device("qs1000:cpu")->memory().space(AS_IO)->install_read_bank(0x0100, 0xffff, "data");
- state->membank("qs1000:data")->configure_entries(0, 16, state->memregion("qs1000:cpu")->base()+0x100, 0x8000-0x100);
+ machine().device("qs1000:cpu")->memory().space(AS_IO)->install_read_bank(0x0100, 0xffff, "data");
+ membank("qs1000:data")->configure_entries(0, 16, memregion("qs1000:cpu")->base()+0x100, 0x8000-0x100);
}
-static DRIVER_INIT( coolmini )
+DRIVER_INIT_MEMBER(vamphalf_state,coolmini)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x000d2e80, 0x000d2e83, read16_delegate(FUNC(vamphalf_state::coolmini_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x000d2e80, 0x000d2e83, read16_delegate(FUNC(vamphalf_state::coolmini_speedup_r), this));
- state->m_palshift = 0;
- state->m_flip_bit = 1;
+ m_palshift = 0;
+ m_flip_bit = 1;
}
-static DRIVER_INIT( suplup )
+DRIVER_INIT_MEMBER(vamphalf_state,suplup)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0011605c, 0x0011605f, read16_delegate(FUNC(vamphalf_state::suplup_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0011605c, 0x0011605f, read16_delegate(FUNC(vamphalf_state::suplup_speedup_r), this));
- state->m_palshift = 8;
+ m_palshift = 8;
/* no flipscreen */
}
-static DRIVER_INIT( luplup )
+DRIVER_INIT_MEMBER(vamphalf_state,luplup)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00115e84, 0x00115e87, read16_delegate(FUNC(vamphalf_state::luplup_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00115e84, 0x00115e87, read16_delegate(FUNC(vamphalf_state::luplup_speedup_r), this));
- state->m_palshift = 8;
+ m_palshift = 8;
/* no flipscreen */
}
-static DRIVER_INIT( luplup29 )
+DRIVER_INIT_MEMBER(vamphalf_state,luplup29)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00113f08, 0x00113f0b, read16_delegate(FUNC(vamphalf_state::luplup29_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00113f08, 0x00113f0b, read16_delegate(FUNC(vamphalf_state::luplup29_speedup_r), this));
- state->m_palshift = 8;
+ m_palshift = 8;
/* no flipscreen */
}
-static DRIVER_INIT( puzlbang )
+DRIVER_INIT_MEMBER(vamphalf_state,puzlbang)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00113ecc, 0x00113ecf, read16_delegate(FUNC(vamphalf_state::puzlbang_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00113ecc, 0x00113ecf, read16_delegate(FUNC(vamphalf_state::puzlbang_speedup_r), this));
- state->m_palshift = 8;
+ m_palshift = 8;
/* no flipscreen */
}
-static DRIVER_INIT( wyvernwg )
+DRIVER_INIT_MEMBER(vamphalf_state,wyvernwg)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00b56fc, 0x00b56ff, read32_delegate(FUNC(vamphalf_state::wyvernwg_speedup_r), state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00b74f8, 0x00b74fb, read32_delegate(FUNC(vamphalf_state::wyvernwga_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00b56fc, 0x00b56ff, read32_delegate(FUNC(vamphalf_state::wyvernwg_speedup_r), this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00b74f8, 0x00b74fb, read32_delegate(FUNC(vamphalf_state::wyvernwga_speedup_r), this));
- state->m_palshift = 0;
- state->m_flip_bit = 1;
+ m_palshift = 0;
+ m_flip_bit = 1;
- state->m_semicom_prot_idx = 8;
- state->m_semicom_prot_data[0] = 2;
- state->m_semicom_prot_data[1] = 1;
+ m_semicom_prot_idx = 8;
+ m_semicom_prot_data[0] = 2;
+ m_semicom_prot_data[1] = 1;
// Configure the QS1000 ROM banking. Care must be taken not to overlap the 256b internal RAM
- machine.device("qs1000:cpu")->memory().space(AS_IO)->install_read_bank(0x0100, 0xffff, "data");
- state->membank("qs1000:data")->configure_entries(0, 16, state->memregion("qs1000:cpu")->base()+0x100, 0x8000-0x100);
+ machine().device("qs1000:cpu")->memory().space(AS_IO)->install_read_bank(0x0100, 0xffff, "data");
+ membank("qs1000:data")->configure_entries(0, 16, memregion("qs1000:cpu")->base()+0x100, 0x8000-0x100);
}
-static DRIVER_INIT( finalgdr )
+DRIVER_INIT_MEMBER(vamphalf_state,finalgdr)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- state->m_finalgdr_backupram_bank = 1;
- state->m_finalgdr_backupram = auto_alloc_array(machine, UINT8, 0x80*0x100);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x005e874, 0x005e877, read32_delegate(FUNC(vamphalf_state::finalgdr_speedup_r), state));
- machine.device<nvram_device>("nvram")->set_base(state->m_finalgdr_backupram, 0x80*0x100);
+ m_finalgdr_backupram_bank = 1;
+ m_finalgdr_backupram = auto_alloc_array(machine(), UINT8, 0x80*0x100);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x005e874, 0x005e877, read32_delegate(FUNC(vamphalf_state::finalgdr_speedup_r), this));
+ machine().device<nvram_device>("nvram")->set_base(m_finalgdr_backupram, 0x80*0x100);
- state->m_palshift = 0;
- state->m_flip_bit = 1; //?
+ m_palshift = 0;
+ m_flip_bit = 1; //?
- state->m_semicom_prot_idx = 8;
- state->m_semicom_prot_data[0] = 2;
- state->m_semicom_prot_data[1] = 3;
+ m_semicom_prot_idx = 8;
+ m_semicom_prot_data[0] = 2;
+ m_semicom_prot_data[1] = 3;
}
-static DRIVER_INIT( mrkicker )
+DRIVER_INIT_MEMBER(vamphalf_state,mrkicker)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
// backup ram isn't used
- state->m_finalgdr_backupram_bank = 1;
- state->m_finalgdr_backupram = auto_alloc_array(machine, UINT8, 0x80*0x100);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00701a4, 0x00701a7, read32_delegate(FUNC(vamphalf_state::mrkicker_speedup_r), state));
- machine.device<nvram_device>("nvram")->set_base(state->m_finalgdr_backupram, 0x80*0x100);
+ m_finalgdr_backupram_bank = 1;
+ m_finalgdr_backupram = auto_alloc_array(machine(), UINT8, 0x80*0x100);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00701a4, 0x00701a7, read32_delegate(FUNC(vamphalf_state::mrkicker_speedup_r), this));
+ machine().device<nvram_device>("nvram")->set_base(m_finalgdr_backupram, 0x80*0x100);
- state->m_palshift = 0;
- state->m_flip_bit = 1; //?
+ m_palshift = 0;
+ m_flip_bit = 1; //?
- state->m_semicom_prot_idx = 8;
- state->m_semicom_prot_data[0] = 2;
- state->m_semicom_prot_data[1] = 3;
+ m_semicom_prot_idx = 8;
+ m_semicom_prot_data[0] = 2;
+ m_semicom_prot_data[1] = 3;
}
-static DRIVER_INIT( dquizgo2 )
+DRIVER_INIT_MEMBER(vamphalf_state,dquizgo2)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00cde70, 0x00cde73, read16_delegate(FUNC(vamphalf_state::dquizgo2_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00cde70, 0x00cde73, read16_delegate(FUNC(vamphalf_state::dquizgo2_speedup_r), this));
- state->m_palshift = 0;
- state->m_flip_bit = 1;
+ m_palshift = 0;
+ m_flip_bit = 1;
}
-static DRIVER_INIT( dtfamily )
+DRIVER_INIT_MEMBER(vamphalf_state,dtfamily)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xcc2a8, 0xcc2a9, read16_delegate(FUNC(vamphalf_state::dtfamily_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xcc2a8, 0xcc2a9, read16_delegate(FUNC(vamphalf_state::dtfamily_speedup_r), this));
- state->m_palshift = 0;
- state->m_flip_bit = 1;
+ m_palshift = 0;
+ m_flip_bit = 1;
}
-static DRIVER_INIT( toyland )
+DRIVER_INIT_MEMBER(vamphalf_state,toyland)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x780d8, 0x780d9, read16_delegate(FUNC(vamphalf_state::toyland_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x780d8, 0x780d9, read16_delegate(FUNC(vamphalf_state::toyland_speedup_r), this));
- state->m_palshift = 0;
- state->m_flip_bit = 1;
+ m_palshift = 0;
+ m_flip_bit = 1;
}
-static DRIVER_INIT( aoh )
+DRIVER_INIT_MEMBER(vamphalf_state,aoh)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x028a09c, 0x028a09f, read32_delegate(FUNC(vamphalf_state::aoh_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x028a09c, 0x028a09f, read32_delegate(FUNC(vamphalf_state::aoh_speedup_r), this));
- state->m_palshift = 0;
+ m_palshift = 0;
/* no flipscreen */
}
-static DRIVER_INIT( jmpbreak )
+DRIVER_INIT_MEMBER(vamphalf_state,jmpbreak)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00906fc, 0x00906ff, read16_delegate(FUNC(vamphalf_state::jmpbreak_speedup_r), state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe0000000, 0xe0000003, write16_delegate(FUNC(vamphalf_state::jmpbreak_flipscreen_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00906fc, 0x00906ff, read16_delegate(FUNC(vamphalf_state::jmpbreak_speedup_r), this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe0000000, 0xe0000003, write16_delegate(FUNC(vamphalf_state::jmpbreak_flipscreen_w), this));
- state->m_palshift = 0;
+ m_palshift = 0;
}
-static DRIVER_INIT( mrdig )
+DRIVER_INIT_MEMBER(vamphalf_state,mrdig)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00a99c, 0x00a99f, read16_delegate(FUNC(vamphalf_state::mrdig_speedup_r), state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe0000000, 0xe0000003, write16_delegate(FUNC(vamphalf_state::jmpbreak_flipscreen_w), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00a99c, 0x00a99f, read16_delegate(FUNC(vamphalf_state::mrdig_speedup_r), this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe0000000, 0xe0000003, write16_delegate(FUNC(vamphalf_state::jmpbreak_flipscreen_w), this));
- state->m_palshift = 0;
+ m_palshift = 0;
}
-static DRIVER_INIT( boonggab )
+DRIVER_INIT_MEMBER(vamphalf_state,boonggab)
{
- vamphalf_state *state = machine.driver_data<vamphalf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x000f1b7c, 0x000f1b7f, read16_delegate(FUNC(vamphalf_state::boonggab_speedup_r), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x000f1b7c, 0x000f1b7f, read16_delegate(FUNC(vamphalf_state::boonggab_speedup_r), this));
- state->m_palshift = 0;
- state->m_has_extra_gfx = 1;
- state->m_flip_bit = 1;
+ m_palshift = 0;
+ m_has_extra_gfx = 1;
+ m_flip_bit = 1;
}
GAME( 1999, coolmini, 0, coolmini, common, vamphalf_state, coolmini, ROT0, "SemiCom", "Cool Minigame Collection", 0 )
diff --git a/src/mame/drivers/vaportra.c b/src/mame/drivers/vaportra.c
index e8c8aaff185..35a17f0b72d 100644
--- a/src/mame/drivers/vaportra.c
+++ b/src/mame/drivers/vaportra.c
@@ -853,9 +853,9 @@ C3D54*
*/
/******************************************************************************/
-static DRIVER_INIT( vaportra )
+DRIVER_INIT_MEMBER(vaportra_state,vaportra)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
int i;
for (i = 0x00000; i < 0x80000; i++)
diff --git a/src/mame/drivers/vastar.c b/src/mame/drivers/vastar.c
index 4ba2ec7d65c..b71a2e436b9 100644
--- a/src/mame/drivers/vastar.c
+++ b/src/mame/drivers/vastar.c
@@ -416,5 +416,5 @@ ROM_END
-GAME( 1983, vastar, 0, vastar, vastar, vastar_state, 0, ROT90, "Sesame Japan", "Vastar (set 1)", 0 )
-GAME( 1983, vastar2, vastar, vastar, vastar, vastar_state, 0, ROT90, "Sesame Japan", "Vastar (set 2)", 0 )
+GAME( 1983, vastar, 0, vastar, vastar, driver_device, 0, ROT90, "Sesame Japan", "Vastar (set 1)", 0 )
+GAME( 1983, vastar2, vastar, vastar, vastar, driver_device, 0, ROT90, "Sesame Japan", "Vastar (set 2)", 0 )
diff --git a/src/mame/drivers/vball.c b/src/mame/drivers/vball.c
index f6898696a44..3eb67297725 100644
--- a/src/mame/drivers/vball.c
+++ b/src/mame/drivers/vball.c
@@ -569,7 +569,7 @@ ROM_START( vball2pjb ) /* bootleg of the Japan set with unmoddified program rom
ROM_END
-GAME( 1988, vball, 0, vball, vball, vball_state, 0, ROT0, "Technos Japan", "U.S. Championship V'ball (US)", 0 )
-GAME( 1988, vball2pj, vball, vball, vball2pj, vball_state, 0, ROT0, "Technos Japan", "U.S. Championship V'ball (Japan)", 0 )
-GAME( 1988, vballb, vball, vball, vball, vball_state, 0, ROT0, "bootleg", "U.S. Championship V'ball (bootleg of US set)", 0 )
-GAME( 1988, vball2pjb,vball, vball, vball, vball_state, 0, ROT0, "bootleg", "U.S. Championship V'ball (bootleg of Japan set)", 0 )
+GAME( 1988, vball, 0, vball, vball, driver_device, 0, ROT0, "Technos Japan", "U.S. Championship V'ball (US)", 0 )
+GAME( 1988, vball2pj, vball, vball, vball2pj, driver_device, 0, ROT0, "Technos Japan", "U.S. Championship V'ball (Japan)", 0 )
+GAME( 1988, vballb, vball, vball, vball, driver_device, 0, ROT0, "bootleg", "U.S. Championship V'ball (bootleg of US set)", 0 )
+GAME( 1988, vball2pjb,vball, vball, vball, driver_device, 0, ROT0, "bootleg", "U.S. Championship V'ball (bootleg of Japan set)", 0 )
diff --git a/src/mame/drivers/vcombat.c b/src/mame/drivers/vcombat.c
index 2c5fbc8b06f..a4de79fb8a6 100644
--- a/src/mame/drivers/vcombat.c
+++ b/src/mame/drivers/vcombat.c
@@ -120,6 +120,8 @@ public:
DECLARE_DIRECT_UPDATE_MEMBER(vcombat_vid_1_direct_handler);
DECLARE_WRITE16_MEMBER(vcombat_dac_w);
DECLARE_WRITE_LINE_MEMBER(sound_update);
+ DECLARE_DRIVER_INIT(shadfgtr);
+ DECLARE_DRIVER_INIT(vcombat);
};
static UINT32 update_screen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int index)
@@ -439,29 +441,28 @@ DIRECT_UPDATE_MEMBER(vcombat_state::vcombat_vid_1_direct_handler)
}
-static DRIVER_INIT( vcombat )
+DRIVER_INIT_MEMBER(vcombat_state,vcombat)
{
- vcombat_state *state = machine.driver_data<vcombat_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
/* The two i860s execute out of RAM */
- address_space *space = machine.device<i860_device>("vid_0")->space(AS_PROGRAM);
- space->set_direct_update_handler(direct_update_delegate(FUNC(vcombat_state::vcombat_vid_0_direct_handler), state));
+ address_space *space = machine().device<i860_device>("vid_0")->space(AS_PROGRAM);
+ space->set_direct_update_handler(direct_update_delegate(FUNC(vcombat_state::vcombat_vid_0_direct_handler), this));
- space = machine.device<i860_device>("vid_1")->space(AS_PROGRAM);
- space->set_direct_update_handler(direct_update_delegate(FUNC(vcombat_state::vcombat_vid_1_direct_handler), state));
+ space = machine().device<i860_device>("vid_1")->space(AS_PROGRAM);
+ space->set_direct_update_handler(direct_update_delegate(FUNC(vcombat_state::vcombat_vid_1_direct_handler), this));
/* Allocate the 68000 framebuffers */
- state->m_m68k_framebuffer[0] = auto_alloc_array(machine, UINT16, 0x8000);
- state->m_m68k_framebuffer[1] = auto_alloc_array(machine, UINT16, 0x8000);
+ m_m68k_framebuffer[0] = auto_alloc_array(machine(), UINT16, 0x8000);
+ m_m68k_framebuffer[1] = auto_alloc_array(machine(), UINT16, 0x8000);
/* First i860 */
- state->m_i860_framebuffer[0][0] = auto_alloc_array(machine, UINT16, 0x8000);
- state->m_i860_framebuffer[0][1] = auto_alloc_array(machine, UINT16, 0x8000);
+ m_i860_framebuffer[0][0] = auto_alloc_array(machine(), UINT16, 0x8000);
+ m_i860_framebuffer[0][1] = auto_alloc_array(machine(), UINT16, 0x8000);
/* Second i860 */
- state->m_i860_framebuffer[1][0] = auto_alloc_array(machine, UINT16, 0x8000);
- state->m_i860_framebuffer[1][1] = auto_alloc_array(machine, UINT16, 0x8000);
+ m_i860_framebuffer[1][0] = auto_alloc_array(machine(), UINT16, 0x8000);
+ m_i860_framebuffer[1][1] = auto_alloc_array(machine(), UINT16, 0x8000);
/* pc==4016 : jump 4038 ... There's something strange about how it waits at 402e (interrupts all masked out)
I think what is happening here is that M0 snags the first time
@@ -479,22 +480,21 @@ static DRIVER_INIT( vcombat )
ROM[0x4017] = 0x66;
}
-static DRIVER_INIT( shadfgtr )
+DRIVER_INIT_MEMBER(vcombat_state,shadfgtr)
{
- vcombat_state *state = machine.driver_data<vcombat_state>();
/* Allocate th 68000 frame buffers */
- state->m_m68k_framebuffer[0] = auto_alloc_array(machine, UINT16, 0x8000);
- state->m_m68k_framebuffer[1] = auto_alloc_array(machine, UINT16, 0x8000);
+ m_m68k_framebuffer[0] = auto_alloc_array(machine(), UINT16, 0x8000);
+ m_m68k_framebuffer[1] = auto_alloc_array(machine(), UINT16, 0x8000);
/* Only one i860 */
- state->m_i860_framebuffer[0][0] = auto_alloc_array(machine, UINT16, 0x8000);
- state->m_i860_framebuffer[0][1] = auto_alloc_array(machine, UINT16, 0x8000);
- state->m_i860_framebuffer[1][0] = NULL;
- state->m_i860_framebuffer[1][1] = NULL;
+ m_i860_framebuffer[0][0] = auto_alloc_array(machine(), UINT16, 0x8000);
+ m_i860_framebuffer[0][1] = auto_alloc_array(machine(), UINT16, 0x8000);
+ m_i860_framebuffer[1][0] = NULL;
+ m_i860_framebuffer[1][1] = NULL;
/* The i860 executes out of RAM */
- address_space *space = machine.device<i860_device>("vid_0")->space(AS_PROGRAM);
- space->set_direct_update_handler(direct_update_delegate(FUNC(vcombat_state::vcombat_vid_0_direct_handler), state));
+ address_space *space = machine().device<i860_device>("vid_0")->space(AS_PROGRAM);
+ space->set_direct_update_handler(direct_update_delegate(FUNC(vcombat_state::vcombat_vid_0_direct_handler), this));
}
diff --git a/src/mame/drivers/vd.c b/src/mame/drivers/vd.c
index af5089a2779..3e7e1e80c0e 100644
--- a/src/mame/drivers/vd.c
+++ b/src/mame/drivers/vd.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(vd);
};
@@ -31,7 +33,7 @@ void vd_state::machine_reset()
{
}
-static DRIVER_INIT( vd )
+DRIVER_INIT_MEMBER(vd_state,vd)
{
}
diff --git a/src/mame/drivers/vega.c b/src/mame/drivers/vega.c
index 1b564d00896..2cfa9ede015 100644
--- a/src/mame/drivers/vega.c
+++ b/src/mame/drivers/vega.c
@@ -103,10 +103,10 @@ UINT8 ascii_to_bin( UINT8 ascii )
return 0;
}
-DRIVER_INIT(vegaa)
+DRIVER_INIT_MEMBER(vega_state,vegaa)
{
UINT8* buf = (UINT8*)malloc(0x10000);
- UINT8* rom = machine.root_device().memregion("maincpu")->base();
+ UINT8* rom = machine().root_device().memregion("maincpu")->base();
int i;
int count = 0;
// last 0xc bytes of file are just some settings, ignore
@@ -134,7 +134,7 @@ DRIVER_INIT(vegaa)
{
FILE *fp;
char filename[256];
- sprintf(filename,"vega_%s", machine.system().name);
+ sprintf(filename,"vega_%s", machine().system().name);
fp=fopen(filename, "w+b");
if (fp)
{
@@ -145,4 +145,4 @@ DRIVER_INIT(vegaa)
}
#endif
-GAME( 1982, vega, 0, vega, vega, vega_state, 0, ROT270, "Olympia", "Vega", GAME_IS_SKELETON )
+GAME( 1982, vega, 0, vega, vega, driver_device, 0, ROT270, "Olympia", "Vega", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/vegaeo.c b/src/mame/drivers/vegaeo.c
index 205b67c07e1..92236f15792 100644
--- a/src/mame/drivers/vegaeo.c
+++ b/src/mame/drivers/vegaeo.c
@@ -39,6 +39,7 @@ public:
DECLARE_WRITE8_MEMBER(qs1000_p1_w);
DECLARE_WRITE8_MEMBER(qs1000_p2_w);
DECLARE_WRITE8_MEMBER(qs1000_p3_w);
+ DECLARE_DRIVER_INIT(vegaeo);
};
READ8_MEMBER( vegaeo_state::qs1000_p1_r )
@@ -351,15 +352,14 @@ ROM_START( crazywar )
ROM_LOAD( "qs1001a.u86", 0x200000, 0x080000, CRC(d13c6407) SHA1(57b14f97c7d4f9b5d9745d3571a0b7115fbe3176) )
ROM_END
-static DRIVER_INIT( vegaeo )
+DRIVER_INIT_MEMBER(vegaeo_state,vegaeo)
{
- vegaeo_state *state = machine.driver_data<vegaeo_state>();
// Set up the QS1000 program ROM banking, taking care not to overlap the internal RAM
- machine.device("qs1000:cpu")->memory().space(AS_IO)->install_read_bank(0x0100, 0xffff, "bank");
- state->membank("qs1000:bank")->configure_entries(0, 8, state->memregion("qs1000:cpu")->base()+0x100, 0x10000);
+ machine().device("qs1000:cpu")->memory().space(AS_IO)->install_read_bank(0x0100, 0xffff, "bank");
+ membank("qs1000:bank")->configure_entries(0, 8, memregion("qs1000:cpu")->base()+0x100, 0x10000);
- init_eolith_speedup(machine);
+ init_eolith_speedup(machine());
}
GAME( 2002, crazywar, 0, vega, crazywar, vegaeo_state, vegaeo, ROT0, "Eolith", "Crazy War", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/vegas.c b/src/mame/drivers/vegas.c
index 26bc7744e2c..634c6d4eabe 100644
--- a/src/mame/drivers/vegas.c
+++ b/src/mame/drivers/vegas.c
@@ -488,6 +488,17 @@ public:
int m_count;
int m_dynamic_count;
dynamic_address m_dynamic[MAX_DYNAMIC_ADDRESSES];
+ DECLARE_DRIVER_INIT(gauntleg);
+ DECLARE_DRIVER_INIT(cartfury);
+ DECLARE_DRIVER_INIT(tenthdeg);
+ DECLARE_DRIVER_INIT(nbashowt);
+ DECLARE_DRIVER_INIT(warfa);
+ DECLARE_DRIVER_INIT(roadburn);
+ DECLARE_DRIVER_INIT(sf2049te);
+ DECLARE_DRIVER_INIT(gauntdl);
+ DECLARE_DRIVER_INIT(nbanfl);
+ DECLARE_DRIVER_INIT(sf2049);
+ DECLARE_DRIVER_INIT(sf2049se);
};
@@ -2469,102 +2480,102 @@ static void init_common(running_machine &machine, int ioasic, int serialnum)
}
-static DRIVER_INIT( gauntleg )
+DRIVER_INIT_MEMBER(vegas_state,gauntleg)
{
- dcs2_init(machine, 4, 0x0b5d);
- init_common(machine, MIDWAY_IOASIC_CALSPEED, 340/* 340=39", 322=27", others? */);
+ dcs2_init(machine(), 4, 0x0b5d);
+ init_common(machine(), MIDWAY_IOASIC_CALSPEED, 340/* 340=39", 322=27", others? */);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80015430, 0x8CC38060, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80015464, 0x3C09801E, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800C8918, 0x8FA2004C, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800C8890, 0x8FA20024, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80015430, 0x8CC38060, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80015464, 0x3C09801E, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800C8918, 0x8FA2004C, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800C8890, 0x8FA20024, 250); /* confirmed */
}
-static DRIVER_INIT( gauntdl )
+DRIVER_INIT_MEMBER(vegas_state,gauntdl)
{
- dcs2_init(machine, 4, 0x0b5d);
- init_common(machine, MIDWAY_IOASIC_GAUNTDL, 346/* 347, others? */);
+ dcs2_init(machine(), 4, 0x0b5d);
+ init_common(machine(), MIDWAY_IOASIC_GAUNTDL, 346/* 347, others? */);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800158B8, 0x8CC3CC40, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800158EC, 0x3C0C8022, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800D40C0, 0x8FA2004C, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x800D4038, 0x8FA20024, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800158B8, 0x8CC3CC40, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800158EC, 0x3C0C8022, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800D40C0, 0x8FA2004C, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x800D4038, 0x8FA20024, 250); /* confirmed */
}
-static DRIVER_INIT( warfa )
+DRIVER_INIT_MEMBER(vegas_state,warfa)
{
- dcs2_init(machine, 4, 0x0b5d);
- init_common(machine, MIDWAY_IOASIC_MACE, 337/* others? */);
+ dcs2_init(machine(), 4, 0x0b5d);
+ init_common(machine(), MIDWAY_IOASIC_MACE, 337/* others? */);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8009436C, 0x0C031663, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8009436C, 0x0C031663, 250); /* confirmed */
}
-static DRIVER_INIT( tenthdeg )
+DRIVER_INIT_MEMBER(vegas_state,tenthdeg)
{
- dcs2_init(machine, 4, 0x0afb);
- init_common(machine, MIDWAY_IOASIC_GAUNTDL, 330/* others? */);
+ dcs2_init(machine(), 4, 0x0afb);
+ init_common(machine(), MIDWAY_IOASIC_GAUNTDL, 330/* others? */);
/* speedups */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80051CD8, 0x0C023C15, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8005E674, 0x3C028017, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x8002DBCC, 0x8FA2002C, 250); /* confirmed */
- mips3drc_add_hotspot(machine.device("maincpu"), 0x80015930, 0x8FC20244, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80051CD8, 0x0C023C15, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8005E674, 0x3C028017, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x8002DBCC, 0x8FA2002C, 250); /* confirmed */
+ mips3drc_add_hotspot(machine().device("maincpu"), 0x80015930, 0x8FC20244, 250); /* confirmed */
}
-static DRIVER_INIT( roadburn )
+DRIVER_INIT_MEMBER(vegas_state,roadburn)
{
- dcs2_init(machine, 4, 0); /* no place to hook :-( */
- init_common(machine, MIDWAY_IOASIC_STANDARD, 325/* others? */);
+ dcs2_init(machine(), 4, 0); /* no place to hook :-( */
+ init_common(machine(), MIDWAY_IOASIC_STANDARD, 325/* others? */);
}
-static DRIVER_INIT( nbashowt )
+DRIVER_INIT_MEMBER(vegas_state,nbashowt)
{
- dcs2_init(machine, 4, 0);
- init_common(machine, MIDWAY_IOASIC_MACE, 528/* or 478 or 487 */);
+ dcs2_init(machine(), 4, 0);
+ init_common(machine(), MIDWAY_IOASIC_MACE, 528/* or 478 or 487 */);
}
-static DRIVER_INIT( nbanfl )
+DRIVER_INIT_MEMBER(vegas_state,nbanfl)
{
- dcs2_init(machine, 4, 0);
- init_common(machine, MIDWAY_IOASIC_BLITZ99, 498/* or 478 or 487 */);
+ dcs2_init(machine(), 4, 0);
+ init_common(machine(), MIDWAY_IOASIC_BLITZ99, 498/* or 478 or 487 */);
/* NOT: MACE */
}
-static DRIVER_INIT( sf2049 )
+DRIVER_INIT_MEMBER(vegas_state,sf2049)
{
- dcs2_init(machine, 8, 0);
- init_common(machine, MIDWAY_IOASIC_STANDARD, 336/* others? */);
+ dcs2_init(machine(), 8, 0);
+ init_common(machine(), MIDWAY_IOASIC_STANDARD, 336/* others? */);
}
-static DRIVER_INIT( sf2049se )
+DRIVER_INIT_MEMBER(vegas_state,sf2049se)
{
- dcs2_init(machine, 8, 0);
- init_common(machine, MIDWAY_IOASIC_SFRUSHRK, 336/* others? */);
+ dcs2_init(machine(), 8, 0);
+ init_common(machine(), MIDWAY_IOASIC_SFRUSHRK, 336/* others? */);
}
-static DRIVER_INIT( sf2049te )
+DRIVER_INIT_MEMBER(vegas_state,sf2049te)
{
- dcs2_init(machine, 8, 0);
- init_common(machine, MIDWAY_IOASIC_SFRUSHRK, 348/* others? */);
+ dcs2_init(machine(), 8, 0);
+ init_common(machine(), MIDWAY_IOASIC_SFRUSHRK, 348/* others? */);
}
-static DRIVER_INIT( cartfury )
+DRIVER_INIT_MEMBER(vegas_state,cartfury)
{
- dcs2_init(machine, 4, 0);
- init_common(machine, MIDWAY_IOASIC_CARNEVIL, 495/* others? */);
+ dcs2_init(machine(), 4, 0);
+ init_common(machine(), MIDWAY_IOASIC_CARNEVIL, 495/* others? */);
}
diff --git a/src/mame/drivers/vendetta.c b/src/mame/drivers/vendetta.c
index 197b99f7fdb..94f5d2a56d9 100644
--- a/src/mame/drivers/vendetta.c
+++ b/src/mame/drivers/vendetta.c
@@ -789,16 +789,14 @@ static KONAMI_SETLINES_CALLBACK( vendetta_banking )
device->machine().root_device().membank("bank1")->set_entry(lines);
}
-static DRIVER_INIT( vendetta )
+DRIVER_INIT_MEMBER(vendetta_state,vendetta)
{
- vendetta_state *state = machine.driver_data<vendetta_state>();
- state->m_video_banking_base = 0x4000;
+ m_video_banking_base = 0x4000;
}
-static DRIVER_INIT( esckids )
+DRIVER_INIT_MEMBER(vendetta_state,esckids)
{
- vendetta_state *state = machine.driver_data<vendetta_state>();
- state->m_video_banking_base = 0x2000;
+ m_video_banking_base = 0x2000;
}
diff --git a/src/mame/drivers/vertigo.c b/src/mame/drivers/vertigo.c
index feb77de7020..68201b867f9 100644
--- a/src/mame/drivers/vertigo.c
+++ b/src/mame/drivers/vertigo.c
@@ -212,4 +212,4 @@ ROM_END
*
*************************************/
-GAME( 1986, topgunnr, 0, vertigo, vertigo, vertigo_state, 0, ROT0, "Exidy", "Top Gunner (Exidy)", GAME_SUPPORTS_SAVE )
+GAME( 1986, topgunnr, 0, vertigo, vertigo, driver_device, 0, ROT0, "Exidy", "Top Gunner (Exidy)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/vicdual.c b/src/mame/drivers/vicdual.c
index 1b9f71c621b..28b95a94769 100644
--- a/src/mame/drivers/vicdual.c
+++ b/src/mame/drivers/vicdual.c
@@ -3441,43 +3441,43 @@ ROM_END
*
*************************************/
-GAMEL(1977, depthch, 0, depthch, depthch, vicdual_state, 0, ROT0, "Gremlin", "Depthcharge", GAME_IMPERFECT_SOUND, layout_depthch )
-GAMEL(1977, depthcho, depthch, depthch, depthch, vicdual_state, 0, ROT0, "Gremlin", "Depthcharge (older)", GAME_IMPERFECT_SOUND, layout_depthch )
-GAMEL(1977, subhunt, depthch, depthch, depthch, vicdual_state, 0, ROT0, "Gremlin (Taito license)", "Sub Hunter", GAME_IMPERFECT_SOUND, layout_depthch )
-GAME( 1977, safari, 0, safari, safari, vicdual_state, 0, ROT0, "Gremlin", "Safari (set 1)", GAME_NO_SOUND )
-GAME( 1977, safaria, safari, safari, safari, vicdual_state, 0, ROT0, "Gremlin", "Safari (set 2, bootleg?)", GAME_NO_SOUND ) // on a bootleg board, but seems a different code revision too
-GAME( 1978, frogs, 0, frogs, frogs, vicdual_state, 0, ROT0, "Gremlin", "Frogs", GAME_IMPERFECT_SOUND )
-GAME( 1979, sspaceat, 0, sspaceat, sspaceat, vicdual_state, 0, ROT270, "Sega", "Space Attack (upright set 1)", GAME_NO_SOUND )
-GAME( 1979, sspaceat2,sspaceat, sspaceat, sspaceat, vicdual_state, 0, ROT270, "Sega", "Space Attack (upright set 2)", GAME_NO_SOUND )
-GAME( 1979, sspaceat3,sspaceat, sspaceat, sspaceat, vicdual_state, 0, ROT270, "Sega", "Space Attack (upright set 3)", GAME_NO_SOUND )
-GAME( 1979, sspaceatc,sspaceat, sspaceat, sspaceat, vicdual_state, 0, ROT270, "Sega", "Space Attack (cocktail)", GAME_NO_SOUND )
-GAME( 1979, sspacaho, 0, sspacaho, sspacaho, vicdual_state, 0, ROT270, "Sega", "Space Attack / Head On", GAME_NO_SOUND )
-GAME( 1979, headon, 0, headon, headon, vicdual_state, 0, ROT0, "Gremlin", "Head On (2 players)", GAME_IMPERFECT_SOUND )
-GAME( 1979, headonb, headon, headon, headon, vicdual_state, 0, ROT0, "Gremlin", "Head On (1 player)", GAME_IMPERFECT_SOUND )
-GAME( 1979, headons, headon, headons, headon, vicdual_state, 0, ROT0, "bootleg (Sidam)", "Head On (Sidam bootleg, set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1979, headonsa, headon, headons, headon, vicdual_state, 0, ROT0, "bootleg (Sidam)", "Head On (Sidam bootleg, set 2)", GAME_NOT_WORKING ) // won't coin up?
-GAME( 1979, supcrash, headon, headons, supcrash, vicdual_state, 0, ROT0, "bootleg", "Super Crash (bootleg of Head On)", GAME_NO_SOUND )
-GAME( 1979, hocrash, headon, headons, headon, vicdual_state, 0, ROT0, "bootleg (Fraber)", "Crash (bootleg of Head On)", GAME_IMPERFECT_SOUND )
-GAME( 1979, headon2, 0, headon2, headon2, vicdual_state, 0, ROT0, "Sega", "Head On 2", GAME_IMPERFECT_SOUND )
-GAME( 1979, headon2s, headon2, headon2bw,car2, vicdual_state, 0, ROT0, "bootleg (Sidam)", "Head On 2 (Sidam bootleg)", GAME_NOT_WORKING ) // won't coin up?
-GAME( 1979, car2, headon2, headon2bw,car2, vicdual_state, 0, ROT0, "bootleg (RZ Bologna)", "Car 2 (bootleg of Head On 2)", GAME_IMPERFECT_SOUND ) // title still says 'HeadOn 2'
-GAME( 1979, invho2, 0, invho2, invho2, vicdual_state, 0, ROT270, "Sega", "Invinco / Head On 2", GAME_IMPERFECT_SOUND )
-GAME( 1980, nsub, 0, nsub, nsub, vicdual_state, 0, ROT270, "Sega", "N-Sub (upright)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
-GAME( 1980, samurai, 0, samurai, samurai, vicdual_state, 0, ROT270, "Sega", "Samurai", GAME_NO_SOUND )
-GAME( 1979, invinco, 0, invinco, invinco, vicdual_state, 0, ROT270, "Sega", "Invinco", GAME_IMPERFECT_SOUND )
-GAME( 1979, invds, 0, invds, invds, vicdual_state, 0, ROT270, "Sega", "Invinco / Deep Scan", GAME_IMPERFECT_SOUND )
-GAME( 1980, tranqgun, 0, tranqgun, tranqgun, vicdual_state, 0, ROT270, "Sega", "Tranquillizer Gun", GAME_NO_SOUND )
-GAME( 1980, spacetrk, 0, spacetrk, spacetrk, vicdual_state, 0, ROT270, "Sega", "Space Trek (upright)", GAME_NO_SOUND )
-GAME( 1980, spacetrkc,spacetrk, spacetrk, sptrekct, vicdual_state, 0, ROT270, "Sega", "Space Trek (cocktail)", GAME_NO_SOUND )
-GAME( 1980, carnival, 0, carnival, carnival, vicdual_state, 0, ROT270, "Sega", "Carnival (upright)", GAME_IMPERFECT_SOUND )
-GAME( 1980, carnivalc,carnival, carnival, carnvckt, vicdual_state, 0, ROT270, "Sega", "Carnival (cocktail)", GAME_IMPERFECT_SOUND )
-GAME( 1980, carnivalh,carnival, carnivalh,carnivalh, vicdual_state,0, ROT270, "Sega", "Carnival (Head On hardware, set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1980, carnivalha,carnival,carnivalh,carnivalh, vicdual_state,0, ROT270, "Sega", "Carnival (Head On hardware, set 2)", GAME_IMPERFECT_SOUND )
-GAME( 1981, brdrline, 0, brdrline, brdrline, vicdual_state, 0, ROT270, "Sega", "Borderline", GAME_NO_SOUND )
-GAME( 1981, starrkr, brdrline, brdrline, starrkr, vicdual_state, 0, ROT270, "Sega", "Star Raker", GAME_NO_SOUND )
-GAME( 1981, brdrlins, brdrline, brdrline, brdrline, vicdual_state, 0, ROT270, "bootleg (Sidam)", "Borderline (Sidam bootleg)", GAME_NO_SOUND )
-GAME( 1981, brdrlinb, brdrline, brdrline, brdrline, vicdual_state, 0, ROT270, "bootleg (Karateco)", "Borderline (Karateco bootleg)", GAME_NO_SOUND )
-GAME( 1980, digger, 0, digger, digger, vicdual_state, 0, ROT270, "Sega", "Digger", GAME_NO_SOUND )
-GAME( 1981, pulsar, 0, pulsar, pulsar, vicdual_state, 0, ROT270, "Sega", "Pulsar", GAME_IMPERFECT_SOUND )
-GAME( 1979, heiankyo, 0, heiankyo, heiankyo, vicdual_state, 0, ROT270, "Denki Onkyo", "Heiankyo Alien", GAME_NO_SOUND )
-GAME( 19??, alphaho, 0, alphaho, alphaho, vicdual_state, 0, ROT270, "Data East Corporation", "Alpha Fighter / Head On", GAME_WRONG_COLORS | GAME_NO_SOUND )
+GAMEL(1977, depthch, 0, depthch, depthch, driver_device, 0, ROT0, "Gremlin", "Depthcharge", GAME_IMPERFECT_SOUND, layout_depthch )
+GAMEL(1977, depthcho, depthch, depthch, depthch, driver_device, 0, ROT0, "Gremlin", "Depthcharge (older)", GAME_IMPERFECT_SOUND, layout_depthch )
+GAMEL(1977, subhunt, depthch, depthch, depthch, driver_device, 0, ROT0, "Gremlin (Taito license)", "Sub Hunter", GAME_IMPERFECT_SOUND, layout_depthch )
+GAME( 1977, safari, 0, safari, safari, driver_device, 0, ROT0, "Gremlin", "Safari (set 1)", GAME_NO_SOUND )
+GAME( 1977, safaria, safari, safari, safari, driver_device, 0, ROT0, "Gremlin", "Safari (set 2, bootleg?)", GAME_NO_SOUND ) // on a bootleg board, but seems a different code revision too
+GAME( 1978, frogs, 0, frogs, frogs, driver_device, 0, ROT0, "Gremlin", "Frogs", GAME_IMPERFECT_SOUND )
+GAME( 1979, sspaceat, 0, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 1)", GAME_NO_SOUND )
+GAME( 1979, sspaceat2,sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 2)", GAME_NO_SOUND )
+GAME( 1979, sspaceat3,sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 3)", GAME_NO_SOUND )
+GAME( 1979, sspaceatc,sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (cocktail)", GAME_NO_SOUND )
+GAME( 1979, sspacaho, 0, sspacaho, sspacaho, driver_device, 0, ROT270, "Sega", "Space Attack / Head On", GAME_NO_SOUND )
+GAME( 1979, headon, 0, headon, headon, driver_device, 0, ROT0, "Gremlin", "Head On (2 players)", GAME_IMPERFECT_SOUND )
+GAME( 1979, headonb, headon, headon, headon, driver_device, 0, ROT0, "Gremlin", "Head On (1 player)", GAME_IMPERFECT_SOUND )
+GAME( 1979, headons, headon, headons, headon, driver_device, 0, ROT0, "bootleg (Sidam)", "Head On (Sidam bootleg, set 1)", GAME_IMPERFECT_SOUND )
+GAME( 1979, headonsa, headon, headons, headon, driver_device, 0, ROT0, "bootleg (Sidam)", "Head On (Sidam bootleg, set 2)", GAME_NOT_WORKING ) // won't coin up?
+GAME( 1979, supcrash, headon, headons, supcrash, driver_device, 0, ROT0, "bootleg", "Super Crash (bootleg of Head On)", GAME_NO_SOUND )
+GAME( 1979, hocrash, headon, headons, headon, driver_device, 0, ROT0, "bootleg (Fraber)", "Crash (bootleg of Head On)", GAME_IMPERFECT_SOUND )
+GAME( 1979, headon2, 0, headon2, headon2, driver_device, 0, ROT0, "Sega", "Head On 2", GAME_IMPERFECT_SOUND )
+GAME( 1979, headon2s, headon2, headon2bw,car2, driver_device, 0, ROT0, "bootleg (Sidam)", "Head On 2 (Sidam bootleg)", GAME_NOT_WORKING ) // won't coin up?
+GAME( 1979, car2, headon2, headon2bw,car2, driver_device, 0, ROT0, "bootleg (RZ Bologna)", "Car 2 (bootleg of Head On 2)", GAME_IMPERFECT_SOUND ) // title still says 'HeadOn 2'
+GAME( 1979, invho2, 0, invho2, invho2, driver_device, 0, ROT270, "Sega", "Invinco / Head On 2", GAME_IMPERFECT_SOUND )
+GAME( 1980, nsub, 0, nsub, nsub, driver_device, 0, ROT270, "Sega", "N-Sub (upright)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
+GAME( 1980, samurai, 0, samurai, samurai, driver_device, 0, ROT270, "Sega", "Samurai", GAME_NO_SOUND )
+GAME( 1979, invinco, 0, invinco, invinco, driver_device, 0, ROT270, "Sega", "Invinco", GAME_IMPERFECT_SOUND )
+GAME( 1979, invds, 0, invds, invds, driver_device, 0, ROT270, "Sega", "Invinco / Deep Scan", GAME_IMPERFECT_SOUND )
+GAME( 1980, tranqgun, 0, tranqgun, tranqgun, driver_device, 0, ROT270, "Sega", "Tranquillizer Gun", GAME_NO_SOUND )
+GAME( 1980, spacetrk, 0, spacetrk, spacetrk, driver_device, 0, ROT270, "Sega", "Space Trek (upright)", GAME_NO_SOUND )
+GAME( 1980, spacetrkc,spacetrk, spacetrk, sptrekct, driver_device, 0, ROT270, "Sega", "Space Trek (cocktail)", GAME_NO_SOUND )
+GAME( 1980, carnival, 0, carnival, carnival, driver_device, 0, ROT270, "Sega", "Carnival (upright)", GAME_IMPERFECT_SOUND )
+GAME( 1980, carnivalc,carnival, carnival, carnvckt, driver_device, 0, ROT270, "Sega", "Carnival (cocktail)", GAME_IMPERFECT_SOUND )
+GAME( 1980, carnivalh,carnival, carnivalh,carnivalh, driver_device,0, ROT270, "Sega", "Carnival (Head On hardware, set 1)", GAME_IMPERFECT_SOUND )
+GAME( 1980, carnivalha,carnival,carnivalh,carnivalh, driver_device,0, ROT270, "Sega", "Carnival (Head On hardware, set 2)", GAME_IMPERFECT_SOUND )
+GAME( 1981, brdrline, 0, brdrline, brdrline, driver_device, 0, ROT270, "Sega", "Borderline", GAME_NO_SOUND )
+GAME( 1981, starrkr, brdrline, brdrline, starrkr, driver_device, 0, ROT270, "Sega", "Star Raker", GAME_NO_SOUND )
+GAME( 1981, brdrlins, brdrline, brdrline, brdrline, driver_device, 0, ROT270, "bootleg (Sidam)", "Borderline (Sidam bootleg)", GAME_NO_SOUND )
+GAME( 1981, brdrlinb, brdrline, brdrline, brdrline, driver_device, 0, ROT270, "bootleg (Karateco)", "Borderline (Karateco bootleg)", GAME_NO_SOUND )
+GAME( 1980, digger, 0, digger, digger, driver_device, 0, ROT270, "Sega", "Digger", GAME_NO_SOUND )
+GAME( 1981, pulsar, 0, pulsar, pulsar, driver_device, 0, ROT270, "Sega", "Pulsar", GAME_IMPERFECT_SOUND )
+GAME( 1979, heiankyo, 0, heiankyo, heiankyo, driver_device, 0, ROT270, "Denki Onkyo", "Heiankyo Alien", GAME_NO_SOUND )
+GAME( 19??, alphaho, 0, alphaho, alphaho, driver_device, 0, ROT270, "Data East Corporation", "Alpha Fighter / Head On", GAME_WRONG_COLORS | GAME_NO_SOUND )
diff --git a/src/mame/drivers/victory.c b/src/mame/drivers/victory.c
index 44106d0a3d0..aaaddbec3b0 100644
--- a/src/mame/drivers/victory.c
+++ b/src/mame/drivers/victory.c
@@ -316,5 +316,5 @@ ROM_END
*
*************************************/
-GAME( 1982, victory, 0, victory, victory, victory_state, 0, ROT0, "Exidy", "Victory", 0 )
-GAME( 1982, victorba, victory, victory, victory, victory_state, 0, ROT0, "Exidy", "Victor Banana", 0 )
+GAME( 1982, victory, 0, victory, victory, driver_device, 0, ROT0, "Exidy", "Victory", 0 )
+GAME( 1982, victorba, victory, victory, victory, driver_device, 0, ROT0, "Exidy", "Victor Banana", 0 )
diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c
index efd90b7b883..7f62ccd1d8f 100644
--- a/src/mame/drivers/videopin.c
+++ b/src/mame/drivers/videopin.c
@@ -399,4 +399,4 @@ ROM_END
*
*************************************/
-GAMEL( 1979, videopin, 0, videopin, videopin, videopin_state, 0, ROT270, "Atari", "Video Pinball", 0, layout_videopin )
+GAMEL( 1979, videopin, 0, videopin, videopin, driver_device, 0, ROT270, "Atari", "Video Pinball", 0, layout_videopin )
diff --git a/src/mame/drivers/videopkr.c b/src/mame/drivers/videopkr.c
index 3899dfd42f1..cbf4d8daf41 100644
--- a/src/mame/drivers/videopkr.c
+++ b/src/mame/drivers/videopkr.c
@@ -1546,11 +1546,11 @@ ROM_END
* Game Drivers *
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1984, videopkr, 0, videopkr, videopkr, videopkr_state, 0, ROT0, "InterFlip", "Video Poker", 0, layout_videopkr )
-GAMEL( 1984, fortune1, videopkr, fortune1, videopkr, videopkr_state, 0, ROT0, "IGT - International Gaming Technology", "Fortune I (PK485-S) Draw Poker", 0, layout_videopkr )
-GAMEL( 1984, blckjack, videopkr, blckjack, blckjack, videopkr_state, 0, ROT0, "InterFlip", "Black Jack", 0, layout_blckjack )
-GAMEL( 1987, videodad, videopkr, videodad, videodad, videopkr_state, 0, ROT0, "InterFlip", "Video Dado", 0, layout_videodad )
-GAMEL( 1987, videocba, videopkr, videodad, videocba, videopkr_state, 0, ROT0, "InterFlip", "Video Cordoba", 0, layout_videocba )
-GAMEL( 1987, babypkr , videopkr, babypkr, babypkr, videopkr_state, 0, ROT0, "Recreativos Franco", "Baby Poker", 0, layout_babypkr )
-GAMEL( 1987, babydad , videopkr, babypkr, babydad, videopkr_state, 0, ROT0, "Recreativos Franco", "Baby Dado", 0, layout_babydad )
-GAMEL( 198?, bpoker , videopkr, babypkr, babypkr, videopkr_state, 0, ROT0, "Recreativos Franco", "Video Poker (v1403)", GAME_NOT_WORKING, layout_babypkr )
+GAMEL( 1984, videopkr, 0, videopkr, videopkr, driver_device, 0, ROT0, "InterFlip", "Video Poker", 0, layout_videopkr )
+GAMEL( 1984, fortune1, videopkr, fortune1, videopkr, driver_device, 0, ROT0, "IGT - International Gaming Technology", "Fortune I (PK485-S) Draw Poker", 0, layout_videopkr )
+GAMEL( 1984, blckjack, videopkr, blckjack, blckjack, driver_device, 0, ROT0, "InterFlip", "Black Jack", 0, layout_blckjack )
+GAMEL( 1987, videodad, videopkr, videodad, videodad, driver_device, 0, ROT0, "InterFlip", "Video Dado", 0, layout_videodad )
+GAMEL( 1987, videocba, videopkr, videodad, videocba, driver_device, 0, ROT0, "InterFlip", "Video Cordoba", 0, layout_videocba )
+GAMEL( 1987, babypkr , videopkr, babypkr, babypkr, driver_device, 0, ROT0, "Recreativos Franco", "Baby Poker", 0, layout_babypkr )
+GAMEL( 1987, babydad , videopkr, babypkr, babydad, driver_device, 0, ROT0, "Recreativos Franco", "Baby Dado", 0, layout_babydad )
+GAMEL( 198?, bpoker , videopkr, babypkr, babypkr, driver_device, 0, ROT0, "Recreativos Franco", "Video Poker (v1403)", GAME_NOT_WORKING, layout_babypkr )
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index db484b6a53f..236792cbdfc 100644
--- a/src/mame/drivers/vigilant.c
+++ b/src/mame/drivers/vigilant.c
@@ -947,12 +947,12 @@ ROM_START( buccanrsa )
ROM_LOAD( "prom2.u99", 0x0300, 0x0100, CRC(e0aa8869) SHA1(ac8bdfeba69420ba56ec561bf3d0f1229d02cea2) )
ROM_END
-GAME( 1988, vigilant, 0, vigilant, vigilant, vigilant_state, 0, ROT0, "Irem", "Vigilante (World, set 1)", GAME_NO_COCKTAIL )
-GAME( 1988, vigilant1,vigilant, vigilant, vigilant, vigilant_state, 0, ROT0, "Irem", "Vigilante (World, set 2)", GAME_NO_COCKTAIL )
-GAME( 1988, vigilantu,vigilant, vigilant, vigilant, vigilant_state, 0, ROT0, "Irem (Data East USA license)", "Vigilante (US)", GAME_NO_COCKTAIL )
-GAME( 1988, vigilantu2,vigilant,vigilant, vigilant, vigilant_state, 0, ROT0, "Irem (Data East USA license)", "Vigilante (US) - Rev. G", GAME_NO_COCKTAIL )
-GAME( 1988, vigilantj,vigilant, vigilant, vigilant, vigilant_state, 0, ROT0, "Irem", "Vigilante (Japan)", GAME_NO_COCKTAIL )
-GAME( 1988, kikcubic, 0, kikcubic, kikcubic, vigilant_state, 0, ROT0, "Irem", "Meikyu Jima (Japan)", GAME_NO_COCKTAIL ) /* English title is Kickle Cubicle */
-GAME( 1988, kikcubicb,kikcubic, kikcubic, kikcubic, vigilant_state, 0, ROT0, "bootleg", "Kickle Cubele", GAME_NO_COCKTAIL )
-GAME( 1989, buccanrs, 0, buccanrs, buccanrs, vigilant_state, 0, ROT0, "Duintronic", "Buccaneers (set 1)", GAME_NO_COCKTAIL )
-GAME( 1989, buccanrsa,buccanrs, buccanrs, buccanra, vigilant_state, 0, ROT0, "Duintronic", "Buccaneers (set 2)", GAME_NO_COCKTAIL )
+GAME( 1988, vigilant, 0, vigilant, vigilant, driver_device, 0, ROT0, "Irem", "Vigilante (World, set 1)", GAME_NO_COCKTAIL )
+GAME( 1988, vigilant1,vigilant, vigilant, vigilant, driver_device, 0, ROT0, "Irem", "Vigilante (World, set 2)", GAME_NO_COCKTAIL )
+GAME( 1988, vigilantu,vigilant, vigilant, vigilant, driver_device, 0, ROT0, "Irem (Data East USA license)", "Vigilante (US)", GAME_NO_COCKTAIL )
+GAME( 1988, vigilantu2,vigilant,vigilant, vigilant, driver_device, 0, ROT0, "Irem (Data East USA license)", "Vigilante (US) - Rev. G", GAME_NO_COCKTAIL )
+GAME( 1988, vigilantj,vigilant, vigilant, vigilant, driver_device, 0, ROT0, "Irem", "Vigilante (Japan)", GAME_NO_COCKTAIL )
+GAME( 1988, kikcubic, 0, kikcubic, kikcubic, driver_device, 0, ROT0, "Irem", "Meikyu Jima (Japan)", GAME_NO_COCKTAIL ) /* English title is Kickle Cubicle */
+GAME( 1988, kikcubicb,kikcubic, kikcubic, kikcubic, driver_device, 0, ROT0, "bootleg", "Kickle Cubele", GAME_NO_COCKTAIL )
+GAME( 1989, buccanrs, 0, buccanrs, buccanrs, driver_device, 0, ROT0, "Duintronic", "Buccaneers (set 1)", GAME_NO_COCKTAIL )
+GAME( 1989, buccanrsa,buccanrs, buccanrs, buccanra, driver_device, 0, ROT0, "Duintronic", "Buccaneers (set 2)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/vindictr.c b/src/mame/drivers/vindictr.c
index 17ceb7bede1..5b9575831ed 100644
--- a/src/mame/drivers/vindictr.c
+++ b/src/mame/drivers/vindictr.c
@@ -539,9 +539,9 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( vindictr )
+DRIVER_INIT_MEMBER(vindictr_state,vindictr)
{
- atarijsa_init(machine, "260010", 0x0002);
+ atarijsa_init(machine(), "260010", 0x0002);
}
diff --git a/src/mame/drivers/viper.c b/src/mame/drivers/viper.c
index 64f0713fad6..14ddbc71e19 100644
--- a/src/mame/drivers/viper.c
+++ b/src/mame/drivers/viper.c
@@ -349,6 +349,8 @@ public:
DECLARE_WRITE64_MEMBER(cf_card_w);
DECLARE_READ64_MEMBER(ata_r);
DECLARE_WRITE64_MEMBER(ata_w);
+ DECLARE_DRIVER_INIT(viper);
+ DECLARE_DRIVER_INIT(vipercf);
};
UINT32 m_mpc8240_regs[256/4];
@@ -2005,18 +2007,17 @@ MACHINE_CONFIG_END
/*****************************************************************************/
-static DRIVER_INIT(viper)
+DRIVER_INIT_MEMBER(viper_state,viper)
{
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler( *ide, 0xff200000, 0xff207fff, FUNC(hdd_r), FUNC(hdd_w) ); //TODO
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler( *ide, 0xff200000, 0xff207fff, FUNC(hdd_r), FUNC(hdd_w) ); //TODO
}
-static DRIVER_INIT(vipercf)
+DRIVER_INIT_MEMBER(viper_state,vipercf)
{
- viper_state *state = machine.driver_data<viper_state>();
DRIVER_INIT_CALL(viper);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xff000000, 0xff000fff, read64_delegate(FUNC(viper_state::cf_card_data_r), state), write64_delegate(FUNC(viper_state::cf_card_data_w), state) );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xff200000, 0xff200fff, read64_delegate(FUNC(viper_state::cf_card_r), state), write64_delegate(FUNC(viper_state::cf_card_w), state) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xff000000, 0xff000fff, read64_delegate(FUNC(viper_state::cf_card_data_r), this), write64_delegate(FUNC(viper_state::cf_card_data_w), this) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xff200000, 0xff200fff, read64_delegate(FUNC(viper_state::cf_card_r), this), write64_delegate(FUNC(viper_state::cf_card_w), this) );
}
diff --git a/src/mame/drivers/vmetal.c b/src/mame/drivers/vmetal.c
index 91267598826..447b8685684 100644
--- a/src/mame/drivers/vmetal.c
+++ b/src/mame/drivers/vmetal.c
@@ -551,5 +551,5 @@ ROM_START( vmetaln )
ROM_END
-GAME( 1995, vmetal, 0, varia, varia, vmetal_state, 0, ROT270, "Excellent System", "Varia Metal", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, vmetaln, vmetal, varia, varia, vmetal_state, 0, ROT270, "Excellent System (New Ways Trading Co. license)", "Varia Metal (New Ways Trading Co.)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1995, vmetal, 0, varia, varia, driver_device, 0, ROT270, "Excellent System", "Varia Metal", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1995, vmetaln, vmetal, varia, varia, driver_device, 0, ROT270, "Excellent System (New Ways Trading Co. license)", "Varia Metal (New Ways Trading Co.)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/volfied.c b/src/mame/drivers/volfied.c
index 6c78753e7fd..4e52e6eb10f 100644
--- a/src/mame/drivers/volfied.c
+++ b/src/mame/drivers/volfied.c
@@ -422,7 +422,7 @@ ROM_START( volfiedjo )
ROM_END
-GAME( 1989, volfied, 0, volfied, volfied, volfied_state, 0, ROT270, "Taito Corporation Japan", "Volfied (World, revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, volfiedu, volfied, volfied, volfiedu, volfied_state, 0, ROT270, "Taito America Corporation", "Volfied (US, revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, volfiedj, volfied, volfied, volfiedj, volfied_state, 0, ROT270, "Taito Corporation", "Volfied (Japan, revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, volfiedjo, volfied, volfied, volfiedj, volfied_state, 0, ROT270, "Taito Corporation", "Volfied (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, volfied, 0, volfied, volfied, driver_device, 0, ROT270, "Taito Corporation Japan", "Volfied (World, revision 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, volfiedu, volfied, volfied, volfiedu, driver_device, 0, ROT270, "Taito America Corporation", "Volfied (US, revision 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, volfiedj, volfied, volfied, volfiedj, driver_device, 0, ROT270, "Taito Corporation", "Volfied (Japan, revision 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, volfiedjo, volfied, volfied, volfiedj, driver_device, 0, ROT270, "Taito Corporation", "Volfied (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/voyager.c b/src/mame/drivers/voyager.c
index 5e2a04aecd6..d2b61d6de42 100644
--- a/src/mame/drivers/voyager.c
+++ b/src/mame/drivers/voyager.c
@@ -66,6 +66,7 @@ public:
DECLARE_WRITE32_MEMBER(fdc_w);
DECLARE_WRITE_LINE_MEMBER(voyager_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
+ DECLARE_DRIVER_INIT(voyager);
};
@@ -789,18 +790,17 @@ static MACHINE_CONFIG_START( voyager, voyager_state )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
MACHINE_CONFIG_END
-static DRIVER_INIT( voyager )
+DRIVER_INIT_MEMBER(voyager_state,voyager)
{
- voyager_state *state = machine.driver_data<voyager_state>();
- state->m_bios_ram = auto_alloc_array(machine, UINT32, 0x20000/4);
+ m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4);
- pc_vga_init(machine, vga_setting, NULL);
- pc_svga_trident_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, voyager_set_keyb_int);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_svga_trident_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, voyager_set_keyb_int);
- intel82439tx_init(machine);
+ intel82439tx_init(machine());
- kbdc8042_init(machine, &at8042);
+ kbdc8042_init(machine(), &at8042);
}
ROM_START( voyager )
diff --git a/src/mame/drivers/vp101.c b/src/mame/drivers/vp101.c
index 7d29d47b6f1..58b98da61b4 100644
--- a/src/mame/drivers/vp101.c
+++ b/src/mame/drivers/vp101.c
@@ -116,5 +116,5 @@ ROM_START(specfrce)
ROM_END
-GAME( 2002, specfrce, 0, vp101, vp101, vp10x_state, 0, ROT0, "ICE/Play Mechanix", "Special Forces Elite Training", GAME_IS_SKELETON )
-GAME( 2004, jnero, 0, vp101, vp101, vp10x_state, 0, ROT0, "ICE/Play Mechanix", "Johnny Nero Action Hero", GAME_IS_SKELETON )
+GAME( 2002, specfrce, 0, vp101, vp101, driver_device, 0, ROT0, "ICE/Play Mechanix", "Special Forces Elite Training", GAME_IS_SKELETON )
+GAME( 2004, jnero, 0, vp101, vp101, driver_device, 0, ROT0, "ICE/Play Mechanix", "Johnny Nero Action Hero", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/vpoker.c b/src/mame/drivers/vpoker.c
index d3ce926b8c5..7be21543cb7 100644
--- a/src/mame/drivers/vpoker.c
+++ b/src/mame/drivers/vpoker.c
@@ -724,5 +724,5 @@ ROM_START( 5acespkr )
ROM_END
-GAME( 198?, vpoker, 0, vpoker, vpoker, vpoker_state, 0, ROT0, "Videotronics", "Videotronics Poker", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 198?, 5acespkr, 0, vpoker, 5acespkr, vpoker_state, 0, ROT0, "<unknown>", "5-Aces Poker", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 198?, vpoker, 0, vpoker, vpoker, driver_device, 0, ROT0, "Videotronics", "Videotronics Poker", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 198?, 5acespkr, 0, vpoker, 5acespkr, driver_device, 0, ROT0, "<unknown>", "5-Aces Poker", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/vroulet.c b/src/mame/drivers/vroulet.c
index 445b3237bda..c78c48026f2 100644
--- a/src/mame/drivers/vroulet.c
+++ b/src/mame/drivers/vroulet.c
@@ -332,4 +332,4 @@ ROM_END
/* Game Driver */
-GAME( 1989, vroulet, 0, vroulet, vroulet, vroulet_state, 0, ROT90, "World Game", "Vegas Roulette", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS )
+GAME( 1989, vroulet, 0, vroulet, vroulet, driver_device, 0, ROT90, "World Game", "Vegas Roulette", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS )
diff --git a/src/mame/drivers/vulgus.c b/src/mame/drivers/vulgus.c
index c1f81d8f1a9..1b58d157d7e 100644
--- a/src/mame/drivers/vulgus.c
+++ b/src/mame/drivers/vulgus.c
@@ -368,6 +368,6 @@ ROM_END
-GAME( 1984, vulgus, 0, vulgus, vulgus, vulgus_state, 0, ROT270, "Capcom", "Vulgus (set 1)", 0 )
-GAME( 1984, vulgusa, vulgus, vulgus, vulgus, vulgus_state, 0, ROT90, "Capcom", "Vulgus (set 2)", 0 )
-GAME( 1984, vulgusj, vulgus, vulgus, vulgus, vulgus_state, 0, ROT270, "Capcom", "Vulgus (Japan?)", 0 )
+GAME( 1984, vulgus, 0, vulgus, vulgus, driver_device, 0, ROT270, "Capcom", "Vulgus (set 1)", 0 )
+GAME( 1984, vulgusa, vulgus, vulgus, vulgus, driver_device, 0, ROT90, "Capcom", "Vulgus (set 2)", 0 )
+GAME( 1984, vulgusj, vulgus, vulgus, vulgus, driver_device, 0, ROT270, "Capcom", "Vulgus (Japan?)", 0 )
diff --git a/src/mame/drivers/wallc.c b/src/mame/drivers/wallc.c
index 410549486f5..d3be6250b5f 100644
--- a/src/mame/drivers/wallc.c
+++ b/src/mame/drivers/wallc.c
@@ -64,6 +64,8 @@ public:
tilemap_t *m_bg_tilemap;
DECLARE_WRITE8_MEMBER(wallc_videoram_w);
DECLARE_WRITE8_MEMBER(wallc_coin_counter_w);
+ DECLARE_DRIVER_INIT(wallc);
+ DECLARE_DRIVER_INIT(wallca);
};
@@ -254,12 +256,12 @@ static GFXDECODE_START( wallc )
GFXDECODE_ENTRY( "gfx1", 0 , charlayout, 0, 4 )
GFXDECODE_END
-static DRIVER_INIT( wallc )
+DRIVER_INIT_MEMBER(wallc_state,wallc)
{
UINT8 c;
UINT32 i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i=0; i<0x2000*2; i++)
{
@@ -269,12 +271,12 @@ static DRIVER_INIT( wallc )
}
}
-static DRIVER_INIT( wallca )
+DRIVER_INIT_MEMBER(wallc_state,wallca)
{
UINT8 c;
UINT32 i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i=0; i<0x4000; i++)
{
diff --git a/src/mame/drivers/wardner.c b/src/mame/drivers/wardner.c
index af7affed2f6..ca00136896c 100644
--- a/src/mame/drivers/wardner.c
+++ b/src/mame/drivers/wardner.c
@@ -146,6 +146,7 @@ public:
DECLARE_WRITE8_MEMBER(wardner_ramrom_bank_sw);
DECLARE_READ8_MEMBER(wardner_bank_r);
+ DECLARE_DRIVER_INIT(wardner);
};
@@ -593,11 +594,10 @@ ROM_START( wardnerj )
ROM_END
-static DRIVER_INIT( wardner )
+DRIVER_INIT_MEMBER(wardner_state,wardner)
{
- wardner_state *state = machine.driver_data<wardner_state>();
- state->m_ROM = machine.root_device().memregion("maincpu")->base();
- twincobr_driver_savestate(machine); /* Save-State stuff in src/machine/twincobr.c */
+ m_ROM = machine().root_device().memregion("maincpu")->base();
+ twincobr_driver_savestate(machine()); /* Save-State stuff in src/machine/twincobr.c */
}
diff --git a/src/mame/drivers/warpsped.c b/src/mame/drivers/warpsped.c
index 8228c81062f..a5fd5127ff9 100644
--- a/src/mame/drivers/warpsped.c
+++ b/src/mame/drivers/warpsped.c
@@ -101,6 +101,7 @@ public:
UINT8 m_regs[0x28];
DECLARE_WRITE8_MEMBER(warpspeed_hardware_w);
DECLARE_WRITE8_MEMBER(warpspeed_vidram_w);
+ DECLARE_DRIVER_INIT(warpspeed);
};
WRITE8_MEMBER(warpspeed_state::warpspeed_hardware_w)
@@ -359,7 +360,7 @@ ROM_START( warpsped )
ROM_END
-static DRIVER_INIT( warpspeed )
+DRIVER_INIT_MEMBER(warpspeed_state,warpspeed)
{
}
diff --git a/src/mame/drivers/warpwarp.c b/src/mame/drivers/warpwarp.c
index 9652721b8f7..386933cd5de 100644
--- a/src/mame/drivers/warpwarp.c
+++ b/src/mame/drivers/warpwarp.c
@@ -922,74 +922,67 @@ ROM_END
-static DRIVER_INIT( geebee )
+DRIVER_INIT_MEMBER(warpwarp_state,geebee)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_handle_joystick = 0;
+ m_handle_joystick = 0;
- state->m_ball_pen = 1;
- state->m_ball_sizex = 4;
- state->m_ball_sizey = 4;
+ m_ball_pen = 1;
+ m_ball_sizex = 4;
+ m_ball_sizey = 4;
}
-static DRIVER_INIT( navarone )
+DRIVER_INIT_MEMBER(warpwarp_state,navarone)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_handle_joystick = 1;
+ m_handle_joystick = 1;
- state->m_ball_pen = 1;
- state->m_ball_sizex = 4;
- state->m_ball_sizey = 4;
+ m_ball_pen = 1;
+ m_ball_sizex = 4;
+ m_ball_sizey = 4;
}
-static DRIVER_INIT( kaitein )
+DRIVER_INIT_MEMBER(warpwarp_state,kaitein)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_handle_joystick = 1;
+ m_handle_joystick = 1;
- state->m_ball_pen = 1;
- state->m_ball_sizex = 1;
- state->m_ball_sizey = 16;
+ m_ball_pen = 1;
+ m_ball_sizex = 1;
+ m_ball_sizey = 16;
}
-static DRIVER_INIT( kaitei )
+DRIVER_INIT_MEMBER(warpwarp_state,kaitei)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_handle_joystick = 0;
+ m_handle_joystick = 0;
- state->m_ball_pen = 1;
- state->m_ball_sizex = 1;
- state->m_ball_sizey = 16;
+ m_ball_pen = 1;
+ m_ball_sizex = 1;
+ m_ball_sizey = 16;
}
-static DRIVER_INIT( sos )
+DRIVER_INIT_MEMBER(warpwarp_state,sos)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_handle_joystick = 1;
+ m_handle_joystick = 1;
- state->m_ball_pen = 0;
- state->m_ball_sizex = 4;
- state->m_ball_sizey = 2;
+ m_ball_pen = 0;
+ m_ball_sizex = 4;
+ m_ball_sizey = 2;
}
-static DRIVER_INIT( bombbee )
+DRIVER_INIT_MEMBER(warpwarp_state,bombbee)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_handle_joystick = 0;
+ m_handle_joystick = 0;
- state->m_ball_pen = 0x200;
- state->m_ball_sizex = 4;
- state->m_ball_sizey = 4;
+ m_ball_pen = 0x200;
+ m_ball_sizex = 4;
+ m_ball_sizey = 4;
}
-static DRIVER_INIT( warpwarp )
+DRIVER_INIT_MEMBER(warpwarp_state,warpwarp)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_handle_joystick = 1;
+ m_handle_joystick = 1;
- state->m_ball_pen = 0x200;
- state->m_ball_sizex = 4;
- state->m_ball_sizey = 4;
+ m_ball_pen = 0x200;
+ m_ball_sizex = 4;
+ m_ball_sizey = 4;
}
diff --git a/src/mame/drivers/warriorb.c b/src/mame/drivers/warriorb.c
index cf4c5874d7e..80e6482a428 100644
--- a/src/mame/drivers/warriorb.c
+++ b/src/mame/drivers/warriorb.c
@@ -889,7 +889,7 @@ ROM_END
/* Working Games */
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1989, sagaia, darius2, darius2d, sagaia, warriorb_state, 0, ROT0, "Taito Corporation Japan", "Sagaia (dual screen) (World)", 0 )
-GAME( 1989, darius2d, darius2, darius2d, darius2d, warriorb_state, 0, ROT0, "Taito Corporation", "Darius II (dual screen) (Japan, Rev 2)", 0 )
-GAME( 1989, darius2do, darius2, darius2d, darius2d, warriorb_state, 0, ROT0, "Taito Corporation", "Darius II (dual screen) (Japan, Rev 1)", 0 )
-GAME( 1991, warriorb, 0, warriorb, warriorb, warriorb_state, 0, ROT0, "Taito Corporation", "Warrior Blade - Rastan Saga Episode III (Japan)", 0 )
+GAME( 1989, sagaia, darius2, darius2d, sagaia, driver_device, 0, ROT0, "Taito Corporation Japan", "Sagaia (dual screen) (World)", 0 )
+GAME( 1989, darius2d, darius2, darius2d, darius2d, driver_device, 0, ROT0, "Taito Corporation", "Darius II (dual screen) (Japan, Rev 2)", 0 )
+GAME( 1989, darius2do, darius2, darius2d, darius2d, driver_device, 0, ROT0, "Taito Corporation", "Darius II (dual screen) (Japan, Rev 1)", 0 )
+GAME( 1991, warriorb, 0, warriorb, warriorb, driver_device, 0, ROT0, "Taito Corporation", "Warrior Blade - Rastan Saga Episode III (Japan)", 0 )
diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c
index 58e2e740cb0..80a04cfd135 100644
--- a/src/mame/drivers/wc90.c
+++ b/src/mame/drivers/wc90.c
@@ -479,8 +479,8 @@ ROM_START( wc90t )
ROM_LOAD( "ic82_06.bin", 0x00000, 0x20000, CRC(2fd692ed) SHA1(0273dc39181504320bec0187d074b2f86c821508) )
ROM_END
-GAME( 1989, wc90, 0, wc90, wc90, wc90_state, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (World)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
-GAME( 1989, wc90a, wc90, wc90, wc90, wc90_state, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (Euro set 1)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
-GAME( 1989, wc90b, wc90, wc90, wc90, wc90_state, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (Euro set 2)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
-GAME( 1989, wc90t, wc90, wc90t,wc90, wc90_state, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (trackball set 1)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
+GAME( 1989, wc90, 0, wc90, wc90, driver_device, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (World)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
+GAME( 1989, wc90a, wc90, wc90, wc90, driver_device, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (Euro set 1)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
+GAME( 1989, wc90b, wc90, wc90, wc90, driver_device, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (Euro set 2)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
+GAME( 1989, wc90t, wc90, wc90t,wc90, driver_device, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (trackball set 1)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c
index 505d4dabf0e..f9665707e92 100644
--- a/src/mame/drivers/wc90b.c
+++ b/src/mame/drivers/wc90b.c
@@ -542,6 +542,6 @@ ROM_END
#endif
-GAME( 1989, wc90b1, wc90, wc90b, wc90b, wc90b_state, 0, ROT0, "bootleg", "Euro League (Italian hack of Tecmo World Cup '90)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1989, wc90b2, wc90, wc90b, wc90b, wc90b_state, 0, ROT0, "bootleg", "Worldcup '90", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-//GAME( 1989, wc90ba, wc90, wc90b, wc90b, wc90b_state, 0, ROT0, "bootleg", "Euro League (alt version)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1989, wc90b1, wc90, wc90b, wc90b, driver_device, 0, ROT0, "bootleg", "Euro League (Italian hack of Tecmo World Cup '90)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1989, wc90b2, wc90, wc90b, wc90b, driver_device, 0, ROT0, "bootleg", "Worldcup '90", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+//GAME( 1989, wc90ba, wc90, wc90b, wc90b, driver_device, 0, ROT0, "bootleg", "Euro League (alt version)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c
index 157cbf6b053..696532deb11 100644
--- a/src/mame/drivers/wecleman.c
+++ b/src/mame/drivers/wecleman.c
@@ -1273,12 +1273,11 @@ static void bitswap(running_machine &machine,UINT8 *src,size_t len,int _14,int _
}
/* Unpack sprites data and do some patching */
-static DRIVER_INIT( wecleman )
+DRIVER_INIT_MEMBER(wecleman_state,wecleman)
{
- wecleman_state *state = machine.driver_data<wecleman_state>();
int i, len;
UINT8 *RAM;
-// UINT16 *RAM1 = (UINT16 *) state->memregion("maincpu")->base(); /* Main CPU patches */
+// UINT16 *RAM1 = (UINT16 *) memregion("maincpu")->base(); /* Main CPU patches */
// RAM1[0x08c2/2] = 0x601e; // faster self test
/* Decode GFX Roms - Compensate for the address lines scrambling */
@@ -1288,8 +1287,8 @@ static DRIVER_INIT( wecleman )
I hope you'll appreciate this effort! */
/* let's swap even and odd *pixels* of the sprites */
- RAM = state->memregion("gfx1")->base();
- len = state->memregion("gfx1")->bytes();
+ RAM = memregion("gfx1")->base();
+ len = memregion("gfx1")->bytes();
for (i = 0; i < len; i ++)
{
/* TODO: could be wrong, colors have to be fixed. */
@@ -1298,21 +1297,21 @@ static DRIVER_INIT( wecleman )
RAM[i] = BITSWAP8(RAM[i],7,0,1,2,3,4,5,6);
}
- bitswap(machine, machine.root_device().memregion("gfx1")->base(), machine.root_device().memregion("gfx1")->bytes(),
+ bitswap(machine(), machine().root_device().memregion("gfx1")->base(), machine().root_device().memregion("gfx1")->bytes(),
0,1,20,19,18,17,14,9,16,6,4,7,8,15,10,11,13,5,12,3,2);
/* Now we can unpack each nibble of the sprites into a pixel (one byte) */
- wecleman_unpack_sprites(machine);
+ wecleman_unpack_sprites(machine());
/* Bg & Fg & Txt */
- bitswap(machine, machine.root_device().memregion("gfx2")->base(), machine.root_device().memregion("gfx2")->bytes(),
+ bitswap(machine(), machine().root_device().memregion("gfx2")->base(), machine().root_device().memregion("gfx2")->bytes(),
20,19,18,17,16,15,12,7,14,4,2,5,6,13,8,9,11,3,10,1,0);
/* Road */
- bitswap(machine, machine.root_device().memregion("gfx3")->base(), machine.root_device().memregion("gfx3")->bytes(),
+ bitswap(machine(), machine().root_device().memregion("gfx3")->base(), machine().root_device().memregion("gfx3")->bytes(),
20,19,18,17,16,15,14,7,12,4,2,5,6,13,8,9,11,3,10,1,0);
- state->m_spr_color_offs = 0x40;
+ m_spr_color_offs = 0x40;
}
@@ -1417,10 +1416,9 @@ static void hotchase_sprite_decode( running_machine &machine, int num16_banks, i
}
/* Unpack sprites data and do some patching */
-static DRIVER_INIT( hotchase )
+DRIVER_INIT_MEMBER(wecleman_state,hotchase)
{
- wecleman_state *state = machine.driver_data<wecleman_state>();
-// UINT16 *RAM1 = (UINT16) state->memregion("maincpu")->base(); /* Main CPU patches */
+// UINT16 *RAM1 = (UINT16) memregion("maincpu")->base(); /* Main CPU patches */
// RAM[0x1140/2] = 0x0015; RAM[0x195c/2] = 0x601A; // faster self test
UINT8 *RAM;
@@ -1428,16 +1426,16 @@ static DRIVER_INIT( hotchase )
/* Decode GFX Roms */
/* Let's swap even and odd bytes of the sprites gfx roms */
- RAM = state->memregion("gfx1")->base();
+ RAM = memregion("gfx1")->base();
/* Now we can unpack each nibble of the sprites into a pixel (one byte) */
- hotchase_sprite_decode(machine,3,0x80000*2); // num banks, bank len
+ hotchase_sprite_decode(machine(),3,0x80000*2); // num banks, bank len
/* Let's copy the second half of the fg layer gfx (charset) over the first */
- RAM = state->memregion("gfx3")->base();
+ RAM = memregion("gfx3")->base();
memcpy(&RAM[0], &RAM[0x10000/2], 0x10000/2);
- state->m_spr_color_offs = 0;
+ m_spr_color_offs = 0;
}
diff --git a/src/mame/drivers/welltris.c b/src/mame/drivers/welltris.c
index 193b60a3a9e..a65f9606b06 100644
--- a/src/mame/drivers/welltris.c
+++ b/src/mame/drivers/welltris.c
@@ -685,17 +685,17 @@ static const ym2610_interface ym2610_config =
-static DRIVER_INIT( welltris )
+DRIVER_INIT_MEMBER(welltris_state,welltris)
{
#if WELLTRIS_4P_HACK
/* A Hack which shows 4 player mode in code which is disabled */
- UINT16 *RAM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
RAM[0xB91C/2] = 0x4e71;
RAM[0xB91E/2] = 0x4e71;
#endif
}
-static DRIVER_INIT( quiz18k )
+DRIVER_INIT_MEMBER(welltris_state,quiz18k)
{
;
}
diff --git a/src/mame/drivers/wgp.c b/src/mame/drivers/wgp.c
index 9f0c25e426b..e1ea9ef6f79 100644
--- a/src/mame/drivers/wgp.c
+++ b/src/mame/drivers/wgp.c
@@ -1257,20 +1257,20 @@ ROM_START( wgp2 )
ROM_END
-static DRIVER_INIT( wgp )
+DRIVER_INIT_MEMBER(wgp_state,wgp)
{
#if 0
/* Patch for coding error that causes corrupt data in
sprite tilemapping area from $4083c0-847f */
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
ROM[0x25dc / 2] = 0x0602; // faulty value is 0x0206
#endif
}
-static DRIVER_INIT( wgp2 )
+DRIVER_INIT_MEMBER(wgp_state,wgp2)
{
/* Code patches to prevent failure in memory checks */
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("sub")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("sub")->base();
ROM[0x8008 / 2] = 0x0;
ROM[0x8010 / 2] = 0x0;
}
diff --git a/src/mame/drivers/wheelfir.c b/src/mame/drivers/wheelfir.c
index 77f76bc9f3b..bf52bd64964 100644
--- a/src/mame/drivers/wheelfir.c
+++ b/src/mame/drivers/wheelfir.c
@@ -280,6 +280,7 @@ public:
DECLARE_WRITE16_MEMBER(wheelfir_snd_w);
DECLARE_READ16_MEMBER(wheelfir_snd_r);
DECLARE_WRITE16_MEMBER(coin_cnt_w);
+ DECLARE_DRIVER_INIT(wheelfir);
};
@@ -868,9 +869,9 @@ ROM_START( wheelfir )
ROM_LOAD( "tch12.u59",0x380000, 0x80000, CRC(cce2e675) SHA1(f3d8916077b2e057169d0f254005cd959789a3b3) )
ROM_END
-static DRIVER_INIT(wheelfir)
+DRIVER_INIT_MEMBER(wheelfir_state,wheelfir)
{
- UINT16 *RAM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *RAM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
RAM[0xdd3da/2] = 0x4e71; //hack
}
diff --git a/src/mame/drivers/white_mod.c b/src/mame/drivers/white_mod.c
index 29523ead67d..2303771ff00 100644
--- a/src/mame/drivers/white_mod.c
+++ b/src/mame/drivers/white_mod.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(whitestar_mod);
};
@@ -35,7 +37,7 @@ void whitestar_mod_state::machine_reset()
{
}
-static DRIVER_INIT( whitestar_mod )
+DRIVER_INIT_MEMBER(whitestar_mod_state,whitestar_mod)
{
}
diff --git a/src/mame/drivers/whitestar.c b/src/mame/drivers/whitestar.c
index 61aa17cbdf9..d0cd92a52df 100644
--- a/src/mame/drivers/whitestar.c
+++ b/src/mame/drivers/whitestar.c
@@ -46,6 +46,7 @@ public:
DECLARE_READ8_MEMBER(switch_r);
DECLARE_WRITE8_MEMBER(switch_w);
DECLARE_READ8_MEMBER(dedicated_switch_r);
+ DECLARE_DRIVER_INIT(whitestar);
};
static INPUT_PORTS_START( whitestar )
@@ -174,7 +175,7 @@ static MACHINE_RESET( whitestar )
machine.root_device().membank("dmd_bank1")->set_base(machine.root_device().memregion("dmdcpu")->base());
}
-static DRIVER_INIT( whitestar )
+DRIVER_INIT_MEMBER(whitestar_state,whitestar)
{
}
diff --git a/src/mame/drivers/wico.c b/src/mame/drivers/wico.c
index a34bd3c9d55..c31bb876580 100644
--- a/src/mame/drivers/wico.c
+++ b/src/mame/drivers/wico.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(wico);
};
@@ -31,7 +33,7 @@ void wico_state::machine_reset()
{
}
-static DRIVER_INIT( wico )
+DRIVER_INIT_MEMBER(wico_state,wico)
{
}
diff --git a/src/mame/drivers/wildpkr.c b/src/mame/drivers/wildpkr.c
index cd5cfc1989b..42b4354c24a 100644
--- a/src/mame/drivers/wildpkr.c
+++ b/src/mame/drivers/wildpkr.c
@@ -172,6 +172,7 @@ public:
wildpkr_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ DECLARE_DRIVER_INIT(wildpkr);
};
@@ -315,9 +316,9 @@ ROM_END
* Driver Init *
*************************/
-static DRIVER_INIT(wildpkr)
+DRIVER_INIT_MEMBER(wildpkr_state,wildpkr)
{
- //HD63484_start(machine);
+ //HD63484_start(machine());
}
diff --git a/src/mame/drivers/williams.c b/src/mame/drivers/williams.c
index 011222d5678..e90b7832cbd 100644
--- a/src/mame/drivers/williams.c
+++ b/src/mame/drivers/williams.c
@@ -2706,11 +2706,11 @@ ROM_END
*************************************/
#define CONFIGURE_BLITTER(x,c) \
- state->m_blitter_config = x; \
- state->m_blitter_clip_address = c
+ m_blitter_config = x; \
+ m_blitter_clip_address = c
#define CONFIGURE_TILEMAP(x) \
- state->m_williams2_tilemap_config = x
+ m_williams2_tilemap_config = x
@@ -2720,17 +2720,15 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( defender )
+DRIVER_INIT_MEMBER(williams_state,defender)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_NONE, 0x0000);
}
-static DRIVER_INIT( defndjeu )
+DRIVER_INIT_MEMBER(williams_state,defndjeu)
{
- williams_state *state = machine.driver_data<williams_state>();
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
int i;
CONFIGURE_BLITTER(WILLIAMS_BLITTER_NONE, 0x0000);
@@ -2741,13 +2739,12 @@ static DRIVER_INIT( defndjeu )
}
-static DRIVER_INIT( mayday )
+DRIVER_INIT_MEMBER(williams_state,mayday)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_NONE, 0x0000);
/* install a handler to catch protection checks */
- state->m_mayday_protection = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa190, 0xa191, read8_delegate(FUNC(williams_state::mayday_protection_r),state));
+ m_mayday_protection = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xa190, 0xa191, read8_delegate(FUNC(williams_state::mayday_protection_r),this));
}
@@ -2758,102 +2755,90 @@ static DRIVER_INIT( mayday )
*
*************************************/
-static DRIVER_INIT( stargate )
+DRIVER_INIT_MEMBER(williams_state,stargate)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_NONE, 0x0000);
}
-static DRIVER_INIT( robotron )
+DRIVER_INIT_MEMBER(williams_state,robotron)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0xc000);
}
-static DRIVER_INIT( joust )
+DRIVER_INIT_MEMBER(williams_state,joust)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0xc000);
}
-static DRIVER_INIT( bubbles )
+DRIVER_INIT_MEMBER(williams_state,bubbles)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0xc000);
/* bubbles has a full 8-bit-wide CMOS */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xcc00, 0xcfff, write8_delegate(FUNC(williams_state::bubbles_cmos_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xcc00, 0xcfff, write8_delegate(FUNC(williams_state::bubbles_cmos_w),this));
}
-static DRIVER_INIT( splat )
+DRIVER_INIT_MEMBER(williams_state,splat)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC02, 0xc000);
}
-static DRIVER_INIT( sinistar )
+DRIVER_INIT_MEMBER(williams_state,sinistar)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0x7400);
}
-static DRIVER_INIT( playball )
+DRIVER_INIT_MEMBER(williams_state,playball)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0xc000);
}
-static DRIVER_INIT( blaster )
+DRIVER_INIT_MEMBER(williams_state,blaster)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC02, 0x9700);
}
-static DRIVER_INIT( spdball )
+DRIVER_INIT_MEMBER(williams_state,spdball)
{
- williams_state *state = machine.driver_data<williams_state>();
- pia6821_device *pia_3 = machine.device<pia6821_device>("pia_3");
+ pia6821_device *pia_3 = machine().device<pia6821_device>("pia_3");
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0xc000);
/* add a third PIA */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc808, 0xc80b, read8_delegate(FUNC(pia6821_device::read), pia_3), write8_delegate(FUNC(pia6821_device::write), pia_3));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xc808, 0xc80b, read8_delegate(FUNC(pia6821_device::read), pia_3), write8_delegate(FUNC(pia6821_device::write), pia_3));
/* install extra input handlers */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0xc800, 0xc800, "AN0");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0xc801, 0xc801, "AN1");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0xc802, 0xc802, "AN2");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0xc803, 0xc803, "AN3");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0xc800, 0xc800, "AN0");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0xc801, 0xc801, "AN1");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0xc802, 0xc802, "AN2");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_port(0xc803, 0xc803, "AN3");
}
-static DRIVER_INIT( alienar )
+DRIVER_INIT_MEMBER(williams_state,alienar)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0xc000);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xcbff, 0xcbff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xcbff, 0xcbff);
}
-static DRIVER_INIT( alienaru )
+DRIVER_INIT_MEMBER(williams_state,alienaru)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0xc000);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xcbff, 0xcbff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xcbff, 0xcbff);
}
-static DRIVER_INIT( lottofun )
+DRIVER_INIT_MEMBER(williams_state,lottofun)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0xc000);
}
@@ -2865,33 +2850,29 @@ static DRIVER_INIT( lottofun )
*
*************************************/
-static DRIVER_INIT( mysticm )
+DRIVER_INIT_MEMBER(williams_state,mysticm)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC02, 0x9000);
CONFIGURE_TILEMAP(WILLIAMS_TILEMAP_MYSTICM);
}
-static DRIVER_INIT( tshoot )
+DRIVER_INIT_MEMBER(williams_state,tshoot)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC02, 0x9000);
CONFIGURE_TILEMAP(WILLIAMS_TILEMAP_TSHOOT);
}
-static DRIVER_INIT( inferno )
+DRIVER_INIT_MEMBER(williams_state,inferno)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC02, 0x9000);
CONFIGURE_TILEMAP(WILLIAMS_TILEMAP_TSHOOT);
}
-static DRIVER_INIT( joust2 )
+DRIVER_INIT_MEMBER(joust2_state,joust2)
{
- williams_state *state = machine.driver_data<williams_state>();
CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC02, 0x9000);
CONFIGURE_TILEMAP(WILLIAMS_TILEMAP_JOUST2);
}
diff --git a/src/mame/drivers/wink.c b/src/mame/drivers/wink.c
index 2bbb232ce05..d9465458b47 100644
--- a/src/mame/drivers/wink.c
+++ b/src/mame/drivers/wink.c
@@ -38,6 +38,7 @@ public:
DECLARE_READ8_MEMBER(prot_r);
DECLARE_WRITE8_MEMBER(prot_w);
DECLARE_READ8_MEMBER(sound_r);
+ DECLARE_DRIVER_INIT(wink);
};
@@ -408,11 +409,11 @@ ROM_START( winka )
ROM_LOAD( "wink4.bin", 0x4000, 0x2000, CRC(06dd229b) SHA1(9057cf10e9ec4119297c2d40b26f0ce0c1d7b86a) )
ROM_END
-static DRIVER_INIT( wink )
+DRIVER_INIT_MEMBER(wink_state,wink)
{
UINT32 i;
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- UINT8 *buffer = auto_alloc_array(machine, UINT8, 0x8000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ UINT8 *buffer = auto_alloc_array(machine(), UINT8, 0x8000);
// protection module reverse engineered by HIGHWAYMAN
@@ -430,7 +431,7 @@ static DRIVER_INIT( wink )
for (i = 0x6000; i <= 0x7fff; i++)
ROM[i] = buffer[BITSWAP16(i,15,14,13, 11,12, 7, 9, 8,10, 6, 4, 5, 1, 2, 3, 0)];
- auto_free(machine, buffer);
+ auto_free(machine(), buffer);
for (i = 0; i < 0x8000; i++)
ROM[i] += BITSWAP8(i & 0xff, 7,5,3,1,6,4,2,0);
diff --git a/src/mame/drivers/wiping.c b/src/mame/drivers/wiping.c
index 9901991ec16..ee14ff2adf4 100644
--- a/src/mame/drivers/wiping.c
+++ b/src/mame/drivers/wiping.c
@@ -379,5 +379,5 @@ ROM_END
-GAME( 1982, wiping, 0, wiping, wiping, wiping_state, 0, ROT90, "Nichibutsu", "Wiping", 0 )
-GAME( 1983, rugrats, wiping, wiping, rugrats, wiping_state, 0, ROT90, "Nichibutsu", "Rug Rats", 0 )
+GAME( 1982, wiping, 0, wiping, wiping, driver_device, 0, ROT90, "Nichibutsu", "Wiping", 0 )
+GAME( 1983, rugrats, wiping, wiping, rugrats, driver_device, 0, ROT90, "Nichibutsu", "Rug Rats", 0 )
diff --git a/src/mame/drivers/witch.c b/src/mame/drivers/witch.c
index 5e2b1df4f20..85244f25cdd 100644
--- a/src/mame/drivers/witch.c
+++ b/src/mame/drivers/witch.c
@@ -233,6 +233,7 @@ public:
DECLARE_READ8_MEMBER(read_8010);
DECLARE_WRITE8_MEMBER(xscroll_w);
DECLARE_WRITE8_MEMBER(yscroll_w);
+ DECLARE_DRIVER_INIT(witch);
};
@@ -868,14 +869,13 @@ ROM_START( pbchmp95 )
ROM_LOAD( "5.bin", 0x00000, 0x40000, CRC(62e42371) SHA1(5042abc2176d0c35fd6b698eca4145f93b0a3944) )
ROM_END
-static DRIVER_INIT(witch)
+DRIVER_INIT_MEMBER(witch_state,witch)
{
- witch_state *state = machine.driver_data<witch_state>();
- UINT8 *ROM = (UINT8 *)state->memregion("maincpu")->base();
- state->membank("bank1")->set_base(&ROM[0x10000+UNBANKED_SIZE]);
+ UINT8 *ROM = (UINT8 *)memregion("maincpu")->base();
+ membank("bank1")->set_base(&ROM[0x10000+UNBANKED_SIZE]);
- machine.device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x7000, 0x700f, read8_delegate(FUNC(witch_state::prot_read_700x), state));
- state->m_bank = -1;
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x7000, 0x700f, read8_delegate(FUNC(witch_state::prot_read_700x), this));
+ m_bank = -1;
}
GAME( 1992, witch, 0, witch, witch, witch_state, witch, ROT0, "Sega / Vic Tokai", "Witch", 0 )
diff --git a/src/mame/drivers/wiz.c b/src/mame/drivers/wiz.c
index 1170d903ba3..5114553a1cf 100644
--- a/src/mame/drivers/wiz.c
+++ b/src/mame/drivers/wiz.c
@@ -1054,7 +1054,7 @@ ROM_END
-static DRIVER_INIT( stinger )
+DRIVER_INIT_MEMBER(wiz_state,stinger)
{
static const UINT8 swap_xor_table[4][4] =
{
@@ -1063,10 +1063,10 @@ static DRIVER_INIT( stinger )
{ 5,3,7, 0x80 },
{ 5,7,3, 0x28 }
};
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- int size = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, size);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ int size = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, size);
int A;
const UINT8 *tbl;
@@ -1098,16 +1098,15 @@ static DRIVER_INIT( stinger )
}
-static DRIVER_INIT( scion )
+DRIVER_INIT_MEMBER(wiz_state,scion)
{
- machine.device("audiocpu")->memory().space(AS_PROGRAM)->nop_write(0x4000, 0x4001);
+ machine().device("audiocpu")->memory().space(AS_PROGRAM)->nop_write(0x4000, 0x4001);
}
-static DRIVER_INIT( wiz )
+DRIVER_INIT_MEMBER(wiz_state,wiz)
{
- wiz_state *state = machine.driver_data<wiz_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd400, 0xd400, read8_delegate(FUNC(wiz_state::wiz_protection_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xd400, 0xd400, read8_delegate(FUNC(wiz_state::wiz_protection_r),this));
}
@@ -1115,8 +1114,8 @@ GAME( 1983, stinger, 0, stinger, stinger, wiz_state, stinger, ROT90, "S
GAME( 1983, stinger2, stinger, stinger, stinger2, wiz_state, stinger, ROT90, "Seibu Denshi", "Stinger (prototype?)", GAME_IMPERFECT_SOUND )
GAME( 1984, scion, 0, scion, scion, wiz_state, scion, ROT0, "Seibu Denshi", "Scion", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS )
GAME( 1984, scionc, scion, scion, scion, wiz_state, scion, ROT0, "Seibu Denshi (Cinematronics license)", "Scion (Cinematronics)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS )
-GAME( 1984, kungfut, 0, kungfut, kungfut, wiz_state, 0, ROT0, "Seibu Kaihatsu", "Kung-Fu Taikun (set 1)", 0 )
-GAME( 1984, kungfuta, kungfut, kungfut, kungfut, wiz_state, 0, ROT0, "Seibu Kaihatsu", "Kung-Fu Taikun (set 2)" , 0) /* board was a bootleg but set might still be original */
+GAME( 1984, kungfut, 0, kungfut, kungfut, driver_device, 0, ROT0, "Seibu Kaihatsu", "Kung-Fu Taikun (set 1)", 0 )
+GAME( 1984, kungfuta, kungfut, kungfut, kungfut, driver_device, 0, ROT0, "Seibu Kaihatsu", "Kung-Fu Taikun (set 2)" , 0) /* board was a bootleg but set might still be original */
GAME( 1985, wiz, 0, wiz, wiz, wiz_state, wiz, ROT270, "Seibu Kaihatsu", "Wiz", 0 )
GAME( 1985, wizt, wiz, wiz, wiz, wiz_state, wiz, ROT270, "Seibu Kaihatsu (Taito license)", "Wiz (Taito, set 1)", 0 )
GAME( 1985, wizta, wiz, wiz, wiz, wiz_state, wiz, ROT270, "Seibu Kaihatsu (Taito license)", "Wiz (Taito, set 2)", 0 )
diff --git a/src/mame/drivers/wms.c b/src/mame/drivers/wms.c
index b2d36243128..8807688f537 100644
--- a/src/mame/drivers/wms.c
+++ b/src/mame/drivers/wms.c
@@ -22,6 +22,8 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+public:
+ DECLARE_DRIVER_INIT(wms);
};
@@ -370,7 +372,7 @@ ROM_END
-static DRIVER_INIT(wms)
+DRIVER_INIT_MEMBER(wms_state,wms)
{
}
diff --git a/src/mame/drivers/wolfpack.c b/src/mame/drivers/wolfpack.c
index b7449447538..25206a15e3e 100644
--- a/src/mame/drivers/wolfpack.c
+++ b/src/mame/drivers/wolfpack.c
@@ -345,4 +345,4 @@ ROM_START( wolfpack )
ROM_END
-GAME( 1978, wolfpack, 0, wolfpack, wolfpack, wolfpack_state, 0, ORIENTATION_FLIP_Y, "Atari", "Wolf Pack (prototype)", GAME_IMPERFECT_SOUND )
+GAME( 1978, wolfpack, 0, wolfpack, wolfpack, driver_device, 0, ORIENTATION_FLIP_Y, "Atari", "Wolf Pack (prototype)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/wpc_95.c b/src/mame/drivers/wpc_95.c
index 255fb8a2954..d4979ac9252 100644
--- a/src/mame/drivers/wpc_95.c
+++ b/src/mame/drivers/wpc_95.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(wpc_95);
};
@@ -31,7 +33,7 @@ void wpc_95_state::machine_reset()
{
}
-static DRIVER_INIT( wpc_95 )
+DRIVER_INIT_MEMBER(wpc_95_state,wpc_95)
{
}
diff --git a/src/mame/drivers/wpc_an.c b/src/mame/drivers/wpc_an.c
index 6a67a3436cd..8d724079ee0 100644
--- a/src/mame/drivers/wpc_an.c
+++ b/src/mame/drivers/wpc_an.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(wpc_an);
};
@@ -35,7 +37,7 @@ void wpc_an_state::machine_reset()
{
}
-static DRIVER_INIT( wpc_an )
+DRIVER_INIT_MEMBER(wpc_an_state,wpc_an)
{
}
diff --git a/src/mame/drivers/wpc_dcs.c b/src/mame/drivers/wpc_dcs.c
index 2a5ba7d662c..732dcde443f 100644
--- a/src/mame/drivers/wpc_dcs.c
+++ b/src/mame/drivers/wpc_dcs.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(wpc_dcs);
};
@@ -31,7 +33,7 @@ void wpc_dcs_state::machine_reset()
{
}
-static DRIVER_INIT( wpc_dcs )
+DRIVER_INIT_MEMBER(wpc_dcs_state,wpc_dcs)
{
}
diff --git a/src/mame/drivers/wpc_dot.c b/src/mame/drivers/wpc_dot.c
index 7a5c584e721..8e94c8cabf9 100644
--- a/src/mame/drivers/wpc_dot.c
+++ b/src/mame/drivers/wpc_dot.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(wpc_dot);
};
@@ -31,7 +33,7 @@ void wpc_dot_state::machine_reset()
{
}
-static DRIVER_INIT( wpc_dot )
+DRIVER_INIT_MEMBER(wpc_dot_state,wpc_dot)
{
}
diff --git a/src/mame/drivers/wpc_flip1.c b/src/mame/drivers/wpc_flip1.c
index 1b985b6aff0..d49d1fd6ed3 100644
--- a/src/mame/drivers/wpc_flip1.c
+++ b/src/mame/drivers/wpc_flip1.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(wpc_flip1);
};
@@ -31,7 +33,7 @@ void wpc_flip1_state::machine_reset()
{
}
-static DRIVER_INIT( wpc_flip1 )
+DRIVER_INIT_MEMBER(wpc_flip1_state,wpc_flip1)
{
}
diff --git a/src/mame/drivers/wpc_flip2.c b/src/mame/drivers/wpc_flip2.c
index fa57cbb1f38..adea0c0b517 100644
--- a/src/mame/drivers/wpc_flip2.c
+++ b/src/mame/drivers/wpc_flip2.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(wpc_flip2);
};
@@ -31,7 +33,7 @@ void wpc_flip2_state::machine_reset()
{
}
-static DRIVER_INIT( wpc_flip2 )
+DRIVER_INIT_MEMBER(wpc_flip2_state,wpc_flip2)
{
}
diff --git a/src/mame/drivers/wpc_s.c b/src/mame/drivers/wpc_s.c
index e7d0bea7deb..ccfe4acd1ea 100644
--- a/src/mame/drivers/wpc_s.c
+++ b/src/mame/drivers/wpc_s.c
@@ -17,6 +17,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(wpc_s);
};
@@ -31,7 +33,7 @@ void wpc_s_state::machine_reset()
{
}
-static DRIVER_INIT( wpc_s )
+DRIVER_INIT_MEMBER(wpc_s_state,wpc_s)
{
}
diff --git a/src/mame/drivers/wrally.c b/src/mame/drivers/wrally.c
index a43bb0e7a98..1adb78bad6f 100644
--- a/src/mame/drivers/wrally.c
+++ b/src/mame/drivers/wrally.c
@@ -359,6 +359,6 @@ ROM_START( wrallyb ) /* Board Marked 930217, Atari License */
ROM_END
-GAME( 1993, wrally, 0, wrally, wrally, wrally_state, 0, ROT0, "Gaelco", "World Rally (set 1)", 0 ) /* Dallas DS5002FP power failure shows as: "Tension baja " */
-GAME( 1993, wrallya, wrally, wrally, wrally, wrally_state, 0, ROT0, "Gaelco", "World Rally (set 2)", 0 ) /* Dallas DS5002FP power failure shows as: "Power Failure" */
-GAME( 1993, wrallyb, wrally, wrally, wrally, wrally_state, 0, ROT0, "Gaelco (Atari license)", "World Rally (US, 930217)", 0 )
+GAME( 1993, wrally, 0, wrally, wrally, driver_device, 0, ROT0, "Gaelco", "World Rally (set 1)", 0 ) /* Dallas DS5002FP power failure shows as: "Tension baja " */
+GAME( 1993, wrallya, wrally, wrally, wrally, driver_device, 0, ROT0, "Gaelco", "World Rally (set 2)", 0 ) /* Dallas DS5002FP power failure shows as: "Power Failure" */
+GAME( 1993, wrallyb, wrally, wrally, wrally, driver_device, 0, ROT0, "Gaelco (Atari license)", "World Rally (US, 930217)", 0 )
diff --git a/src/mame/drivers/wwfsstar.c b/src/mame/drivers/wwfsstar.c
index 59fce4b3dc4..f03c5afb3ff 100644
--- a/src/mame/drivers/wwfsstar.c
+++ b/src/mame/drivers/wwfsstar.c
@@ -679,7 +679,7 @@ ROM_END
-GAME( 1989, wwfsstar, 0, wwfsstar, wwfsstar, wwfsstar_state, 0, ROT0, "Technos Japan", "WWF Superstars (Europe)", 0 )
-GAME( 1989, wwfsstaru, wwfsstar, wwfsstar, wwfsstar, wwfsstar_state, 0, ROT0, "Technos Japan", "WWF Superstars (US)", 0 )
-GAME( 1989, wwfsstara, wwfsstar, wwfsstar, wwfsstar, wwfsstar_state, 0, ROT0, "Technos Japan", "WWF Superstars (US, Newer)", 0 )
-GAME( 1989, wwfsstarj, wwfsstar, wwfsstar, wwfsstar, wwfsstar_state, 0, ROT0, "Technos Japan", "WWF Superstars (Japan)",GAME_NOT_WORKING ) // missing a program rom
+GAME( 1989, wwfsstar, 0, wwfsstar, wwfsstar, driver_device, 0, ROT0, "Technos Japan", "WWF Superstars (Europe)", 0 )
+GAME( 1989, wwfsstaru, wwfsstar, wwfsstar, wwfsstar, driver_device, 0, ROT0, "Technos Japan", "WWF Superstars (US)", 0 )
+GAME( 1989, wwfsstara, wwfsstar, wwfsstar, wwfsstar, driver_device, 0, ROT0, "Technos Japan", "WWF Superstars (US, Newer)", 0 )
+GAME( 1989, wwfsstarj, wwfsstar, wwfsstar, wwfsstar, driver_device, 0, ROT0, "Technos Japan", "WWF Superstars (Japan)",GAME_NOT_WORKING ) // missing a program rom
diff --git a/src/mame/drivers/wwfwfest.c b/src/mame/drivers/wwfwfest.c
index 68b4940fb83..79eaa86583b 100644
--- a/src/mame/drivers/wwfwfest.c
+++ b/src/mame/drivers/wwfwfest.c
@@ -587,7 +587,7 @@ ROM_START( wwfwfestj )
ROM_LOAD( "31j1.ic2", 0x00000, 0x40000, CRC(82ed7155) SHA1(b338e1150ffe3277c11d4d6e801a7d3bd7c58492) ) /* 2,3 */
ROM_END
-GAME( 1991, wwfwfest, 0, wwfwfest, wwfwfest, wwfwfest_state, 0, ROT0, "Technos Japan", "WWF WrestleFest (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, wwfwfesta, wwfwfest, wwfwfest, wwfwfest, wwfwfest_state, 0, ROT0, "Technos Japan (Tecmo license)", "WWF WrestleFest (US Tecmo)", GAME_SUPPORTS_SAVE )
-GAME( 1991, wwfwfestb, wwfwfest, wwfwfstb, wwfwfest, wwfwfest_state, 0, ROT0, "bootleg", "WWF WrestleFest (US bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1991, wwfwfestj, wwfwfest, wwfwfest, wwfwfest, wwfwfest_state, 0, ROT0, "Technos Japan", "WWF WrestleFest (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, wwfwfest, 0, wwfwfest, wwfwfest, driver_device, 0, ROT0, "Technos Japan", "WWF WrestleFest (US set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, wwfwfesta, wwfwfest, wwfwfest, wwfwfest, driver_device, 0, ROT0, "Technos Japan (Tecmo license)", "WWF WrestleFest (US Tecmo)", GAME_SUPPORTS_SAVE )
+GAME( 1991, wwfwfestb, wwfwfest, wwfwfstb, wwfwfest, driver_device, 0, ROT0, "bootleg", "WWF WrestleFest (US bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1991, wwfwfestj, wwfwfest, wwfwfest, wwfwfest, driver_device, 0, ROT0, "Technos Japan", "WWF WrestleFest (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c
index ef9601244ab..4d4fb60cfa6 100644
--- a/src/mame/drivers/xain.c
+++ b/src/mame/drivers/xain.c
@@ -793,6 +793,6 @@ ROM_START( solarwar )
ROM_END
-GAME( 1986, xsleena, 0, xsleena, xsleena, xain_state, 0, ROT0, "Technos Japan", "Xain'd Sleena", 0 )
-GAME( 1986, xsleenab, xsleena, xsleenab, xsleena, xain_state, 0, ROT0, "bootleg", "Xain'd Sleena (bootleg)", 0 )
-GAME( 1986, solarwar, xsleena, xsleena, xsleena, xain_state, 0, ROT0, "Technos Japan / Taito (Memetron license)", "Solar-Warrior", 0 )
+GAME( 1986, xsleena, 0, xsleena, xsleena, driver_device, 0, ROT0, "Technos Japan", "Xain'd Sleena", 0 )
+GAME( 1986, xsleenab, xsleena, xsleenab, xsleena, driver_device, 0, ROT0, "bootleg", "Xain'd Sleena (bootleg)", 0 )
+GAME( 1986, solarwar, xsleena, xsleena, xsleena, driver_device, 0, ROT0, "Technos Japan / Taito (Memetron license)", "Solar-Warrior", 0 )
diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c
index 5cf93d2b52d..44597a92156 100644
--- a/src/mame/drivers/xexex.c
+++ b/src/mame/drivers/xexex.c
@@ -675,18 +675,17 @@ ROM_START( xexexj ) /* Japan, Version AA */
ROM_END
-static DRIVER_INIT( xexex )
+DRIVER_INIT_MEMBER(xexex_state,xexex)
{
- xexex_state *state = machine.driver_data<xexex_state>();
- state->m_strip_0x1a = 0;
+ m_strip_0x1a = 0;
- if (!strcmp(machine.system().name, "xexex"))
+ if (!strcmp(machine().system().name, "xexex"))
{
// Invulnerability
-// *(UINT16 *)(state->memregion("maincpu")->base() + 0x648d4) = 0x4a79;
-// *(UINT16 *)(state->memregion("maincpu")->base() + 0x00008) = 0x5500;
- state->m_strip_0x1a = 1;
+// *(UINT16 *)(memregion("maincpu")->base() + 0x648d4) = 0x4a79;
+// *(UINT16 *)(memregion("maincpu")->base() + 0x00008) = 0x5500;
+ m_strip_0x1a = 1;
}
}
diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c
index 828f0c1b1f2..25e75464003 100644
--- a/src/mame/drivers/xmen.c
+++ b/src/mame/drivers/xmen.c
@@ -836,13 +836,13 @@ ROM_START( xmen6pu )
ROM_LOAD( "xmen_ucb.nv", 0x0000, 0x0080, CRC(f3d0f682) SHA1(b0d4655c651238ae028ffb59a704acba798f93f8) )
ROM_END
-GAME( 1992, xmen, 0, xmen, xmen, xmen_state, 0, ROT0, "Konami", "X-Men (4 Players ver UBB)", GAME_SUPPORTS_SAVE ) /* Second "version" letter denotes players, A=2 players, D/B=4 players, C=6 players ??? */
-GAME( 1992, xmenj, xmen, xmen, xmen, xmen_state, 0, ROT0, "Konami", "X-Men (4 Players ver JBA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, xmene, xmen, xmen, xmen, xmen_state, 0, ROT0, "Konami", "X-Men (4 Players ver EBA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, xmena, xmen, xmen, xmen, xmen_state, 0, ROT0, "Konami", "X-Men (4 Players ver ADA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, xmen2pe, xmen, xmen, xmen2p, xmen_state, 0, ROT0, "Konami", "X-Men (2 Players ver EAA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, xmen2pa, xmen, xmen, xmen2p, xmen_state, 0, ROT0, "Konami", "X-Men (2 Players ver AAA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, xmen2pj, xmen, xmen, xmen2p, xmen_state, 0, ROT0, "Konami", "X-Men (2 Players ver JAA)", GAME_SUPPORTS_SAVE )
-
-GAME( 1992, xmen6p, xmen, xmen6p, xmen6p, xmen_state, 0, ROT0, "Konami", "X-Men (6 Players ver ECB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, xmen6pu, xmen, xmen6p, xmen6p, xmen_state, 0, ROT0, "Konami", "X-Men (6 Players ver UCB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, xmen, 0, xmen, xmen, driver_device, 0, ROT0, "Konami", "X-Men (4 Players ver UBB)", GAME_SUPPORTS_SAVE ) /* Second "version" letter denotes players, A=2 players, D/B=4 players, C=6 players ??? */
+GAME( 1992, xmenj, xmen, xmen, xmen, driver_device, 0, ROT0, "Konami", "X-Men (4 Players ver JBA)", GAME_SUPPORTS_SAVE )
+GAME( 1992, xmene, xmen, xmen, xmen, driver_device, 0, ROT0, "Konami", "X-Men (4 Players ver EBA)", GAME_SUPPORTS_SAVE )
+GAME( 1992, xmena, xmen, xmen, xmen, driver_device, 0, ROT0, "Konami", "X-Men (4 Players ver ADA)", GAME_SUPPORTS_SAVE )
+GAME( 1992, xmen2pe, xmen, xmen, xmen2p, driver_device, 0, ROT0, "Konami", "X-Men (2 Players ver EAA)", GAME_SUPPORTS_SAVE )
+GAME( 1992, xmen2pa, xmen, xmen, xmen2p, driver_device, 0, ROT0, "Konami", "X-Men (2 Players ver AAA)", GAME_SUPPORTS_SAVE )
+GAME( 1992, xmen2pj, xmen, xmen, xmen2p, driver_device, 0, ROT0, "Konami", "X-Men (2 Players ver JAA)", GAME_SUPPORTS_SAVE )
+
+GAME( 1992, xmen6p, xmen, xmen6p, xmen6p, driver_device, 0, ROT0, "Konami", "X-Men (6 Players ver ECB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, xmen6pu, xmen, xmen6p, xmen6p, driver_device, 0, ROT0, "Konami", "X-Men (6 Players ver UCB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/xorworld.c b/src/mame/drivers/xorworld.c
index 2b871810ecf..65da3db62c1 100644
--- a/src/mame/drivers/xorworld.c
+++ b/src/mame/drivers/xorworld.c
@@ -221,12 +221,12 @@ ROM_END
#define PATCH(data) *rom = data; rom++
-static DRIVER_INIT( xorworld )
+DRIVER_INIT_MEMBER(xorworld_state,xorworld)
{
/* patch some strange protection (without this, strange characters appear
after level 5 and some pieces don't rotate properly some times) */
- UINT16 *rom = (UINT16 *)(machine.root_device().memregion("maincpu")->base() + 0x1390);
+ UINT16 *rom = (UINT16 *)(machine().root_device().memregion("maincpu")->base() + 0x1390);
PATCH(0x4239); PATCH(0x00ff); PATCH(0xe196); /* clr.b $ffe196 */
PATCH(0x4239); PATCH(0x00ff); PATCH(0xe197); /* clr.b $ffe197 */
diff --git a/src/mame/drivers/xtheball.c b/src/mame/drivers/xtheball.c
index 9ab2e1b15ab..82640aa725e 100644
--- a/src/mame/drivers/xtheball.c
+++ b/src/mame/drivers/xtheball.c
@@ -388,4 +388,4 @@ ROM_END
*
*************************************/
-GAME( 1991, xtheball, 0, xtheball, xtheball, xtheball_state, 0, ROT0, "Rare", "X the Ball", 0 )
+GAME( 1991, xtheball, 0, xtheball, xtheball, driver_device, 0, ROT0, "Rare", "X the Ball", 0 )
diff --git a/src/mame/drivers/xtom3d.c b/src/mame/drivers/xtom3d.c
index 0b28a2a7ca8..bf97f0d32da 100644
--- a/src/mame/drivers/xtom3d.c
+++ b/src/mame/drivers/xtom3d.c
@@ -724,4 +724,4 @@ ROM_START( xtom3d )
ROM_END
-GAME(1999, xtom3d, 0, xtom3d, at_keyboard, xtom3d_state, 0, ROT0, "Jamie System Development", "X Tom 3D", GAME_IS_SKELETON)
+GAME(1999, xtom3d, 0, xtom3d, at_keyboard, driver_device, 0, ROT0, "Jamie System Development", "X Tom 3D", GAME_IS_SKELETON)
diff --git a/src/mame/drivers/xxmissio.c b/src/mame/drivers/xxmissio.c
index 3680faebf0a..6d49dc4ce71 100644
--- a/src/mame/drivers/xxmissio.c
+++ b/src/mame/drivers/xxmissio.c
@@ -352,4 +352,4 @@ ROM_START( xxmissio )
ROM_LOAD16_BYTE( "xx11.4b", 0x0001, 0x8000, CRC(d9dd827c) SHA1(aea3a5abd871adf7f75ad4d6cc57eff0833135c7) )
ROM_END
-GAME( 1986, xxmissio, 0, xxmissio, xxmissio, xxmissio_state, 0, ROT90, "UPL", "XX Mission", 0 )
+GAME( 1986, xxmissio, 0, xxmissio, xxmissio, driver_device, 0, ROT90, "UPL", "XX Mission", 0 )
diff --git a/src/mame/drivers/xybots.c b/src/mame/drivers/xybots.c
index 6d4104767a7..c10561bc7e3 100644
--- a/src/mame/drivers/xybots.c
+++ b/src/mame/drivers/xybots.c
@@ -389,12 +389,11 @@ ROM_END
*
*************************************/
-static DRIVER_INIT( xybots )
+DRIVER_INIT_MEMBER(xybots_state,xybots)
{
- xybots_state *state = machine.driver_data<xybots_state>();
- state->m_h256 = 0x0400;
- atarigen_slapstic_init(machine.device("maincpu"), 0x008000, 0, 107);
- atarijsa_init(machine, "FFE200", 0x0100);
+ m_h256 = 0x0400;
+ atarigen_slapstic_init(machine().device("maincpu"), 0x008000, 0, 107);
+ atarijsa_init(machine(), "FFE200", 0x0100);
}
diff --git a/src/mame/drivers/xyonix.c b/src/mame/drivers/xyonix.c
index 478b1a8db5c..c68acf5d4bf 100644
--- a/src/mame/drivers/xyonix.c
+++ b/src/mame/drivers/xyonix.c
@@ -261,4 +261,4 @@ ROM_END
/* GAME drivers **************************************************************/
-GAME( 1989, xyonix, 0, xyonix, xyonix, xyonix_state, 0, ROT0, "Philko", "Xyonix", 0 )
+GAME( 1989, xyonix, 0, xyonix, xyonix, driver_device, 0, ROT0, "Philko", "Xyonix", 0 )
diff --git a/src/mame/drivers/yiear.c b/src/mame/drivers/yiear.c
index 7014c152946..136e7ec476d 100644
--- a/src/mame/drivers/yiear.c
+++ b/src/mame/drivers/yiear.c
@@ -366,5 +366,5 @@ ROM_END
-GAME( 1985, yiear, 0, yiear, yiear, yiear_state, 0, ROT0, "Konami", "Yie Ar Kung-Fu (program code I)", GAME_SUPPORTS_SAVE )
-GAME( 1985, yiear2, yiear, yiear, yiear, yiear_state, 0, ROT0, "Konami", "Yie Ar Kung-Fu (program code G)", GAME_SUPPORTS_SAVE )
+GAME( 1985, yiear, 0, yiear, yiear, driver_device, 0, ROT0, "Konami", "Yie Ar Kung-Fu (program code I)", GAME_SUPPORTS_SAVE )
+GAME( 1985, yiear2, yiear, yiear, yiear, driver_device, 0, ROT0, "Konami", "Yie Ar Kung-Fu (program code G)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/yunsun16.c b/src/mame/drivers/yunsun16.c
index 016564d8a09..067f5420742 100644
--- a/src/mame/drivers/yunsun16.c
+++ b/src/mame/drivers/yunsun16.c
@@ -153,11 +153,10 @@ number 0 on each voice. That sample is 00000-00000.
}
}
-static DRIVER_INIT( magicbub )
+DRIVER_INIT_MEMBER(yunsun16_state,magicbub)
{
// remove_mem_write16_handler (0, 0x800180, 0x800181 );
- yunsun16_state *state = machine.driver_data<yunsun16_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x800188, 0x800189, write16_delegate(FUNC(yunsun16_state::magicbub_sound_command_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x800188, 0x800189, write16_delegate(FUNC(yunsun16_state::magicbub_sound_command_w),this));
}
/***************************************************************************
@@ -955,7 +954,7 @@ ROM_END
GAME( 199?, magicbub, 0, magicbub, magicbub, yunsun16_state, magicbub, ROT0, "Yun Sung", "Magic Bubble", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 199?, magicbuba, magicbub, magicbub, magicbua, yunsun16_state, magicbub, ROT0, "Yun Sung", "Magic Bubble (Adult version)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, paprazzi, 0, shocking, paprazzi, yunsun16_state, 0, ROT270, "Yun Sung", "Paparazzi", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1997, shocking, 0, shocking, shocking, yunsun16_state, 0, ROT0, "Yun Sung", "Shocking", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1997, shockingk, shocking, shocking, shocking, yunsun16_state, 0, ROT0, "Yun Sung", "Shocking (Korea)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1998, bombkick, 0, shocking, bombkick, yunsun16_state, 0, ROT0, "Yun Sung", "Bomb Kick", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1996, paprazzi, 0, shocking, paprazzi, driver_device, 0, ROT270, "Yun Sung", "Paparazzi", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1997, shocking, 0, shocking, shocking, driver_device, 0, ROT0, "Yun Sung", "Shocking", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1997, shockingk, shocking, shocking, shocking, driver_device, 0, ROT0, "Yun Sung", "Shocking (Korea)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1998, bombkick, 0, shocking, bombkick, driver_device, 0, ROT0, "Yun Sung", "Bomb Kick", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/yunsung8.c b/src/mame/drivers/yunsung8.c
index 524426e580e..6a0fd976e71 100644
--- a/src/mame/drivers/yunsung8.c
+++ b/src/mame/drivers/yunsung8.c
@@ -697,7 +697,7 @@ ROM_END
***************************************************************************/
-GAME( 1995, cannball, 0, yunsung8, cannball, yunsung8_state, 0, ROT0, "Yun Sung / Soft Vision", "Cannon Ball (Yun Sung) (horizontal)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, cannballv, cannball, yunsung8, cannbalv, yunsung8_state, 0, ROT270, "Yun Sung / T&K", "Cannon Ball (Yun Sung) (vertical)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, magix, 0, yunsung8, magix, yunsung8_state, 0, ROT0, "Yun Sung", "Magix / Rock", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1994?, rocktris, 0, yunsung8, rocktris, yunsung8_state, 0, ROT0, "Yun Sung", "Rock Tris", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, cannball, 0, yunsung8, cannball, driver_device, 0, ROT0, "Yun Sung / Soft Vision", "Cannon Ball (Yun Sung) (horizontal)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, cannballv, cannball, yunsung8, cannbalv, driver_device, 0, ROT270, "Yun Sung / T&K", "Cannon Ball (Yun Sung) (vertical)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, magix, 0, yunsung8, magix, driver_device, 0, ROT0, "Yun Sung", "Magix / Rock", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1994?, rocktris, 0, yunsung8, rocktris, driver_device, 0, ROT0, "Yun Sung", "Rock Tris", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/zac2650.c b/src/mame/drivers/zac2650.c
index 750c6837a7d..46a0cc563cc 100644
--- a/src/mame/drivers/zac2650.c
+++ b/src/mame/drivers/zac2650.c
@@ -311,6 +311,6 @@ ROM_START( dodgem )
ROM_END
-GAME( 1978, sia2650, 0, tinvader, sinvader, zac2650_state, 0, ROT270, "Zaccaria / Zelco", "Super Invader Attack", 0 )
-GAMEL(1978, tinv2650, sia2650, tinvader, tinvader, zac2650_state, 0, ROT270, "Zaccaria / Zelco", "The Invaders", 0, layout_tinv2650 )
-GAME( 1979, dodgem, 0, tinvader, dodgem, zac2650_state, 0, ROT0, "Zaccaria", "Dodgem", 0 )
+GAME( 1978, sia2650, 0, tinvader, sinvader, driver_device, 0, ROT270, "Zaccaria / Zelco", "Super Invader Attack", 0 )
+GAMEL(1978, tinv2650, sia2650, tinvader, tinvader, driver_device, 0, ROT270, "Zaccaria / Zelco", "The Invaders", 0, layout_tinv2650 )
+GAME( 1979, dodgem, 0, tinvader, dodgem, driver_device, 0, ROT0, "Zaccaria", "Dodgem", 0 )
diff --git a/src/mame/drivers/zac_1.c b/src/mame/drivers/zac_1.c
index 991415f79bb..1915a0caa2c 100644
--- a/src/mame/drivers/zac_1.c
+++ b/src/mame/drivers/zac_1.c
@@ -21,6 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(zac_1);
};
@@ -35,7 +37,7 @@ void zac_1_state::machine_reset()
{
}
-static DRIVER_INIT( zac_1 )
+DRIVER_INIT_MEMBER(zac_1_state,zac_1)
{
}
diff --git a/src/mame/drivers/zac_2.c b/src/mame/drivers/zac_2.c
index bac080290e0..39fb1fd8ab8 100644
--- a/src/mame/drivers/zac_2.c
+++ b/src/mame/drivers/zac_2.c
@@ -21,7 +21,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
-
+public:
+ DECLARE_DRIVER_INIT(zac_2);
};
@@ -36,7 +37,7 @@ void zac_2_state::machine_reset()
{
}
-static DRIVER_INIT( zac_2 )
+DRIVER_INIT_MEMBER(zac_2_state,zac_2)
{
}
diff --git a/src/mame/drivers/zac_proto.c b/src/mame/drivers/zac_proto.c
index 3e625fcf432..fb19f9fa7ce 100644
--- a/src/mame/drivers/zac_proto.c
+++ b/src/mame/drivers/zac_proto.c
@@ -20,6 +20,8 @@ protected:
// driver_device overrides
virtual void machine_reset();
+public:
+ DECLARE_DRIVER_INIT(zac_proto);
};
@@ -34,7 +36,7 @@ void zac_proto_state::machine_reset()
{
}
-static DRIVER_INIT( zac_proto )
+DRIVER_INIT_MEMBER(zac_proto_state,zac_proto)
{
}
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index 366d43acfed..d738548d7c6 100644
--- a/src/mame/drivers/zaccaria.c
+++ b/src/mame/drivers/zaccaria.c
@@ -788,7 +788,7 @@ ROM_END
-GAME( 1983, monymony, 0, zaccaria, monymony, zaccaria_state, 0, ROT90, "Zaccaria", "Money Money", GAME_IMPERFECT_SOUND )
-GAME( 1984, jackrabt, 0, zaccaria, jackrabt, zaccaria_state, 0, ROT90, "Zaccaria", "Jack Rabbit (set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1984, jackrabt2, jackrabt, zaccaria, jackrabt, zaccaria_state, 0, ROT90, "Zaccaria", "Jack Rabbit (set 2)", GAME_IMPERFECT_SOUND )
-GAME( 1984, jackrabts, jackrabt, zaccaria, jackrabt, zaccaria_state, 0, ROT90, "Zaccaria", "Jack Rabbit (special)", GAME_IMPERFECT_SOUND )
+GAME( 1983, monymony, 0, zaccaria, monymony, driver_device, 0, ROT90, "Zaccaria", "Money Money", GAME_IMPERFECT_SOUND )
+GAME( 1984, jackrabt, 0, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (set 1)", GAME_IMPERFECT_SOUND )
+GAME( 1984, jackrabt2, jackrabt, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (set 2)", GAME_IMPERFECT_SOUND )
+GAME( 1984, jackrabts, jackrabt, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (special)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/zaxxon.c b/src/mame/drivers/zaxxon.c
index 5514cbab281..cd7b1611976 100644
--- a/src/mame/drivers/zaxxon.c
+++ b/src/mame/drivers/zaxxon.c
@@ -1548,30 +1548,29 @@ static void zaxxonj_decode(running_machine &machine, const char *cputag)
*
*************************************/
-static DRIVER_INIT( zaxxonj )
+DRIVER_INIT_MEMBER(zaxxon_state,zaxxonj)
{
- zaxxonj_decode(machine, "maincpu");
+ zaxxonj_decode(machine(), "maincpu");
}
-static DRIVER_INIT( szaxxon )
+DRIVER_INIT_MEMBER(zaxxon_state,szaxxon)
{
- szaxxon_decode(machine, "maincpu");
+ szaxxon_decode(machine(), "maincpu");
}
-static DRIVER_INIT( futspy )
+DRIVER_INIT_MEMBER(zaxxon_state,futspy)
{
- futspy_decode(machine, "maincpu");
+ futspy_decode(machine(), "maincpu");
}
-static DRIVER_INIT( razmataz )
+DRIVER_INIT_MEMBER(zaxxon_state,razmataz)
{
- zaxxon_state *state = machine.driver_data<zaxxon_state>();
- address_space *pgmspace = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *pgmspace = machine().device("maincpu")->memory().space(AS_PROGRAM);
- nprinces_decode(machine, "maincpu");
+ nprinces_decode(machine(), "maincpu");
/* additional input ports are wired */
pgmspace->install_read_port(0xc004, 0xc004, 0, 0x18f3, "SW04");
@@ -1579,11 +1578,11 @@ static DRIVER_INIT( razmataz )
pgmspace->install_read_port(0xc00c, 0xc00c, 0, 0x18f3, "SW0C");
/* unknown behavior expected here */
- pgmspace->install_read_handler(0xc80a, 0xc80a, read8_delegate(FUNC(zaxxon_state::razmataz_counter_r),state));
+ pgmspace->install_read_handler(0xc80a, 0xc80a, read8_delegate(FUNC(zaxxon_state::razmataz_counter_r),this));
/* additional state saving */
- state->save_item(NAME(state->m_razmataz_dial_pos));
- state->save_item(NAME(state->m_razmataz_counter));
+ save_item(NAME(m_razmataz_dial_pos));
+ save_item(NAME(m_razmataz_counter));
}
@@ -1595,9 +1594,9 @@ static DRIVER_INIT( razmataz )
*************************************/
/* these games run on standard Zaxxon hardware */
-GAME( 1982, zaxxon, 0, zaxxon, zaxxon, zaxxon_state, 0, ROT90, "Sega", "Zaxxon (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, zaxxon2, zaxxon, zaxxon, zaxxon, zaxxon_state, 0, ROT90, "Sega", "Zaxxon (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, zaxxon3, zaxxon, zaxxon, zaxxon, zaxxon_state, 0, ROT90, "Sega", "Zaxxon (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, zaxxon, 0, zaxxon, zaxxon, driver_device, 0, ROT90, "Sega", "Zaxxon (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, zaxxon2, zaxxon, zaxxon, zaxxon, driver_device, 0, ROT90, "Sega", "Zaxxon (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, zaxxon3, zaxxon, zaxxon, zaxxon, driver_device, 0, ROT90, "Sega", "Zaxxon (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1982, zaxxonj, zaxxon, zaxxon, zaxxon, zaxxon_state, zaxxonj, ROT90, "Sega", "Zaxxon (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1982, zaxxonb, zaxxon, zaxxon, zaxxon, zaxxon_state, zaxxonj, ROT90, "bootleg", "Jackson", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
@@ -1614,6 +1613,6 @@ GAME( 1983, ixion, 0, razmataz, ixion, zaxxon_state, szaxxon, ROT270
/* these games run on a slightly newer Zaxxon hardware with more ROM space and a */
/* custom sprite DMA chip */
-GAME( 1983, congo, 0, congo, congo, zaxxon_state, 0, ROT90, "Sega", "Congo Bongo (Rev C, 2 board stack)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, congoa, congo, congo, congo, zaxxon_state, 0, ROT90, "Sega", "Congo Bongo (Rev C, 3 board stack)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, tiptop, congo, congo, congo, zaxxon_state, 0, ROT90, "Sega", "Tip Top (3 board stack)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, congo, 0, congo, congo, driver_device, 0, ROT90, "Sega", "Congo Bongo (Rev C, 2 board stack)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, congoa, congo, congo, congo, driver_device, 0, ROT90, "Sega", "Congo Bongo (Rev C, 3 board stack)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, tiptop, congo, congo, congo, driver_device, 0, ROT90, "Sega", "Tip Top (3 board stack)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/zerozone.c b/src/mame/drivers/zerozone.c
index c80c02d0025..85fffddf624 100644
--- a/src/mame/drivers/zerozone.c
+++ b/src/mame/drivers/zerozone.c
@@ -236,5 +236,5 @@ ROM_START( lvgirl94 )
ROM_END
-GAME( 1993, zerozone, 0, zerozone, zerozone, zerozone_state, 0, ROT0, "Comad", "Zero Zone", GAME_SUPPORTS_SAVE )
-GAME( 1994, lvgirl94, 0, zerozone, zerozone, zerozone_state, 0, ROT0, "Comad", "Las Vegas Girl (Girl '94)", GAME_SUPPORTS_SAVE )
+GAME( 1993, zerozone, 0, zerozone, zerozone, driver_device, 0, ROT0, "Comad", "Zero Zone", GAME_SUPPORTS_SAVE )
+GAME( 1994, lvgirl94, 0, zerozone, zerozone, driver_device, 0, ROT0, "Comad", "Las Vegas Girl (Girl '94)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c
index d964a33a99f..3c6d8331edc 100644
--- a/src/mame/drivers/zn.c
+++ b/src/mame/drivers/zn.c
@@ -95,6 +95,17 @@ public:
DECLARE_READ32_MEMBER(jdredd_idestat_r);
DECLARE_READ32_MEMBER(jdredd_ide_r);
DECLARE_WRITE32_MEMBER(jdredd_ide_w);
+ DECLARE_DRIVER_INIT(coh1001l);
+ DECLARE_DRIVER_INIT(bam2);
+ DECLARE_DRIVER_INIT(coh3002c);
+ DECLARE_DRIVER_INIT(coh1002v);
+ DECLARE_DRIVER_INIT(coh1002e);
+ DECLARE_DRIVER_INIT(coh1000ta);
+ DECLARE_DRIVER_INIT(coh1000tb);
+ DECLARE_DRIVER_INIT(coh1002m);
+ DECLARE_DRIVER_INIT(coh1000a);
+ DECLARE_DRIVER_INIT(coh1000c);
+ DECLARE_DRIVER_INIT(coh1000w);
};
INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... )
@@ -708,26 +719,25 @@ WRITE32_MEMBER(zn_state::zn_qsound_w)
cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
}
-static DRIVER_INIT( coh1000c )
+DRIVER_INIT_MEMBER(zn_state,coh1000c)
{
- zn_state *state = machine.driver_data<zn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f3fffff, "bank1" ); /* fixed game rom */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f400000, 0x1f7fffff, "bank2" ); /* banked game rom */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00003, write32_delegate(FUNC(zn_state::bank_coh1000c_w),state)); /* bankswitch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fb40010, 0x1fb40013, read32_delegate(FUNC(zn_state::capcom_kickharness_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fb40020, 0x1fb40023, read32_delegate(FUNC(zn_state::capcom_kickharness_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1fb80000, 0x1fbfffff, "bank3" ); /* country rom */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb60000, 0x1fb60003, write32_delegate(FUNC(zn_state::zn_qsound_w),state));
-
- zn_driver_init(machine);
-
- if( strcmp( machine.system().name, "glpracr" ) == 0 ||
- strcmp( machine.system().name, "glpracr2l" ) == 0 )
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f3fffff, "bank1" ); /* fixed game rom */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f400000, 0x1f7fffff, "bank2" ); /* banked game rom */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00003, write32_delegate(FUNC(zn_state::bank_coh1000c_w),this)); /* bankswitch */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fb40010, 0x1fb40013, read32_delegate(FUNC(zn_state::capcom_kickharness_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fb40020, 0x1fb40023, read32_delegate(FUNC(zn_state::capcom_kickharness_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1fb80000, 0x1fbfffff, "bank3" ); /* country rom */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb60000, 0x1fb60003, write32_delegate(FUNC(zn_state::zn_qsound_w),this));
+
+ zn_driver_init(machine());
+
+ if( strcmp( machine().system().name, "glpracr" ) == 0 ||
+ strcmp( machine().system().name, "glpracr2l" ) == 0 )
{
/* disable:
the QSound CPU for glpracr as it doesn't have any roms &
the link cpu for glprac2l as the h/w is not emulated yet. */
- machine.device<cpu_device>( "audiocpu" )->suspend(SUSPEND_REASON_DISABLE, 1 );
+ machine().device<cpu_device>( "audiocpu" )->suspend(SUSPEND_REASON_DISABLE, 1 );
}
}
@@ -926,18 +936,17 @@ WRITE32_MEMBER(zn_state::bank_coh3002c_w)
membank( "bank2" )->set_base( memregion( "user2" )->base() + 0x400000 + ( data * 0x400000 ) );
}
-static DRIVER_INIT( coh3002c )
+DRIVER_INIT_MEMBER(zn_state,coh3002c)
{
- zn_state *state = machine.driver_data<zn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f3fffff, "bank1" ); /* fixed game rom */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f400000, 0x1f7fffff, "bank2" ); /* banked game rom */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fb40010, 0x1fb40013, read32_delegate(FUNC(zn_state::capcom_kickharness_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fb40020, 0x1fb40023, read32_delegate(FUNC(zn_state::capcom_kickharness_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00003, write32_delegate(FUNC(zn_state::bank_coh3002c_w),state)); /* bankswitch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1fb80000, 0x1fbfffff, "bank3" ); /* country rom */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb60000, 0x1fb60003, write32_delegate(FUNC(zn_state::zn_qsound_w),state));
-
- zn_driver_init(machine);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f3fffff, "bank1" ); /* fixed game rom */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f400000, 0x1f7fffff, "bank2" ); /* banked game rom */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fb40010, 0x1fb40013, read32_delegate(FUNC(zn_state::capcom_kickharness_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fb40020, 0x1fb40023, read32_delegate(FUNC(zn_state::capcom_kickharness_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00003, write32_delegate(FUNC(zn_state::bank_coh3002c_w),this)); /* bankswitch */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1fb80000, 0x1fbfffff, "bank3" ); /* country rom */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb60000, 0x1fb60003, write32_delegate(FUNC(zn_state::zn_qsound_w),this));
+
+ zn_driver_init(machine());
}
static MACHINE_RESET( coh3002c )
@@ -1213,18 +1222,17 @@ WRITE32_MEMBER(zn_state::taitofx1a_ymsound_w)
}
}
-static DRIVER_INIT( coh1000ta )
+DRIVER_INIT_MEMBER(zn_state,coh1000ta)
{
- zn_state *state = machine.driver_data<zn_state>();
- state->m_taitofx1_eeprom_size1 = 0x200; state->m_taitofx1_eeprom1 = auto_alloc_array( machine, UINT8, state->m_taitofx1_eeprom_size1 );
- machine.device<nvram_device>("eeprom1")->set_base(state->m_taitofx1_eeprom1, state->m_taitofx1_eeprom_size1);
+ m_taitofx1_eeprom_size1 = 0x200; m_taitofx1_eeprom1 = auto_alloc_array( machine(), UINT8, m_taitofx1_eeprom_size1 );
+ machine().device<nvram_device>("eeprom1")->set_base(m_taitofx1_eeprom1, m_taitofx1_eeprom_size1);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f7fffff, "bank1" ); /* banked game rom */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1fb40000, 0x1fb40003, write32_delegate(FUNC(zn_state::bank_coh1000t_w),state)); /* bankswitch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1fb80000, 0x1fb80003, read32_delegate(FUNC(zn_state::taitofx1a_ymsound_r),state), write32_delegate(FUNC(zn_state::taitofx1a_ymsound_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_bank( 0x1fbe0000, 0x1fbe0000 + ( state->m_taitofx1_eeprom_size1 - 1 ), "bank2" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f7fffff, "bank1" ); /* banked game rom */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1fb40000, 0x1fb40003, write32_delegate(FUNC(zn_state::bank_coh1000t_w),this)); /* bankswitch */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1fb80000, 0x1fb80003, read32_delegate(FUNC(zn_state::taitofx1a_ymsound_r),this), write32_delegate(FUNC(zn_state::taitofx1a_ymsound_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_bank( 0x1fbe0000, 0x1fbe0000 + ( m_taitofx1_eeprom_size1 - 1 ), "bank2" );
- zn_driver_init(machine);
+ zn_driver_init(machine());
}
static MACHINE_RESET( coh1000ta )
@@ -1300,25 +1308,24 @@ READ32_MEMBER(zn_state::taitofx1b_sound_r)
return data;
}
-static DRIVER_INIT( coh1000tb )
+DRIVER_INIT_MEMBER(zn_state,coh1000tb)
{
- zn_state *state = machine.driver_data<zn_state>();
- state->m_taitofx1_eeprom_size1 = 0x400; state->m_taitofx1_eeprom1 = auto_alloc_array( machine, UINT8, state->m_taitofx1_eeprom_size1 );
- state->m_taitofx1_eeprom_size2 = 0x200; state->m_taitofx1_eeprom2 = auto_alloc_array( machine, UINT8, state->m_taitofx1_eeprom_size2 );
+ m_taitofx1_eeprom_size1 = 0x400; m_taitofx1_eeprom1 = auto_alloc_array( machine(), UINT8, m_taitofx1_eeprom_size1 );
+ m_taitofx1_eeprom_size2 = 0x200; m_taitofx1_eeprom2 = auto_alloc_array( machine(), UINT8, m_taitofx1_eeprom_size2 );
- machine.device<nvram_device>("eeprom1")->set_base(state->m_taitofx1_eeprom1, state->m_taitofx1_eeprom_size1);
- machine.device<nvram_device>("eeprom2")->set_base(state->m_taitofx1_eeprom2, state->m_taitofx1_eeprom_size2);
+ machine().device<nvram_device>("eeprom1")->set_base(m_taitofx1_eeprom1, m_taitofx1_eeprom_size1);
+ machine().device<nvram_device>("eeprom2")->set_base(m_taitofx1_eeprom2, m_taitofx1_eeprom_size2);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f7fffff, "bank1" ); /* banked game rom */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_bank( 0x1fb00000, 0x1fb00000 + ( state->m_taitofx1_eeprom_size1 - 1 ), "bank2" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1fb40000, 0x1fb40003, write32_delegate(FUNC(zn_state::bank_coh1000t_w),state)); /* bankswitch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1fb80000, 0x1fb8ffff, write32_delegate(FUNC(zn_state::taitofx1b_volume_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1fba0000, 0x1fbaffff, write32_delegate(FUNC(zn_state::taitofx1b_sound_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fbc0000, 0x1fbc0003, read32_delegate(FUNC(zn_state::taitofx1b_sound_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_bank( 0x1fbe0000, 0x1fbe0000 + ( state->m_taitofx1_eeprom_size2 - 1 ), "bank3" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f7fffff, "bank1" ); /* banked game rom */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_bank( 0x1fb00000, 0x1fb00000 + ( m_taitofx1_eeprom_size1 - 1 ), "bank2" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1fb40000, 0x1fb40003, write32_delegate(FUNC(zn_state::bank_coh1000t_w),this)); /* bankswitch */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1fb80000, 0x1fb8ffff, write32_delegate(FUNC(zn_state::taitofx1b_volume_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1fba0000, 0x1fbaffff, write32_delegate(FUNC(zn_state::taitofx1b_sound_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fbc0000, 0x1fbc0003, read32_delegate(FUNC(zn_state::taitofx1b_sound_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_bank( 0x1fbe0000, 0x1fbe0000 + ( m_taitofx1_eeprom_size2 - 1 ), "bank3" );
- zn_driver_init(machine);
+ zn_driver_init(machine());
}
static MACHINE_RESET( coh1000tb )
@@ -1495,17 +1502,17 @@ static void atpsx_dma_write( zn_state *state, UINT32 n_address, INT32 n_size )
logerror("DMA write from %08x for %d bytes\n", n_address, n_size<<2);
}
-static DRIVER_INIT( coh1000w )
+DRIVER_INIT_MEMBER(zn_state,coh1000w)
{
- device_t *ide = machine.device("ide");
+ device_t *ide = machine().device("ide");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f1fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write ( 0x1f000000, 0x1f000003);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler( *ide, 0x1f7e4000, 0x1f7e4fff, FUNC(ide_controller32_r), FUNC(ide_controller32_w) );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite ( 0x1f7e8000, 0x1f7e8003);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler( *ide, 0x1f7f4000, 0x1f7f4fff, FUNC(ide_controller32_r), FUNC(ide_controller32_w) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f1fffff, "bank1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write ( 0x1f000000, 0x1f000003);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler( *ide, 0x1f7e4000, 0x1f7e4fff, FUNC(ide_controller32_r), FUNC(ide_controller32_w) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite ( 0x1f7e8000, 0x1f7e8003);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler( *ide, 0x1f7f4000, 0x1f7f4fff, FUNC(ide_controller32_r), FUNC(ide_controller32_w) );
- zn_driver_init(machine);
+ zn_driver_init(machine());
}
static MACHINE_RESET( coh1000w )
@@ -1686,14 +1693,13 @@ WRITE32_MEMBER(zn_state::coh1002e_latch_w)
soundlatch_byte_w(space, 0, data);
}
-static DRIVER_INIT( coh1002e )
+DRIVER_INIT_MEMBER(zn_state,coh1002e)
{
- zn_state *state = machine.driver_data<zn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f7fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fa10300, 0x1fa10303, write32_delegate(FUNC(zn_state::coh1002e_bank_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00007, write32_delegate(FUNC(zn_state::coh1002e_latch_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f7fffff, "bank1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fa10300, 0x1fa10303, write32_delegate(FUNC(zn_state::coh1002e_bank_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00007, write32_delegate(FUNC(zn_state::coh1002e_latch_w),this));
- zn_driver_init(machine);
+ zn_driver_init(machine());
}
static MACHINE_RESET( coh1002e )
@@ -1827,17 +1833,16 @@ READ32_MEMBER(zn_state::bam2_unk_r)
return 0;
}
-static DRIVER_INIT( bam2 )
+DRIVER_INIT_MEMBER(zn_state,bam2)
{
- zn_state *state = machine.driver_data<zn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f3fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f400000, 0x1f7fffff, "bank2" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fb00000, 0x1fb00007, read32_delegate(FUNC(zn_state::bam2_mcu_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fa20000, 0x1fa20003, read32_delegate(FUNC(zn_state::bam2_unk_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fa10300, 0x1fa10303, write32_delegate(FUNC(zn_state::bam2_sec_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00007, write32_delegate(FUNC(zn_state::bam2_mcu_w),state));
-
- zn_driver_init(machine);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f3fffff, "bank1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f400000, 0x1f7fffff, "bank2" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fb00000, 0x1fb00007, read32_delegate(FUNC(zn_state::bam2_mcu_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fa20000, 0x1fa20003, read32_delegate(FUNC(zn_state::bam2_unk_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fa10300, 0x1fa10303, write32_delegate(FUNC(zn_state::bam2_sec_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00007, write32_delegate(FUNC(zn_state::bam2_mcu_w),this));
+
+ zn_driver_init(machine());
}
static MACHINE_RESET( bam2 )
@@ -2146,35 +2151,34 @@ READ32_MEMBER(zn_state::nbajamex_80_r)
return data;
}
-static DRIVER_INIT( coh1000a )
+DRIVER_INIT_MEMBER(zn_state,coh1000a)
{
- zn_state *state = machine.driver_data<zn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f1fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fbfff00, 0x1fbfff03, write32_delegate(FUNC(zn_state::acpsx_00_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fbfff10, 0x1fbfff13, write32_delegate(FUNC(zn_state::acpsx_10_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f1fffff, "bank1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fbfff00, 0x1fbfff03, write32_delegate(FUNC(zn_state::acpsx_00_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fbfff10, 0x1fbfff13, write32_delegate(FUNC(zn_state::acpsx_10_w),this));
- if( strcmp( machine.system().name, "nbajamex" ) == 0 )
+ if( strcmp( machine().system().name, "nbajamex" ) == 0 )
{
- state->m_nbajamex_eeprom_size = 0x8000;
- state->m_nbajamex_eeprom = auto_alloc_array( machine, UINT8, state->m_nbajamex_eeprom_size );
+ m_nbajamex_eeprom_size = 0x8000;
+ m_nbajamex_eeprom = auto_alloc_array( machine(), UINT8, m_nbajamex_eeprom_size );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_bank( 0x1f200000, 0x1f200000 + ( state->m_nbajamex_eeprom_size - 1 ), "bank2" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fbfff08, 0x1fbfff0b, read32_delegate(FUNC(zn_state::nbajamex_08_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1fbfff80, 0x1fbfff83, read32_delegate(FUNC(zn_state::nbajamex_80_r),state), write32_delegate(FUNC(zn_state::nbajamex_80_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_bank( 0x1f200000, 0x1f200000 + ( m_nbajamex_eeprom_size - 1 ), "bank2" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fbfff08, 0x1fbfff0b, read32_delegate(FUNC(zn_state::nbajamex_08_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1fbfff80, 0x1fbfff83, read32_delegate(FUNC(zn_state::nbajamex_80_r),this), write32_delegate(FUNC(zn_state::nbajamex_80_w),this));
- state->membank( "bank2" )->set_base( state->m_nbajamex_eeprom ); /* ram/eeprom/?? */
+ membank( "bank2" )->set_base( m_nbajamex_eeprom ); /* ram/eeprom/?? */
}
- if( ( !strcmp( machine.system().name, "jdredd" ) ) ||
- ( !strcmp( machine.system().name, "jdreddb" ) ) )
+ if( ( !strcmp( machine().system().name, "jdredd" ) ) ||
+ ( !strcmp( machine().system().name, "jdreddb" ) ) )
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x1fbfff8c, 0x1fbfff8f,read32_delegate(FUNC(zn_state::jdredd_idestat_r),state) );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write ( 0x1fbfff8c, 0x1fbfff8f);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x1fbfff90, 0x1fbfff9f, read32_delegate(FUNC(zn_state::jdredd_ide_r),state), write32_delegate(FUNC(zn_state::jdredd_ide_w),state) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x1fbfff8c, 0x1fbfff8f,read32_delegate(FUNC(zn_state::jdredd_idestat_r),this) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write ( 0x1fbfff8c, 0x1fbfff8f);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x1fbfff90, 0x1fbfff9f, read32_delegate(FUNC(zn_state::jdredd_ide_r),this), write32_delegate(FUNC(zn_state::jdredd_ide_w),this) );
}
- zn_driver_init(machine);
+ zn_driver_init(machine());
}
static MACHINE_RESET( coh1000a )
@@ -2324,13 +2328,12 @@ WRITE32_MEMBER(zn_state::coh1001l_bnk_w)
membank( "bank1" )->set_base( memregion( "user2" )->base() + ( ( ( data >> 16 ) & 3 ) * 0x800000 ) );
}
-static DRIVER_INIT( coh1001l )
+DRIVER_INIT_MEMBER(zn_state,coh1001l)
{
- zn_state *state = machine.driver_data<zn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f7fffff, "bank1" ); /* banked rom */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00003, write32_delegate(FUNC(zn_state::coh1001l_bnk_w),state) );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f7fffff, "bank1" ); /* banked rom */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00003, write32_delegate(FUNC(zn_state::coh1001l_bnk_w),this) );
- zn_driver_init(machine);
+ zn_driver_init(machine());
}
static MACHINE_RESET( coh1001l )
@@ -2367,14 +2370,13 @@ WRITE32_MEMBER(zn_state::coh1002v_bnk_w)
membank( "bank2" )->set_base( memregion( "user3" )->base() + ( data * 0x100000 ) );
}
-static DRIVER_INIT( coh1002v )
+DRIVER_INIT_MEMBER(zn_state,coh1002v)
{
- zn_state *state = machine.driver_data<zn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f27ffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1fb00000, 0x1fbfffff, "bank2" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00003, write32_delegate(FUNC(zn_state::coh1002v_bnk_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f27ffff, "bank1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1fb00000, 0x1fbfffff, "bank2" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler( 0x1fb00000, 0x1fb00003, write32_delegate(FUNC(zn_state::coh1002v_bnk_w),this));
- zn_driver_init(machine);
+ zn_driver_init(machine());
}
static MACHINE_RESET( coh1002v )
@@ -2571,14 +2573,13 @@ WRITE32_MEMBER(zn_state::cbaj_z80_w)
m_latch_to_z80 = data;
}
-static DRIVER_INIT( coh1002m )
+DRIVER_INIT_MEMBER(zn_state,coh1002m)
{
- zn_state *state = machine.driver_data<zn_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f7fffff, "bank1" );
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1fb00000, 0x1fb00003, read32_delegate(FUNC(zn_state::cbaj_z80_r),state), write32_delegate(FUNC(zn_state::cbaj_z80_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1fb00004, 0x1fb00007, write32_delegate(FUNC(zn_state::coh1002m_bank_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank ( 0x1f000000, 0x1f7fffff, "bank1" );
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1fb00000, 0x1fb00003, read32_delegate(FUNC(zn_state::cbaj_z80_r),this), write32_delegate(FUNC(zn_state::cbaj_z80_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler ( 0x1fb00004, 0x1fb00007, write32_delegate(FUNC(zn_state::coh1002m_bank_w),this));
- zn_driver_init(machine);
+ zn_driver_init(machine());
}
static MACHINE_RESET( coh1002m )
diff --git a/src/mame/drivers/zodiack.c b/src/mame/drivers/zodiack.c
index ca9f31c834a..a2ed5e74a79 100644
--- a/src/mame/drivers/zodiack.c
+++ b/src/mame/drivers/zodiack.c
@@ -697,8 +697,8 @@ ROM_START( bounty )
ROM_LOAD( "mb7051.2b", 0x0020, 0x0020, CRC(465e31d4) SHA1(d47a4aa0e8931dcd8f85017ef04c2f6ad79f5725) )
ROM_END
-GAME( 1983, zodiack, 0, zodiack, zodiack, zodiack_state, 0, ROT270, "Orca (Esco Trading Co)", "Zodiack", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) /* bullet color needs to be verified */
-GAME( 1983, dogfight, 0, zodiack, dogfight, zodiack_state, 0, ROT270, "Orca / Thunderbolt", "Dog Fight (Thunderbolt)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) /* bullet color needs to be verified */
-GAME( 1982, moguchan, 0, percuss, moguchan, percuss_state, 0, ROT270, "Orca (Eastern Commerce Inc. license) (bootleg?)", "Moguchan", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) /* license copyright taken from ROM string at $0b5c */
-GAME( 1981, percuss, 0, percuss, percuss, percuss_state, 0, ROT270, "Orca (bootleg?)", "The Percussor", GAME_SUPPORTS_SAVE )
-GAME( 1982, bounty, 0, percuss, bounty, percuss_state, 0, ROT180, "Orca", "The Bounty", GAME_SUPPORTS_SAVE )
+GAME( 1983, zodiack, 0, zodiack, zodiack, driver_device, 0, ROT270, "Orca (Esco Trading Co)", "Zodiack", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) /* bullet color needs to be verified */
+GAME( 1983, dogfight, 0, zodiack, dogfight, driver_device, 0, ROT270, "Orca / Thunderbolt", "Dog Fight (Thunderbolt)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) /* bullet color needs to be verified */
+GAME( 1982, moguchan, 0, percuss, moguchan, driver_device, 0, ROT270, "Orca (Eastern Commerce Inc. license) (bootleg?)", "Moguchan", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) /* license copyright taken from ROM string at $0b5c */
+GAME( 1981, percuss, 0, percuss, percuss, driver_device, 0, ROT270, "Orca (bootleg?)", "The Percussor", GAME_SUPPORTS_SAVE )
+GAME( 1982, bounty, 0, percuss, bounty, driver_device, 0, ROT180, "Orca", "The Bounty", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/zr107.c b/src/mame/drivers/zr107.c
index fc07122aea2..b84078129b6 100644
--- a/src/mame/drivers/zr107.c
+++ b/src/mame/drivers/zr107.c
@@ -198,6 +198,9 @@ public:
DECLARE_WRITE32_MEMBER(jetwave_palette_w);
DECLARE_READ32_MEMBER(dsp_dataram_r);
DECLARE_WRITE32_MEMBER(dsp_dataram_w);
+ DECLARE_DRIVER_INIT(common);
+ DECLARE_DRIVER_INIT(zr107);
+ DECLARE_DRIVER_INIT(jetwave);
};
@@ -831,26 +834,25 @@ MACHINE_CONFIG_END
/*****************************************************************************/
-static void init_zr107(running_machine &machine)
+DRIVER_INIT_MEMBER(zr107_state,common)
{
- zr107_state *state = machine.driver_data<zr107_state>();
- state->m_sharc_dataram = auto_alloc_array(machine, UINT32, 0x100000/4);
- state->m_led_reg0 = state->m_led_reg1 = 0x7f;
- state->m_ccu_vcth = state->m_ccu_vctl = 0;
+ m_sharc_dataram = auto_alloc_array(machine(), UINT32, 0x100000/4);
+ m_led_reg0 = m_led_reg1 = 0x7f;
+ m_ccu_vcth = m_ccu_vctl = 0;
- K001005_preprocess_texture_data(state->memregion("gfx1")->base(), state->memregion("gfx1")->bytes(), 0);
+ K001005_preprocess_texture_data(memregion("gfx1")->base(), memregion("gfx1")->bytes(), 0);
}
-static DRIVER_INIT(zr107)
+DRIVER_INIT_MEMBER(zr107_state,zr107)
{
- init_konami_cgboard(machine, 1, CGBOARD_TYPE_ZR107);
- init_zr107(machine);
+ init_konami_cgboard(machine(), 1, CGBOARD_TYPE_ZR107);
+ init_common();
}
-static DRIVER_INIT(jetwave)
+DRIVER_INIT_MEMBER(zr107_state,jetwave)
{
- init_konami_cgboard(machine, 1, CGBOARD_TYPE_GTICLUB);
- init_zr107(machine);
+ init_konami_cgboard(machine(), 1, CGBOARD_TYPE_GTICLUB);
+ init_common();
}
/*****************************************************************************/
diff --git a/src/mame/includes/1942.h b/src/mame/includes/1942.h
index aaff71101e7..bbbe41aaf47 100644
--- a/src/mame/includes/1942.h
+++ b/src/mame/includes/1942.h
@@ -32,6 +32,7 @@ public:
DECLARE_WRITE8_MEMBER(c1942_palette_bank_w);
DECLARE_WRITE8_MEMBER(c1942_scroll_w);
DECLARE_WRITE8_MEMBER(c1942_c804_w);
+ DECLARE_DRIVER_INIT(1942);
};
diff --git a/src/mame/includes/1943.h b/src/mame/includes/1943.h
index 9c9ef2ebd53..00656257311 100644
--- a/src/mame/includes/1943.h
+++ b/src/mame/includes/1943.h
@@ -38,6 +38,8 @@ public:
DECLARE_WRITE8_MEMBER(c1943_colorram_w);
DECLARE_WRITE8_MEMBER(c1943_c804_w);
DECLARE_WRITE8_MEMBER(c1943_d806_w);
+ DECLARE_DRIVER_INIT(1943b);
+ DECLARE_DRIVER_INIT(1943);
};
diff --git a/src/mame/includes/20pacgal.h b/src/mame/includes/20pacgal.h
index e534da9ff31..d9e73551285 100644
--- a/src/mame/includes/20pacgal.h
+++ b/src/mame/includes/20pacgal.h
@@ -50,6 +50,8 @@ public:
DECLARE_WRITE8_MEMBER(sprite_gfx_w);
DECLARE_WRITE8_MEMBER(sprite_ram_w);
DECLARE_WRITE8_MEMBER(sprite_lookup_w);
+ DECLARE_DRIVER_INIT(25pacman);
+ DECLARE_DRIVER_INIT(20pacgal);
};
diff --git a/src/mame/includes/40love.h b/src/mame/includes/40love.h
index 8d9e497a1f2..20a18240c00 100644
--- a/src/mame/includes/40love.h
+++ b/src/mame/includes/40love.h
@@ -84,6 +84,8 @@ public:
DECLARE_WRITE8_MEMBER(sound_control_1_w);
DECLARE_WRITE8_MEMBER(sound_control_2_w);
DECLARE_WRITE8_MEMBER(sound_control_3_w);
+ DECLARE_DRIVER_INIT(undoukai);
+ DECLARE_DRIVER_INIT(40love);
};
diff --git a/src/mame/includes/4enraya.h b/src/mame/includes/4enraya.h
index f596257f3f0..b31986b95d0 100644
--- a/src/mame/includes/4enraya.h
+++ b/src/mame/includes/4enraya.h
@@ -27,6 +27,7 @@ public:
DECLARE_WRITE8_MEMBER(fenraya_custom_map_w);
DECLARE_WRITE8_MEMBER(fenraya_videoram_w);
DECLARE_WRITE8_MEMBER(sound_control_w);
+ DECLARE_DRIVER_INIT(unkpacg);
};
diff --git a/src/mame/includes/8080bw.h b/src/mame/includes/8080bw.h
index 231976f1453..35e7ea37209 100644
--- a/src/mame/includes/8080bw.h
+++ b/src/mame/includes/8080bw.h
@@ -61,6 +61,8 @@ public:
DECLARE_READ8_MEMBER(invmulti_eeprom_r);
DECLARE_WRITE8_MEMBER(invmulti_eeprom_w);
DECLARE_WRITE8_MEMBER(invmulti_bank_w);
+ DECLARE_DRIVER_INIT(invmulti);
+ DECLARE_DRIVER_INIT(vortex);
};
diff --git a/src/mame/includes/airbustr.h b/src/mame/includes/airbustr.h
index c9b7753af20..0bc94b0563f 100644
--- a/src/mame/includes/airbustr.h
+++ b/src/mame/includes/airbustr.h
@@ -60,6 +60,7 @@ public:
DECLARE_WRITE8_MEMBER(airbustr_videoram2_w);
DECLARE_WRITE8_MEMBER(airbustr_colorram2_w);
DECLARE_WRITE8_MEMBER(airbustr_scrollregs_w);
+ DECLARE_DRIVER_INIT(airbustr);
};
diff --git a/src/mame/includes/alpha68k.h b/src/mame/includes/alpha68k.h
index 68271007529..782d0aeb5d6 100644
--- a/src/mame/includes/alpha68k.h
+++ b/src/mame/includes/alpha68k.h
@@ -71,6 +71,23 @@ public:
DECLARE_WRITE16_MEMBER(alpha68k_videoram_w);
DECLARE_WRITE16_MEMBER(alpha68k_II_video_bank_w);
DECLARE_WRITE16_MEMBER(alpha68k_V_video_control_w);
+ DECLARE_DRIVER_INIT(paddlema);
+ DECLARE_DRIVER_INIT(btlfield);
+ DECLARE_DRIVER_INIT(jongbou);
+ DECLARE_DRIVER_INIT(goldmedl);
+ DECLARE_DRIVER_INIT(skyadvnt);
+ DECLARE_DRIVER_INIT(goldmedla);
+ DECLARE_DRIVER_INIT(gangwarsu);
+ DECLARE_DRIVER_INIT(gangwars);
+ DECLARE_DRIVER_INIT(tnextspc);
+ DECLARE_DRIVER_INIT(timesold1);
+ DECLARE_DRIVER_INIT(sbasebal);
+ DECLARE_DRIVER_INIT(skysoldr);
+ DECLARE_DRIVER_INIT(skyadvntu);
+ DECLARE_DRIVER_INIT(btlfieldb);
+ DECLARE_DRIVER_INIT(timesold);
+ DECLARE_DRIVER_INIT(kyros);
+ DECLARE_DRIVER_INIT(sstingry);
};
/* game_id - used to deal with a few game specific situations */
diff --git a/src/mame/includes/amiga.h b/src/mame/includes/amiga.h
index 5c7ddbcbeee..f755493708a 100644
--- a/src/mame/includes/amiga.h
+++ b/src/mame/includes/amiga.h
@@ -429,6 +429,7 @@ public:
int m_aga_sprite_dma_used_words[8];
DECLARE_CUSTOM_INPUT_MEMBER( amiga_joystick_convert );
+ DECLARE_DRIVER_INIT(mquake);
};
diff --git a/src/mame/includes/ampoker2.h b/src/mame/includes/ampoker2.h
index d588231aa61..c6cb840b2f9 100644
--- a/src/mame/includes/ampoker2.h
+++ b/src/mame/includes/ampoker2.h
@@ -16,6 +16,8 @@ public:
DECLARE_WRITE8_MEMBER(ampoker2_port36_w);
DECLARE_WRITE8_MEMBER(ampoker2_watchdog_reset_w);
DECLARE_WRITE8_MEMBER(ampoker2_videoram_w);
+ DECLARE_DRIVER_INIT(rabbitpk);
+ DECLARE_DRIVER_INIT(piccolop);
};
diff --git a/src/mame/includes/angelkds.h b/src/mame/includes/angelkds.h
index 3e57ffea240..968396b8283 100644
--- a/src/mame/includes/angelkds.h
+++ b/src/mame/includes/angelkds.h
@@ -51,6 +51,8 @@ public:
DECLARE_WRITE8_MEMBER(angelkds_bgbotscroll_write);
DECLARE_WRITE8_MEMBER(angelkds_layer_ctrl_write);
DECLARE_WRITE8_MEMBER(angelkds_paletteram_w);
+ DECLARE_DRIVER_INIT(angelkds);
+ DECLARE_DRIVER_INIT(spcpostn);
};
diff --git a/src/mame/includes/appoooh.h b/src/mame/includes/appoooh.h
index 2bc45cd26e3..865dea76952 100644
--- a/src/mame/includes/appoooh.h
+++ b/src/mame/includes/appoooh.h
@@ -41,6 +41,8 @@ public:
DECLARE_WRITE8_MEMBER(appoooh_bg_videoram_w);
DECLARE_WRITE8_MEMBER(appoooh_bg_colorram_w);
DECLARE_WRITE8_MEMBER(appoooh_out_w);
+ DECLARE_DRIVER_INIT(robowres);
+ DECLARE_DRIVER_INIT(robowresb);
};
#define CHR1_OFST 0x00 /* palette page of char set #1 */
diff --git a/src/mame/includes/aquarium.h b/src/mame/includes/aquarium.h
index 955fe872720..ed4c915e973 100644
--- a/src/mame/includes/aquarium.h
+++ b/src/mame/includes/aquarium.h
@@ -39,6 +39,7 @@ public:
DECLARE_WRITE16_MEMBER(aquarium_txt_videoram_w);
DECLARE_WRITE16_MEMBER(aquarium_mid_videoram_w);
DECLARE_WRITE16_MEMBER(aquarium_bak_videoram_w);
+ DECLARE_DRIVER_INIT(aquarium);
};
diff --git a/src/mame/includes/arcadecl.h b/src/mame/includes/arcadecl.h
index e5aac119ae1..7d2750d253a 100644
--- a/src/mame/includes/arcadecl.h
+++ b/src/mame/includes/arcadecl.h
@@ -17,6 +17,7 @@ public:
required_shared_ptr<UINT16> m_bitmap;
UINT8 m_has_mo;
DECLARE_WRITE16_MEMBER(latch_w);
+ DECLARE_DRIVER_INIT(sparkz);
};
/*----------- defined in video/arcadecl.c -----------*/
diff --git a/src/mame/includes/arkanoid.h b/src/mame/includes/arkanoid.h
index 3e0d0edabe7..13903ba2c16 100644
--- a/src/mame/includes/arkanoid.h
+++ b/src/mame/includes/arkanoid.h
@@ -64,6 +64,15 @@ public:
DECLARE_WRITE8_MEMBER(hexa_d008_w);
DECLARE_CUSTOM_INPUT_MEMBER(arkanoid_68705_input_r);
DECLARE_CUSTOM_INPUT_MEMBER(arkanoid_input_mux);
+ DECLARE_DRIVER_INIT(block2);
+ DECLARE_DRIVER_INIT(arkblock);
+ DECLARE_DRIVER_INIT(hexa);
+ DECLARE_DRIVER_INIT(paddle2);
+ DECLARE_DRIVER_INIT(tetrsark);
+ DECLARE_DRIVER_INIT(arkgcbl);
+ DECLARE_DRIVER_INIT(arkangc2);
+ DECLARE_DRIVER_INIT(arkbloc2);
+ DECLARE_DRIVER_INIT(arkangc);
};
diff --git a/src/mame/includes/armedf.h b/src/mame/includes/armedf.h
index cffe2ee4729..90ce73eb1ee 100644
--- a/src/mame/includes/armedf.h
+++ b/src/mame/includes/armedf.h
@@ -60,6 +60,14 @@ public:
DECLARE_WRITE16_MEMBER(armedf_fg_scrolly_w);
DECLARE_WRITE16_MEMBER(armedf_bg_scrollx_w);
DECLARE_WRITE16_MEMBER(armedf_bg_scrolly_w);
+ DECLARE_DRIVER_INIT(cclimbr2);
+ DECLARE_DRIVER_INIT(armedf);
+ DECLARE_DRIVER_INIT(legion);
+ DECLARE_DRIVER_INIT(terrafu);
+ DECLARE_DRIVER_INIT(legiono);
+ DECLARE_DRIVER_INIT(kozure);
+ DECLARE_DRIVER_INIT(terraf);
+ DECLARE_DRIVER_INIT(terrafb);
};
class bigfghtr_state : public armedf_state
@@ -79,6 +87,7 @@ public:
DECLARE_READ16_MEMBER(latch_r);
DECLARE_WRITE16_MEMBER(sharedram_w);
DECLARE_READ16_MEMBER(sharedram_r);
+ DECLARE_DRIVER_INIT(bigfghtr);
};
/*----------- defined in video/armedf.c -----------*/
diff --git a/src/mame/includes/artmagic.h b/src/mame/includes/artmagic.h
index 3b7d3fbc022..9deae3cfde2 100644
--- a/src/mame/includes/artmagic.h
+++ b/src/mame/includes/artmagic.h
@@ -42,6 +42,10 @@ public:
DECLARE_READ16_MEMBER(artmagic_blitter_r);
DECLARE_WRITE16_MEMBER(artmagic_blitter_w);
DECLARE_CUSTOM_INPUT_MEMBER(prot_r);
+ DECLARE_DRIVER_INIT(shtstar);
+ DECLARE_DRIVER_INIT(cheesech);
+ DECLARE_DRIVER_INIT(ultennis);
+ DECLARE_DRIVER_INIT(stonebal);
};
diff --git a/src/mame/includes/ashnojoe.h b/src/mame/includes/ashnojoe.h
index d5ea3c010af..4b898373065 100644
--- a/src/mame/includes/ashnojoe.h
+++ b/src/mame/includes/ashnojoe.h
@@ -62,6 +62,7 @@ public:
DECLARE_WRITE16_MEMBER(joe_tilemaps_yscroll_w);
DECLARE_WRITE8_MEMBER(ym2203_write_a);
DECLARE_WRITE8_MEMBER(ym2203_write_b);
+ DECLARE_DRIVER_INIT(ashnojoe);
};
diff --git a/src/mame/includes/asterix.h b/src/mame/includes/asterix.h
index 1199610a56e..17d28be44d7 100644
--- a/src/mame/includes/asterix.h
+++ b/src/mame/includes/asterix.h
@@ -39,6 +39,7 @@ public:
DECLARE_WRITE16_MEMBER(protection_w);
DECLARE_WRITE16_MEMBER(asterix_spritebank_w);
DECLARE_READ8_MEMBER(asterix_sound_r);
+ DECLARE_DRIVER_INIT(asterix);
};
diff --git a/src/mame/includes/asteroid.h b/src/mame/includes/asteroid.h
index 95ccfae2ea3..4509ad08658 100644
--- a/src/mame/includes/asteroid.h
+++ b/src/mame/includes/asteroid.h
@@ -26,6 +26,8 @@ public:
DECLARE_WRITE8_MEMBER(astdelux_bank_switch_w);
DECLARE_WRITE8_MEMBER(astdelux_led_w);
DECLARE_CUSTOM_INPUT_MEMBER(clock_r);
+ DECLARE_DRIVER_INIT(asterock);
+ DECLARE_DRIVER_INIT(asteroidb);
};
diff --git a/src/mame/includes/astrocde.h b/src/mame/includes/astrocde.h
index 1a77f7c76f1..659b378b631 100644
--- a/src/mame/includes/astrocde.h
+++ b/src/mame/includes/astrocde.h
@@ -106,6 +106,15 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(ebases_trackball_r);
DECLARE_CUSTOM_INPUT_MEMBER(demndragn_joystick_r);
DECLARE_INPUT_CHANGED_MEMBER(spacezap_monitor);
+ DECLARE_DRIVER_INIT(profpac);
+ DECLARE_DRIVER_INIT(spacezap);
+ DECLARE_DRIVER_INIT(robby);
+ DECLARE_DRIVER_INIT(wow);
+ DECLARE_DRIVER_INIT(tenpindx);
+ DECLARE_DRIVER_INIT(seawolf2);
+ DECLARE_DRIVER_INIT(demndrgn);
+ DECLARE_DRIVER_INIT(ebases);
+ DECLARE_DRIVER_INIT(gorf);
};
diff --git a/src/mame/includes/astrof.h b/src/mame/includes/astrof.h
index 1bb6ae2bb9f..196dc5feb55 100644
--- a/src/mame/includes/astrof.h
+++ b/src/mame/includes/astrof.h
@@ -59,6 +59,9 @@ public:
DECLARE_WRITE8_MEMBER(tomahawk_audio_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_INPUT_CHANGED_MEMBER(service_coin_inserted);
+ DECLARE_DRIVER_INIT(afire);
+ DECLARE_DRIVER_INIT(abattle);
+ DECLARE_DRIVER_INIT(sstarbtl);
};
/*----------- defined in audio/astrof.c -----------*/
diff --git a/src/mame/includes/atarig1.h b/src/mame/includes/atarig1.h
index 7b39d8ad33d..0a2c9795d95 100644
--- a/src/mame/includes/atarig1.h
+++ b/src/mame/includes/atarig1.h
@@ -37,6 +37,13 @@ public:
DECLARE_READ16_MEMBER(a2d_data_r);
DECLARE_READ16_MEMBER(pitfightb_cheap_slapstic_r);
void update_bank(int bank);
+ DECLARE_DRIVER_INIT(hydrap);
+ DECLARE_DRIVER_INIT(hydra);
+ DECLARE_DRIVER_INIT(pitfight9);
+ DECLARE_DRIVER_INIT(pitfight7);
+ DECLARE_DRIVER_INIT(pitfightj);
+ DECLARE_DRIVER_INIT(pitfight);
+ DECLARE_DRIVER_INIT(pitfightb);
};
diff --git a/src/mame/includes/atarig42.h b/src/mame/includes/atarig42.h
index b99d3913184..66d2c6edca7 100644
--- a/src/mame/includes/atarig42.h
+++ b/src/mame/includes/atarig42.h
@@ -44,6 +44,8 @@ public:
void roadriot_sloop_tweak(int offset);
void guardians_sloop_tweak(int offset);
DECLARE_DIRECT_UPDATE_MEMBER(atarig42_sloop_direct_handler);
+ DECLARE_DRIVER_INIT(roadriot);
+ DECLARE_DRIVER_INIT(guardian);
};
diff --git a/src/mame/includes/atarigt.h b/src/mame/includes/atarigt.h
index d7b19cb00dc..e869f05e381 100644
--- a/src/mame/includes/atarigt.h
+++ b/src/mame/includes/atarigt.h
@@ -62,6 +62,9 @@ public:
DECLARE_WRITE32_MEMBER(tmek_pf_w);
void atarigt_colorram_w(offs_t address, UINT16 data, UINT16 mem_mask);
UINT16 atarigt_colorram_r(offs_t address);
+ DECLARE_DRIVER_INIT(primrage20);
+ DECLARE_DRIVER_INIT(primrage);
+ DECLARE_DRIVER_INIT(tmek);
};
diff --git a/src/mame/includes/atarigx2.h b/src/mame/includes/atarigx2.h
index 4e6408404ad..3a877a09c0e 100644
--- a/src/mame/includes/atarigx2.h
+++ b/src/mame/includes/atarigx2.h
@@ -37,6 +37,9 @@ public:
DECLARE_WRITE32_MEMBER(atarigx2_protection_w);
DECLARE_READ32_MEMBER(atarigx2_protection_r);
DECLARE_READ32_MEMBER(rrreveng_prot_r);
+ DECLARE_DRIVER_INIT(spclords);
+ DECLARE_DRIVER_INIT(rrreveng);
+ DECLARE_DRIVER_INIT(motofren);
};
diff --git a/src/mame/includes/atarisy1.h b/src/mame/includes/atarisy1.h
index 067e733990c..ce15d3a09fe 100644
--- a/src/mame/includes/atarisy1.h
+++ b/src/mame/includes/atarisy1.h
@@ -53,6 +53,12 @@ public:
DECLARE_READ8_MEMBER(via_pa_r);
DECLARE_WRITE8_MEMBER(via_pb_w);
DECLARE_READ8_MEMBER(via_pb_r);
+ DECLARE_DRIVER_INIT(roadb110);
+ DECLARE_DRIVER_INIT(roadb109);
+ DECLARE_DRIVER_INIT(peterpak);
+ DECLARE_DRIVER_INIT(marble);
+ DECLARE_DRIVER_INIT(roadrunn);
+ DECLARE_DRIVER_INIT(indytemp);
};
diff --git a/src/mame/includes/atarisy2.h b/src/mame/includes/atarisy2.h
index dd149190e4b..16f45ccbd5c 100644
--- a/src/mame/includes/atarisy2.h
+++ b/src/mame/includes/atarisy2.h
@@ -68,6 +68,11 @@ public:
DECLARE_WRITE8_MEMBER(tms5220_strobe_w);
DECLARE_WRITE8_MEMBER(coincount_w);
DECLARE_DIRECT_UPDATE_MEMBER(atarisy2_direct_handler);
+ DECLARE_DRIVER_INIT(ssprint);
+ DECLARE_DRIVER_INIT(apb);
+ DECLARE_DRIVER_INIT(csprint);
+ DECLARE_DRIVER_INIT(paperboy);
+ DECLARE_DRIVER_INIT(720);
};
diff --git a/src/mame/includes/atetris.h b/src/mame/includes/atetris.h
index 2070d18d44a..044f98e0eb0 100644
--- a/src/mame/includes/atetris.h
+++ b/src/mame/includes/atetris.h
@@ -26,6 +26,7 @@ public:
DECLARE_WRITE8_MEMBER(nvram_w);
DECLARE_WRITE8_MEMBER(nvram_enable_w);
DECLARE_WRITE8_MEMBER(atetris_videoram_w);
+ DECLARE_DRIVER_INIT(atetris);
};
/*----------- defined in video/atetris.c -----------*/
diff --git a/src/mame/includes/badlands.h b/src/mame/includes/badlands.h
index a7b31700c75..c899560c5bc 100644
--- a/src/mame/includes/badlands.h
+++ b/src/mame/includes/badlands.h
@@ -24,6 +24,7 @@ public:
DECLARE_READ8_MEMBER(audio_io_r);
DECLARE_WRITE8_MEMBER(audio_io_w);
DECLARE_READ16_MEMBER(badlandsb_unk_r);
+ DECLARE_DRIVER_INIT(badlands);
};
diff --git a/src/mame/includes/bagman.h b/src/mame/includes/bagman.h
index 970e088a2c7..593ee21e897 100644
--- a/src/mame/includes/bagman.h
+++ b/src/mame/includes/bagman.h
@@ -42,6 +42,7 @@ public:
DECLARE_WRITE8_MEMBER(bagman_ls259_w);
DECLARE_READ8_MEMBER(dial_input_p1_r);
DECLARE_READ8_MEMBER(dial_input_p2_r);
+ DECLARE_DRIVER_INIT(bagman);
};
diff --git a/src/mame/includes/balsente.h b/src/mame/includes/balsente.h
index b9819c83fc3..a5127cdf3e2 100644
--- a/src/mame/includes/balsente.h
+++ b/src/mame/includes/balsente.h
@@ -166,6 +166,29 @@ public:
DECLARE_WRITE8_MEMBER(balsente_paletteram_w);
DECLARE_WRITE8_MEMBER(shrike_sprite_select_w);
DECLARE_CUSTOM_INPUT_MEMBER(nstocker_bits_r);
+ DECLARE_DRIVER_INIT(otwalls);
+ DECLARE_DRIVER_INIT(triviaes);
+ DECLARE_DRIVER_INIT(nstocker);
+ DECLARE_DRIVER_INIT(sentetst);
+ DECLARE_DRIVER_INIT(rescraid);
+ DECLARE_DRIVER_INIT(minigolf);
+ DECLARE_DRIVER_INIT(stompin);
+ DECLARE_DRIVER_INIT(snakepit);
+ DECLARE_DRIVER_INIT(spiker);
+ DECLARE_DRIVER_INIT(hattrick);
+ DECLARE_DRIVER_INIT(toggle);
+ DECLARE_DRIVER_INIT(snakjack);
+ DECLARE_DRIVER_INIT(grudge);
+ DECLARE_DRIVER_INIT(sfootbal);
+ DECLARE_DRIVER_INIT(triviag2);
+ DECLARE_DRIVER_INIT(cshift);
+ DECLARE_DRIVER_INIT(gimeabrk);
+ DECLARE_DRIVER_INIT(stocker);
+ DECLARE_DRIVER_INIT(triviag1);
+ DECLARE_DRIVER_INIT(shrike);
+ DECLARE_DRIVER_INIT(minigolf2);
+ DECLARE_DRIVER_INIT(nametune);
+ DECLARE_DRIVER_INIT(gghost);
};
diff --git a/src/mame/includes/baraduke.h b/src/mame/includes/baraduke.h
index 8e972248bb6..849b9b00ae4 100644
--- a/src/mame/includes/baraduke.h
+++ b/src/mame/includes/baraduke.h
@@ -31,6 +31,7 @@ public:
DECLARE_WRITE8_MEMBER(baraduke_scroll1_w);
DECLARE_READ8_MEMBER(baraduke_spriteram_r);
DECLARE_WRITE8_MEMBER(baraduke_spriteram_w);
+ DECLARE_DRIVER_INIT(baraduke);
};
diff --git a/src/mame/includes/batman.h b/src/mame/includes/batman.h
index ecddd995dfb..6260fb7a31d 100644
--- a/src/mame/includes/batman.h
+++ b/src/mame/includes/batman.h
@@ -19,6 +19,7 @@ public:
DECLARE_WRITE16_MEMBER(batman_atarivc_w);
DECLARE_READ16_MEMBER(special_port2_r);
DECLARE_WRITE16_MEMBER(latch_w);
+ DECLARE_DRIVER_INIT(batman);
};
diff --git a/src/mame/includes/battlex.h b/src/mame/includes/battlex.h
index 411254f05b2..bb84bada06b 100644
--- a/src/mame/includes/battlex.h
+++ b/src/mame/includes/battlex.h
@@ -30,6 +30,7 @@ public:
DECLARE_WRITE8_MEMBER(battlex_videoram_w);
DECLARE_WRITE8_MEMBER(battlex_flipscreen_w);
DECLARE_CUSTOM_INPUT_MEMBER(battlex_in0_b4_r);
+ DECLARE_DRIVER_INIT(battlex);
};
diff --git a/src/mame/includes/battlnts.h b/src/mame/includes/battlnts.h
index fa8d28e38ef..95483c98efb 100644
--- a/src/mame/includes/battlnts.h
+++ b/src/mame/includes/battlnts.h
@@ -25,6 +25,7 @@ public:
DECLARE_WRITE8_MEMBER(battlnts_sh_irqtrigger_w);
DECLARE_WRITE8_MEMBER(battlnts_bankswitch_w);
DECLARE_WRITE8_MEMBER(battlnts_spritebank_w);
+ DECLARE_DRIVER_INIT(rackemup);
};
/*----------- defined in video/battlnts.c -----------*/
diff --git a/src/mame/includes/beathead.h b/src/mame/includes/beathead.h
index ed7d0c02443..02527409b91 100644
--- a/src/mame/includes/beathead.h
+++ b/src/mame/includes/beathead.h
@@ -114,4 +114,5 @@ public:
DECLARE_WRITE32_MEMBER( palette_w );
DECLARE_READ32_MEMBER( hsync_ram_r );
DECLARE_WRITE32_MEMBER( hsync_ram_w );
+ DECLARE_DRIVER_INIT(beathead);
};
diff --git a/src/mame/includes/beezer.h b/src/mame/includes/beezer.h
index e07b64967c4..0db2de0d25b 100644
--- a/src/mame/includes/beezer.h
+++ b/src/mame/includes/beezer.h
@@ -15,6 +15,7 @@ public:
DECLARE_WRITE8_MEMBER(beezer_bankswitch_w);
DECLARE_WRITE8_MEMBER(beezer_map_w);
DECLARE_READ8_MEMBER(beezer_line_r);
+ DECLARE_DRIVER_INIT(beezer);
};
@@ -23,7 +24,6 @@ public:
extern const via6522_interface b_via_0_interface;
extern const via6522_interface b_via_1_interface;
-DRIVER_INIT( beezer );
/*----------- defined in audio/beezer.c -----------*/
diff --git a/src/mame/includes/bfm_sc45.h b/src/mame/includes/bfm_sc45.h
index c0fef32c15d..dcaad05e6af 100644
--- a/src/mame/includes/bfm_sc45.h
+++ b/src/mame/includes/bfm_sc45.h
@@ -57,6 +57,60 @@ public:
DECLARE_WRITE16_MEMBER(sc4_mem_w);
DECLARE_READ16_MEMBER(sc4_cs1_r);
+
+ DECLARE_DRIVER_INIT(sc4);
+ DECLARE_DRIVER_INIT(sc4mbus);
+ DECLARE_DRIVER_INIT(sc4cvani);
+ DECLARE_DRIVER_INIT(sc4cvclb);
+ DECLARE_DRIVER_INIT(sc4bonbxm);
+ DECLARE_DRIVER_INIT(sc4bonbx);
+ DECLARE_DRIVER_INIT(sc4crcc);
+ DECLARE_DRIVER_INIT(sc4fcc);
+ DECLARE_DRIVER_INIT(sc4luckb);
+ DECLARE_DRIVER_INIT(sc4mgr);
+ DECLARE_DRIVER_INIT(sc4mgrm);
+ DECLARE_DRIVER_INIT(sc4pgold);
+ DECLARE_DRIVER_INIT(sc4royle);
+ DECLARE_DRIVER_INIT(sc4ticlb);
+ DECLARE_DRIVER_INIT(sc4clbtm);
+ DECLARE_DRIVER_INIT(sc4bull);
+ DECLARE_DRIVER_INIT(sc4dnd);
+ DECLARE_DRIVER_INIT(sc4dndcs);
+ DECLARE_DRIVER_INIT(sc4dndbb);
+ DECLARE_DRIVER_INIT(sc4dndcl);
+ DECLARE_DRIVER_INIT(sc4dnddd);
+ DECLARE_DRIVER_INIT(sc4dndhf);
+ DECLARE_DRIVER_INIT(sc4dndys);
+ DECLARE_DRIVER_INIT(sc4dndlp);
+ DECLARE_DRIVER_INIT(sc4dndra);
+ DECLARE_DRIVER_INIT(sc4dndbd);
+ DECLARE_DRIVER_INIT(sc4dndbr);
+ DECLARE_DRIVER_INIT(sc4dndcc);
+ DECLARE_DRIVER_INIT(sc4dnddw);
+ DECLARE_DRIVER_INIT(sc4dnddf);
+ DECLARE_DRIVER_INIT(sc4dndpg);
+ DECLARE_DRIVER_INIT(sc4dndtp);
+ DECLARE_DRIVER_INIT(sc4dndww);
+ DECLARE_DRIVER_INIT(sc4dndcw);
+ DECLARE_DRIVER_INIT(sc4dndtr);
+ DECLARE_DRIVER_INIT(sc4dndwb);
+ DECLARE_DRIVER_INIT(sc4dndbe);
+ DECLARE_DRIVER_INIT(sc4dndbc);
+ DECLARE_DRIVER_INIT(sc4fguy);
+ DECLARE_DRIVER_INIT(sc4gd);
+ DECLARE_DRIVER_INIT(sc4gdclb);
+ DECLARE_DRIVER_INIT(sc4gbcas);
+ DECLARE_DRIVER_INIT(sc4gball);
+ DECLARE_DRIVER_INIT(sc4gunp);
+ DECLARE_DRIVER_INIT(sc4hapnt);
+ DECLARE_DRIVER_INIT(sc4hntcsm);
+ DECLARE_DRIVER_INIT(sc4hntcs);
+ DECLARE_DRIVER_INIT(sc4hill);
+ DECLARE_DRIVER_INIT(sc4bwow);
+ DECLARE_DRIVER_INIT(sc4ggamem);
+ DECLARE_DRIVER_INIT(sc4ggame);
+ DECLARE_DRIVER_INIT(sc4gggtb);
+ DECLARE_DRIVER_INIT(sc4ggg);
};
class sc4_adder4_state : public sc4_state
diff --git a/src/mame/includes/bigevglf.h b/src/mame/includes/bigevglf.h
index 66c4ee3d075..e7777f5fcb8 100644
--- a/src/mame/includes/bigevglf.h
+++ b/src/mame/includes/bigevglf.h
@@ -85,6 +85,7 @@ public:
DECLARE_WRITE8_MEMBER(bigevglf_vidram_addr_w);
DECLARE_WRITE8_MEMBER(bigevglf_vidram_w);
DECLARE_READ8_MEMBER(bigevglf_vidram_r);
+ DECLARE_DRIVER_INIT(bigevglf);
};
diff --git a/src/mame/includes/blmbycar.h b/src/mame/includes/blmbycar.h
index 7c85dbeb4bd..bd2986be7e6 100644
--- a/src/mame/includes/blmbycar.h
+++ b/src/mame/includes/blmbycar.h
@@ -41,6 +41,7 @@ public:
DECLARE_WRITE16_MEMBER(blmbycar_palette_w);
DECLARE_WRITE16_MEMBER(blmbycar_vram_0_w);
DECLARE_WRITE16_MEMBER(blmbycar_vram_1_w);
+ DECLARE_DRIVER_INIT(blmbycar);
};
diff --git a/src/mame/includes/blstroid.h b/src/mame/includes/blstroid.h
index 24f70b28ce5..c48803fb79a 100644
--- a/src/mame/includes/blstroid.h
+++ b/src/mame/includes/blstroid.h
@@ -16,6 +16,7 @@ public:
required_shared_ptr<UINT16> m_priorityram;
DECLARE_WRITE16_MEMBER(blstroid_halt_until_hblank_0_w);
DECLARE_READ16_MEMBER(inputs_r);
+ DECLARE_DRIVER_INIT(blstroid);
};
diff --git a/src/mame/includes/boogwing.h b/src/mame/includes/boogwing.h
index 7abc786324a..fa4888a009f 100644
--- a/src/mame/includes/boogwing.h
+++ b/src/mame/includes/boogwing.h
@@ -45,6 +45,7 @@ public:
required_shared_ptr<UINT16> m_pf4_rowscroll;
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
+ DECLARE_DRIVER_INIT(boogwing);
};
diff --git a/src/mame/includes/brkthru.h b/src/mame/includes/brkthru.h
index 30093cdef75..028c787df5e 100644
--- a/src/mame/includes/brkthru.h
+++ b/src/mame/includes/brkthru.h
@@ -38,6 +38,7 @@ public:
DECLARE_WRITE8_MEMBER(brkthru_fgram_w);
DECLARE_WRITE8_MEMBER(brkthru_1800_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(brkthru);
};
diff --git a/src/mame/includes/btime.h b/src/mame/includes/btime.h
index 246244762f3..89cd5bc0fdd 100644
--- a/src/mame/includes/btime.h
+++ b/src/mame/includes/btime.h
@@ -80,6 +80,17 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted_irq_lo);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted_nmi_lo);
DECLARE_WRITE8_MEMBER(ay_audio_nmi_enable_w);
+ DECLARE_DRIVER_INIT(btime);
+ DECLARE_DRIVER_INIT(tisland);
+ DECLARE_DRIVER_INIT(cookrace);
+ DECLARE_DRIVER_INIT(zoar);
+ DECLARE_DRIVER_INIT(sdtennis);
+ DECLARE_DRIVER_INIT(wtennis);
+ DECLARE_DRIVER_INIT(bnj);
+ DECLARE_DRIVER_INIT(protennb);
+ DECLARE_DRIVER_INIT(disco);
+ DECLARE_DRIVER_INIT(lnc);
+ DECLARE_DRIVER_INIT(rockduck);
};
diff --git a/src/mame/includes/bublbobl.h b/src/mame/includes/bublbobl.h
index 20bc677ab0a..93ad2d067ad 100644
--- a/src/mame/includes/bublbobl.h
+++ b/src/mame/includes/bublbobl.h
@@ -94,6 +94,10 @@ public:
DECLARE_READ8_MEMBER(bublbobl_68705_port_b_r);
DECLARE_WRITE8_MEMBER(bublbobl_68705_port_b_w);
DECLARE_WRITE8_MEMBER(bublbobl_68705_ddr_b_w);
+ DECLARE_DRIVER_INIT(tokiob);
+ DECLARE_DRIVER_INIT(tokio);
+ DECLARE_DRIVER_INIT(dland);
+ DECLARE_DRIVER_INIT(bublbobl);
};
diff --git a/src/mame/includes/bwing.h b/src/mame/includes/bwing.h
index 78b6e15f350..39d73204704 100644
--- a/src/mame/includes/bwing.h
+++ b/src/mame/includes/bwing.h
@@ -66,6 +66,7 @@ public:
DECLARE_WRITE8_MEMBER(bwing_paletteram_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_INPUT_CHANGED_MEMBER(tilt_pressed);
+ DECLARE_DRIVER_INIT(bwing);
};
diff --git a/src/mame/includes/bzone.h b/src/mame/includes/bzone.h
index 7f0f652acfd..ae7a94a54ba 100644
--- a/src/mame/includes/bzone.h
+++ b/src/mame/includes/bzone.h
@@ -23,6 +23,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(clock_r);
DECLARE_READ8_MEMBER(redbaron_joy_r);
DECLARE_WRITE8_MEMBER(redbaron_joysound_w);
+ DECLARE_DRIVER_INIT(bradley);
};
diff --git a/src/mame/includes/cabal.h b/src/mame/includes/cabal.h
index 42ab223cf5e..df97ba8a678 100644
--- a/src/mame/includes/cabal.h
+++ b/src/mame/includes/cabal.h
@@ -28,6 +28,8 @@ public:
DECLARE_WRITE16_MEMBER(cabal_text_videoram16_w);
DECLARE_WRITE8_MEMBER(cabalbl_1_adpcm_w);
DECLARE_WRITE8_MEMBER(cabalbl_2_adpcm_w);
+ DECLARE_DRIVER_INIT(cabal);
+ DECLARE_DRIVER_INIT(cabalbl2);
};
diff --git a/src/mame/includes/calomega.h b/src/mame/includes/calomega.h
index 0f434b3e6a1..e74e76af0a9 100644
--- a/src/mame/includes/calomega.h
+++ b/src/mame/includes/calomega.h
@@ -36,6 +36,10 @@ public:
DECLARE_WRITE8_MEMBER(lamps_905_w);
DECLARE_READ_LINE_MEMBER(acia_rx_r);
DECLARE_WRITE_LINE_MEMBER(acia_tx_w);
+ DECLARE_DRIVER_INIT(elgrande);
+ DECLARE_DRIVER_INIT(standard);
+ DECLARE_DRIVER_INIT(comg080);
+ DECLARE_DRIVER_INIT(jjpoker);
};
diff --git a/src/mame/includes/capbowl.h b/src/mame/includes/capbowl.h
index 1f5e8a43817..7ec157a1595 100644
--- a/src/mame/includes/capbowl.h
+++ b/src/mame/includes/capbowl.h
@@ -36,6 +36,7 @@ public:
DECLARE_READ8_MEMBER(capbowl_tms34061_r);
DECLARE_WRITE8_MEMBER(bowlrama_blitter_w);
DECLARE_READ8_MEMBER(bowlrama_blitter_r);
+ DECLARE_DRIVER_INIT(capbowl);
};
/*----------- defined in video/capbowl.c -----------*/
diff --git a/src/mame/includes/carpolo.h b/src/mame/includes/carpolo.h
index 36e229187d9..342e85696a1 100644
--- a/src/mame/includes/carpolo.h
+++ b/src/mame/includes/carpolo.h
@@ -61,6 +61,7 @@ public:
DECLARE_WRITE8_MEMBER(carpolo_car_ball_interrupt_clear_w);
DECLARE_WRITE8_MEMBER(carpolo_car_border_interrupt_clear_w);
DECLARE_WRITE8_MEMBER(carpolo_timer_interrupt_clear_w);
+ DECLARE_DRIVER_INIT(carpolo);
};
diff --git a/src/mame/includes/cave.h b/src/mame/includes/cave.h
index 20127ac058f..88fefdf82f4 100644
--- a/src/mame/includes/cave.h
+++ b/src/mame/includes/cave.h
@@ -164,6 +164,23 @@ public:
DECLARE_WRITE16_MEMBER(korokoro_eeprom_msb_w);
DECLARE_READ16_MEMBER(pwrinst2_eeprom_r);
DECLARE_WRITE16_MEMBER(tjumpman_eeprom_lsb_w);
+ DECLARE_DRIVER_INIT(uopoko);
+ DECLARE_DRIVER_INIT(donpachi);
+ DECLARE_DRIVER_INIT(mazinger);
+ DECLARE_DRIVER_INIT(gaia);
+ DECLARE_DRIVER_INIT(pwrinst2);
+ DECLARE_DRIVER_INIT(ddonpach);
+ DECLARE_DRIVER_INIT(agallet);
+ DECLARE_DRIVER_INIT(hotdogst);
+ DECLARE_DRIVER_INIT(tjumpman);
+ DECLARE_DRIVER_INIT(korokoro);
+ DECLARE_DRIVER_INIT(esprade);
+ DECLARE_DRIVER_INIT(pwrinst2j);
+ DECLARE_DRIVER_INIT(guwange);
+ DECLARE_DRIVER_INIT(feversos);
+ DECLARE_DRIVER_INIT(sailormn);
+ DECLARE_DRIVER_INIT(dfeveron);
+ DECLARE_DRIVER_INIT(metmqstr);
};
/*----------- defined in video/cave.c -----------*/
diff --git a/src/mame/includes/cbasebal.h b/src/mame/includes/cbasebal.h
index ba740390cbb..f35e3d40bff 100644
--- a/src/mame/includes/cbasebal.h
+++ b/src/mame/includes/cbasebal.h
@@ -42,6 +42,7 @@ public:
DECLARE_WRITE8_MEMBER(cbasebal_gfxctrl_w);
DECLARE_WRITE8_MEMBER(cbasebal_scrollx_w);
DECLARE_WRITE8_MEMBER(cbasebal_scrolly_w);
+ DECLARE_DRIVER_INIT(cbasebal);
};
/*----------- defined in video/cbasebal.c -----------*/
diff --git a/src/mame/includes/cbuster.h b/src/mame/includes/cbuster.h
index 2706e98ee1d..cf277eee2f7 100644
--- a/src/mame/includes/cbuster.h
+++ b/src/mame/includes/cbuster.h
@@ -38,6 +38,7 @@ public:
DECLARE_READ16_MEMBER(twocrude_control_r);
DECLARE_WRITE16_MEMBER(twocrude_palette_24bit_rg_w);
DECLARE_WRITE16_MEMBER(twocrude_palette_24bit_b_w);
+ DECLARE_DRIVER_INIT(twocrude);
};
diff --git a/src/mame/includes/cclimber.h b/src/mame/includes/cclimber.h
index 14249132e9d..6d49f9e5d2a 100644
--- a/src/mame/includes/cclimber.h
+++ b/src/mame/includes/cclimber.h
@@ -45,16 +45,18 @@ public:
DECLARE_WRITE8_MEMBER(nmi_mask_w);
DECLARE_WRITE8_MEMBER(cclimber_colorram_w);
DECLARE_WRITE8_MEMBER(cannonb_flip_screen_w);
+ DECLARE_DRIVER_INIT(cclimber);
+ DECLARE_DRIVER_INIT(yamato);
+ DECLARE_DRIVER_INIT(ckongb);
+ DECLARE_DRIVER_INIT(toprollr);
+ DECLARE_DRIVER_INIT(cclimberj);
+ DECLARE_DRIVER_INIT(cannonb2);
+ DECLARE_DRIVER_INIT(cannonb);
};
/*----------- defined in machine/cclimber.c -----------*/
-DRIVER_INIT( cclimber );
-DRIVER_INIT( cclimberj );
-DRIVER_INIT( cannonb );
-DRIVER_INIT( cannonb2 );
-DRIVER_INIT( ckongb );
/*----------- defined in video/cclimber.c -----------*/
diff --git a/src/mame/includes/cd32.h b/src/mame/includes/cd32.h
index 53706c3ef89..623efa022fc 100644
--- a/src/mame/includes/cd32.h
+++ b/src/mame/includes/cd32.h
@@ -30,6 +30,15 @@ public:
DECLARE_WRITE8_MEMBER(cd32_cia_0_porta_w);
DECLARE_READ8_MEMBER(cd32_cia_0_portb_r);
DECLARE_WRITE8_MEMBER(cd32_cia_0_portb_w);
+ DECLARE_DRIVER_INIT(cd32);
+ DECLARE_DRIVER_INIT(mgprem11);
+ DECLARE_DRIVER_INIT(odeontw2);
+ DECLARE_DRIVER_INIT(cndypuzl);
+ DECLARE_DRIVER_INIT(haremchl);
+ DECLARE_DRIVER_INIT(mgnumber);
+ DECLARE_DRIVER_INIT(lsrquiz2);
+ DECLARE_DRIVER_INIT(lasstixx);
+ DECLARE_DRIVER_INIT(lsrquiz);
};
/*----------- defined in machine/cd32.c -----------*/
diff --git a/src/mame/includes/centiped.h b/src/mame/includes/centiped.h
index daabc1ddc9a..21123edf7cd 100644
--- a/src/mame/includes/centiped.h
+++ b/src/mame/includes/centiped.h
@@ -61,6 +61,8 @@ public:
DECLARE_WRITE8_MEMBER(centiped_paletteram_w);
DECLARE_WRITE8_MEMBER(milliped_paletteram_w);
DECLARE_WRITE8_MEMBER(mazeinv_paletteram_w);
+ DECLARE_DRIVER_INIT(multiped);
+ DECLARE_DRIVER_INIT(bullsdrt);
};
diff --git a/src/mame/includes/champbas.h b/src/mame/includes/champbas.h
index d3ade93ce5e..b23d1bca6d9 100644
--- a/src/mame/includes/champbas.h
+++ b/src/mame/includes/champbas.h
@@ -49,6 +49,8 @@ public:
DECLARE_WRITE8_MEMBER(champbas_dac_w);
DECLARE_WRITE8_MEMBER(champbas_dac1_w);
DECLARE_WRITE8_MEMBER(champbas_dac2_w);
+ DECLARE_DRIVER_INIT(exctsccr);
+ DECLARE_DRIVER_INIT(champbas);
};
diff --git a/src/mame/includes/cinemat.h b/src/mame/includes/cinemat.h
index e85ab7539f7..eac7c51d7cf 100644
--- a/src/mame/includes/cinemat.h
+++ b/src/mame/includes/cinemat.h
@@ -52,6 +52,11 @@ public:
DECLARE_WRITE8_MEMBER(cinemat_sound_control_w);
DECLARE_WRITE8_MEMBER(qb3_sound_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(speedfrk);
+ DECLARE_DRIVER_INIT(boxingb);
+ DECLARE_DRIVER_INIT(tailg);
+ DECLARE_DRIVER_INIT(sundance);
+ DECLARE_DRIVER_INIT(qb3);
};
diff --git a/src/mame/includes/circus.h b/src/mame/includes/circus.h
index b440a069a4f..b69181b04b5 100644
--- a/src/mame/includes/circus.h
+++ b/src/mame/includes/circus.h
@@ -28,6 +28,10 @@ public:
DECLARE_WRITE8_MEMBER(circus_clown_x_w);
DECLARE_WRITE8_MEMBER(circus_clown_y_w);
DECLARE_WRITE8_MEMBER(circus_clown_z_w);
+ DECLARE_DRIVER_INIT(ripcord);
+ DECLARE_DRIVER_INIT(circus);
+ DECLARE_DRIVER_INIT(robotbwl);
+ DECLARE_DRIVER_INIT(crash);
};
diff --git a/src/mame/includes/circusc.h b/src/mame/includes/circusc.h
index f19cd54cbfd..d1a3a443751 100644
--- a/src/mame/includes/circusc.h
+++ b/src/mame/includes/circusc.h
@@ -48,6 +48,7 @@ public:
DECLARE_WRITE8_MEMBER(circusc_videoram_w);
DECLARE_WRITE8_MEMBER(circusc_colorram_w);
DECLARE_WRITE8_MEMBER(circusc_flipscreen_w);
+ DECLARE_DRIVER_INIT(circusc);
};
diff --git a/src/mame/includes/cischeat.h b/src/mame/includes/cischeat.h
index 2ba3859201d..a29770218b6 100644
--- a/src/mame/includes/cischeat.h
+++ b/src/mame/includes/cischeat.h
@@ -69,6 +69,10 @@ public:
void cischeat_set_vreg_flag(int which, int data);
DECLARE_WRITE16_MEMBER(cischeat_soundbank_1_w);
DECLARE_WRITE16_MEMBER(cischeat_soundbank_2_w);
+ DECLARE_DRIVER_INIT(wildplt);
+ DECLARE_DRIVER_INIT(cischeat);
+ DECLARE_DRIVER_INIT(bigrun);
+ DECLARE_DRIVER_INIT(f1gpstar);
};
diff --git a/src/mame/includes/citycon.h b/src/mame/includes/citycon.h
index f8befd388a8..fb049fdcd26 100644
--- a/src/mame/includes/citycon.h
+++ b/src/mame/includes/citycon.h
@@ -33,6 +33,7 @@ public:
DECLARE_WRITE8_MEMBER(citycon_videoram_w);
DECLARE_WRITE8_MEMBER(citycon_linecolor_w);
DECLARE_WRITE8_MEMBER(citycon_background_w);
+ DECLARE_DRIVER_INIT(citycon);
};
diff --git a/src/mame/includes/clshroad.h b/src/mame/includes/clshroad.h
index 4663123205d..834cb465ad8 100644
--- a/src/mame/includes/clshroad.h
+++ b/src/mame/includes/clshroad.h
@@ -19,6 +19,7 @@ public:
DECLARE_WRITE8_MEMBER(clshroad_flipscreen_w);
DECLARE_WRITE8_MEMBER(clshroad_vram_0_w);
DECLARE_WRITE8_MEMBER(clshroad_vram_1_w);
+ DECLARE_DRIVER_INIT(firebatl);
};
diff --git a/src/mame/includes/cninja.h b/src/mame/includes/cninja.h
index e7d13325fcc..dd1cd44b4f6 100644
--- a/src/mame/includes/cninja.h
+++ b/src/mame/includes/cninja.h
@@ -58,6 +58,9 @@ public:
DECLARE_WRITE16_MEMBER(cninja_pf12_control_w);
DECLARE_WRITE16_MEMBER(cninja_pf34_control_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
+ DECLARE_DRIVER_INIT(stoneage);
+ DECLARE_DRIVER_INIT(mutantf);
+ DECLARE_DRIVER_INIT(cninja);
};
/*----------- defined in video/cninja.c -----------*/
diff --git a/src/mame/includes/combatsc.h b/src/mame/includes/combatsc.h
index 8eca2af412f..30ccb016151 100644
--- a/src/mame/includes/combatsc.h
+++ b/src/mame/includes/combatsc.h
@@ -65,6 +65,7 @@ public:
DECLARE_WRITE8_MEMBER(combatsc_voice_reset_w);
DECLARE_WRITE8_MEMBER(combatsc_portA_w);
DECLARE_WRITE8_MEMBER(combatscb_dac_w);
+ DECLARE_DRIVER_INIT(combatsc);
};
diff --git a/src/mame/includes/commando.h b/src/mame/includes/commando.h
index 72aec04562e..8bf37ca5e81 100644
--- a/src/mame/includes/commando.h
+++ b/src/mame/includes/commando.h
@@ -39,6 +39,8 @@ public:
DECLARE_WRITE8_MEMBER(commando_scrollx_w);
DECLARE_WRITE8_MEMBER(commando_scrolly_w);
DECLARE_WRITE8_MEMBER(commando_c804_w);
+ DECLARE_DRIVER_INIT(spaceinv);
+ DECLARE_DRIVER_INIT(commando);
};
diff --git a/src/mame/includes/compgolf.h b/src/mame/includes/compgolf.h
index 11cf1901f23..19aa17ef242 100644
--- a/src/mame/includes/compgolf.h
+++ b/src/mame/includes/compgolf.h
@@ -33,6 +33,7 @@ public:
DECLARE_WRITE8_MEMBER(compgolf_back_w);
DECLARE_WRITE8_MEMBER(compgolf_scrollx_lo_w);
DECLARE_WRITE8_MEMBER(compgolf_scrolly_lo_w);
+ DECLARE_DRIVER_INIT(compgolf);
};
diff --git a/src/mame/includes/coolpool.h b/src/mame/includes/coolpool.h
index 9a9c7c5e28e..b973181c515 100644
--- a/src/mame/includes/coolpool.h
+++ b/src/mame/includes/coolpool.h
@@ -53,4 +53,7 @@ public:
DECLARE_WRITE16_MEMBER(dsp_romaddr_w);
DECLARE_READ16_MEMBER(coolpool_input_r);
DECLARE_WRITE16_MEMBER(dsp_dac_w);
+ DECLARE_DRIVER_INIT(coolpool);
+ DECLARE_DRIVER_INIT(amerdart);
+ DECLARE_DRIVER_INIT(9ballsht);
};
diff --git a/src/mame/includes/cop01.h b/src/mame/includes/cop01.h
index 570edd9ca74..d465d820947 100644
--- a/src/mame/includes/cop01.h
+++ b/src/mame/includes/cop01.h
@@ -39,6 +39,7 @@ public:
DECLARE_WRITE8_MEMBER(cop01_foreground_w);
DECLARE_WRITE8_MEMBER(cop01_vreg_w);
DECLARE_CUSTOM_INPUT_MEMBER(mightguy_area_r);
+ DECLARE_DRIVER_INIT(mightguy);
};
diff --git a/src/mame/includes/cosmic.h b/src/mame/includes/cosmic.h
index 868614f7e51..4f353129349 100644
--- a/src/mame/includes/cosmic.h
+++ b/src/mame/includes/cosmic.h
@@ -57,6 +57,11 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(cosmicg_coin_inserted);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted_irq0);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted_nmi);
+ DECLARE_DRIVER_INIT(devzone);
+ DECLARE_DRIVER_INIT(cosmicg);
+ DECLARE_DRIVER_INIT(nomnlnd);
+ DECLARE_DRIVER_INIT(cosmica);
+ DECLARE_DRIVER_INIT(panic);
};
diff --git a/src/mame/includes/cps1.h b/src/mame/includes/cps1.h
index fddc94232b8..1fb7c2f27ef 100644
--- a/src/mame/includes/cps1.h
+++ b/src/mame/includes/cps1.h
@@ -173,6 +173,25 @@ public:
DECLARE_WRITE16_MEMBER(cps2_objram1_w);
DECLARE_WRITE16_MEMBER(cps2_objram2_w);
DECLARE_WRITE8_MEMBER(cps1_oki_pin7_w);
+ DECLARE_DRIVER_INIT(sf2thndr);
+ DECLARE_DRIVER_INIT(dinohunt);
+ DECLARE_DRIVER_INIT(forgottn);
+ DECLARE_DRIVER_INIT(sf2hack);
+ DECLARE_DRIVER_INIT(slammast);
+ DECLARE_DRIVER_INIT(pang3b);
+ DECLARE_DRIVER_INIT(pang3);
+ DECLARE_DRIVER_INIT(sf2ee);
+ DECLARE_DRIVER_INIT(cps1);
+ DECLARE_DRIVER_INIT(sf2mdt);
+ DECLARE_DRIVER_INIT(dino);
+ DECLARE_DRIVER_INIT(punisher);
+ DECLARE_DRIVER_INIT(wof);
+ DECLARE_DRIVER_INIT(cps2_video);
+ DECLARE_DRIVER_INIT(cps2);
+ DECLARE_DRIVER_INIT(cps2crpt);
+ DECLARE_DRIVER_INIT(ssf2tb);
+ DECLARE_DRIVER_INIT(pzloop2);
+ DECLARE_DRIVER_INIT(gigaman2);
};
/*----------- defined in drivers/cps1.c -----------*/
@@ -187,8 +206,6 @@ GFXDECODE_EXTERN( cps1 );
/*----------- defined in video/cps1.c -----------*/
-DRIVER_INIT( cps1 );
-DRIVER_INIT( cps2_video );
VIDEO_START( cps1 );
@@ -207,7 +224,6 @@ void cps2_objram_latch(running_machine &machine);
/*----------- defined in machine/cps2crpt.c -----------*/
-DRIVER_INIT( cps2crpt );
/*----------- defined in machine/kabuki.c -----------*/
diff --git a/src/mame/includes/cps3.h b/src/mame/includes/cps3.h
index 5cfb8b61b72..1ab7f49c953 100644
--- a/src/mame/includes/cps3.h
+++ b/src/mame/includes/cps3.h
@@ -99,6 +99,12 @@ public:
DECLARE_READ32_MEMBER(cps3_colourram_r);
DECLARE_WRITE32_MEMBER(cps3_colourram_w);
DECLARE_DIRECT_UPDATE_MEMBER(cps3_direct_handler);
+ DECLARE_DRIVER_INIT(sfiii3);
+ DECLARE_DRIVER_INIT(sfiii);
+ DECLARE_DRIVER_INIT(redearth);
+ DECLARE_DRIVER_INIT(jojo);
+ DECLARE_DRIVER_INIT(jojoba);
+ DECLARE_DRIVER_INIT(sfiii2);
};
diff --git a/src/mame/includes/crgolf.h b/src/mame/includes/crgolf.h
index da33b6064e6..4f4ff6bd224 100644
--- a/src/mame/includes/crgolf.h
+++ b/src/mame/includes/crgolf.h
@@ -49,6 +49,7 @@ public:
DECLARE_WRITE8_MEMBER(crgolf_videoram_w);
DECLARE_READ8_MEMBER(crgolf_videoram_r);
DECLARE_WRITE8_MEMBER(crgolfhi_sample_w);
+ DECLARE_DRIVER_INIT(crgolfhi);
};
/*----------- defined in video/crgolf.c -----------*/
diff --git a/src/mame/includes/crospang.h b/src/mame/includes/crospang.h
index 59574a348d7..d6c19a9b2c9 100644
--- a/src/mame/includes/crospang.h
+++ b/src/mame/includes/crospang.h
@@ -38,6 +38,7 @@ public:
DECLARE_WRITE16_MEMBER(crospang_bg_scrollx_w);
DECLARE_WRITE16_MEMBER(crospang_fg_videoram_w);
DECLARE_WRITE16_MEMBER(crospang_bg_videoram_w);
+ DECLARE_DRIVER_INIT(crospang);
};
diff --git a/src/mame/includes/crshrace.h b/src/mame/includes/crshrace.h
index af4421ee837..e6abefc790f 100644
--- a/src/mame/includes/crshrace.h
+++ b/src/mame/includes/crshrace.h
@@ -43,6 +43,8 @@ public:
DECLARE_WRITE16_MEMBER(crshrace_roz_bank_w);
DECLARE_WRITE16_MEMBER(crshrace_gfxctrl_w);
DECLARE_CUSTOM_INPUT_MEMBER(country_sndpending_r);
+ DECLARE_DRIVER_INIT(crshrace2);
+ DECLARE_DRIVER_INIT(crshrace);
};
/*----------- defined in video/crshrace.c -----------*/
diff --git a/src/mame/includes/cvs.h b/src/mame/includes/cvs.h
index 79d36d84b66..a2c37604a39 100644
--- a/src/mame/includes/cvs.h
+++ b/src/mame/includes/cvs.h
@@ -95,6 +95,11 @@ public:
DECLARE_WRITE8_MEMBER(cvs_unknown_w);
DECLARE_WRITE8_MEMBER(cvs_tms5110_ctl_w);
DECLARE_WRITE8_MEMBER(cvs_tms5110_pdc_w);
+ DECLARE_DRIVER_INIT(raiders);
+ DECLARE_DRIVER_INIT(huncholy);
+ DECLARE_DRIVER_INIT(hero);
+ DECLARE_DRIVER_INIT(superbik);
+ DECLARE_DRIVER_INIT(hunchbaka);
};
diff --git a/src/mame/includes/cyberbal.h b/src/mame/includes/cyberbal.h
index 0d225e3b1d5..a93fd036a4e 100644
--- a/src/mame/includes/cyberbal.h
+++ b/src/mame/includes/cyberbal.h
@@ -41,6 +41,9 @@ public:
DECLARE_READ16_MEMBER(cyberbal_sound_68k_r);
DECLARE_WRITE16_MEMBER(cyberbal_sound_68k_w);
DECLARE_WRITE16_MEMBER(cyberbal_sound_68k_dac_w);
+ DECLARE_DRIVER_INIT(cyberbalt);
+ DECLARE_DRIVER_INIT(cyberbal2p);
+ DECLARE_DRIVER_INIT(cyberbal);
};
diff --git a/src/mame/includes/darius.h b/src/mame/includes/darius.h
index 7e51309024c..786d3edea7f 100644
--- a/src/mame/includes/darius.h
+++ b/src/mame/includes/darius.h
@@ -85,6 +85,7 @@ public:
DECLARE_WRITE8_MEMBER(darius_write_portB0);
DECLARE_WRITE8_MEMBER(darius_write_portB1);
DECLARE_WRITE8_MEMBER(adpcm_data_w);
+ DECLARE_DRIVER_INIT(darius);
};
diff --git a/src/mame/includes/darkmist.h b/src/mame/includes/darkmist.h
index 0b2f1ce0765..90a765207b0 100644
--- a/src/mame/includes/darkmist.h
+++ b/src/mame/includes/darkmist.h
@@ -21,6 +21,7 @@ public:
tilemap_t *m_txtilemap;
DECLARE_WRITE8_MEMBER(darkmist_hw_w);
+ DECLARE_DRIVER_INIT(darkmist);
};
diff --git a/src/mame/includes/darkseal.h b/src/mame/includes/darkseal.h
index 4c9d313e83d..1399463f7b4 100644
--- a/src/mame/includes/darkseal.h
+++ b/src/mame/includes/darkseal.h
@@ -28,6 +28,7 @@ public:
DECLARE_READ16_MEMBER(darkseal_control_r);
DECLARE_WRITE16_MEMBER(darkseal_palette_24bit_rg_w);
DECLARE_WRITE16_MEMBER(darkseal_palette_24bit_b_w);
+ DECLARE_DRIVER_INIT(darkseal);
};
diff --git a/src/mame/includes/dassault.h b/src/mame/includes/dassault.h
index bfc7ae5f17d..8b72f2710e2 100644
--- a/src/mame/includes/dassault.h
+++ b/src/mame/includes/dassault.h
@@ -56,6 +56,8 @@ public:
DECLARE_WRITE16_MEMBER(shared_ram_w);
DECLARE_READ16_MEMBER(shared_ram_r);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
+ DECLARE_DRIVER_INIT(thndzone);
+ DECLARE_DRIVER_INIT(dassault);
};
diff --git a/src/mame/includes/dbz.h b/src/mame/includes/dbz.h
index 8ccc55e5f8b..977412686ac 100644
--- a/src/mame/includes/dbz.h
+++ b/src/mame/includes/dbz.h
@@ -42,6 +42,9 @@ public:
DECLARE_WRITE16_MEMBER(dbz_bg2_videoram_w);
DECLARE_WRITE16_MEMBER(dbz_bg1_videoram_w);
DECLARE_WRITE_LINE_MEMBER(dbz_irq2_ack_w);
+ DECLARE_DRIVER_INIT(dbza);
+ DECLARE_DRIVER_INIT(dbz);
+ DECLARE_DRIVER_INIT(dbz2);
};
diff --git a/src/mame/includes/dc.h b/src/mame/includes/dc.h
index a489bad8de9..d1788724ef0 100644
--- a/src/mame/includes/dc.h
+++ b/src/mame/includes/dc.h
@@ -71,6 +71,22 @@ class dc_state : public driver_device
optional_shared_ptr<UINT64> pvr2_texture_ram;
optional_shared_ptr<UINT64> pvr2_framebuffer_ram;
optional_shared_ptr<UINT64> elan_ram;
+ DECLARE_DRIVER_INIT(atomiswave);
+ DECLARE_DRIVER_INIT(naomigd);
+ DECLARE_DRIVER_INIT(ggxx);
+ DECLARE_DRIVER_INIT(ggxxrl);
+ DECLARE_DRIVER_INIT(ggxxsla);
+ DECLARE_DRIVER_INIT(naomi2);
+ DECLARE_DRIVER_INIT(naomi);
+ DECLARE_DRIVER_INIT(naomigd_mp);
+ DECLARE_DRIVER_INIT(sfz3ugd);
+ DECLARE_DRIVER_INIT(hotd2);
+ DECLARE_DRIVER_INIT(qmegamis);
+ DECLARE_DRIVER_INIT(gram2000);
+ DECLARE_DRIVER_INIT(kick4csh);
+ DECLARE_DRIVER_INIT(vf4evoct);
+ DECLARE_DRIVER_INIT(naomi_mp);
+ DECLARE_DRIVER_INIT(mvsc2);
};
/*----------- defined in machine/dc.c -----------*/
diff --git a/src/mame/includes/dcon.h b/src/mame/includes/dcon.h
index 3f60ab96da3..efaee34ea8b 100644
--- a/src/mame/includes/dcon.h
+++ b/src/mame/includes/dcon.h
@@ -31,6 +31,7 @@ public:
DECLARE_WRITE16_MEMBER(dcon_foreground_w);
DECLARE_WRITE16_MEMBER(dcon_midground_w);
DECLARE_WRITE16_MEMBER(dcon_text_w);
+ DECLARE_DRIVER_INIT(sdgndmps);
};
diff --git a/src/mame/includes/ddragon.h b/src/mame/includes/ddragon.h
index a4a57704551..c975c33a9d9 100644
--- a/src/mame/includes/ddragon.h
+++ b/src/mame/includes/ddragon.h
@@ -83,6 +83,12 @@ public:
DECLARE_WRITE8_MEMBER(dd_adpcm_w);
DECLARE_READ8_MEMBER(dd_adpcm_status_r);
DECLARE_WRITE8_MEMBER(ddragonba_port_w);
+ DECLARE_DRIVER_INIT(toffy);
+ DECLARE_DRIVER_INIT(darktowr);
+ DECLARE_DRIVER_INIT(ddragon2);
+ DECLARE_DRIVER_INIT(ddragon);
+ DECLARE_DRIVER_INIT(ddragon6809);
+ DECLARE_DRIVER_INIT(chinagat);
};
diff --git a/src/mame/includes/deadang.h b/src/mame/includes/deadang.h
index 780d12d7b37..b4df373e951 100644
--- a/src/mame/includes/deadang.h
+++ b/src/mame/includes/deadang.h
@@ -24,6 +24,8 @@ public:
DECLARE_WRITE16_MEMBER(deadang_foreground_w);
DECLARE_WRITE16_MEMBER(deadang_text_w);
DECLARE_WRITE16_MEMBER(deadang_bank_w);
+ DECLARE_DRIVER_INIT(deadang);
+ DECLARE_DRIVER_INIT(ghunter);
};
diff --git a/src/mame/includes/dec0.h b/src/mame/includes/dec0.h
index 099dfb98154..78d5a6078d9 100644
--- a/src/mame/includes/dec0.h
+++ b/src/mame/includes/dec0.h
@@ -62,6 +62,13 @@ public:
DECLARE_WRITE16_MEMBER(dec0_paletteram_rg_w);
DECLARE_WRITE16_MEMBER(dec0_paletteram_b_w);
DECLARE_WRITE16_MEMBER(dec0_priority_w);
+ DECLARE_DRIVER_INIT(robocop);
+ DECLARE_DRIVER_INIT(hippodrm);
+ DECLARE_DRIVER_INIT(hbarrel);
+ DECLARE_DRIVER_INIT(slyspy);
+ DECLARE_DRIVER_INIT(birdtry);
+ DECLARE_DRIVER_INIT(baddudes);
+ DECLARE_DRIVER_INIT(midresb);
};
@@ -111,12 +118,6 @@ SCREEN_UPDATE_IND16( secretab );
READ16_HANDLER( slyspy_controls_r );
-DRIVER_INIT( slyspy );
-DRIVER_INIT( hippodrm );
-DRIVER_INIT( robocop );
-DRIVER_INIT( baddudes );
-DRIVER_INIT( hbarrel );
-DRIVER_INIT( birdtry );
extern void dec0_i8751_write(running_machine &machine, int data);
extern void dec0_i8751_reset(running_machine &machine);
diff --git a/src/mame/includes/dec8.h b/src/mame/includes/dec8.h
index 3b02b32b019..49e30bc428d 100644
--- a/src/mame/includes/dec8.h
+++ b/src/mame/includes/dec8.h
@@ -88,6 +88,18 @@ public:
DECLARE_WRITE8_MEMBER(lastmisn_scrolly_w);
DECLARE_WRITE8_MEMBER(gondo_scroll_w);
DECLARE_READ8_MEMBER(csilver_adpcm_reset_r);
+ DECLARE_DRIVER_INIT(dec8);
+ DECLARE_DRIVER_INIT(deco222);
+ DECLARE_DRIVER_INIT(meikyuh);
+ DECLARE_DRIVER_INIT(garyoret);
+ DECLARE_DRIVER_INIT(shackled);
+ DECLARE_DRIVER_INIT(cobracom);
+ DECLARE_DRIVER_INIT(csilver);
+ DECLARE_DRIVER_INIT(ghostb);
+ DECLARE_DRIVER_INIT(srdarwin);
+ DECLARE_DRIVER_INIT(lastmisn);
+ DECLARE_DRIVER_INIT(gondo);
+ DECLARE_DRIVER_INIT(oscar);
};
/*----------- defined in video/dec8.c -----------*/
diff --git a/src/mame/includes/deco32.h b/src/mame/includes/deco32.h
index 140945d9945..d3b48628e7d 100644
--- a/src/mame/includes/deco32.h
+++ b/src/mame/includes/deco32.h
@@ -97,6 +97,10 @@ public:
DECLARE_READ32_MEMBER(dragngun_eeprom_r);
DECLARE_WRITE32_MEMBER(dragngun_eeprom_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
+ DECLARE_DRIVER_INIT(tattass);
+ DECLARE_DRIVER_INIT(nslasher);
+ DECLARE_DRIVER_INIT(captaven);
+ DECLARE_DRIVER_INIT(fghthist);
};
class dragngun_state : public deco32_state
@@ -119,6 +123,8 @@ public:
DECLARE_WRITE32_MEMBER(dragngun_lightgun_w);
DECLARE_WRITE32_MEMBER(dragngun_sprite_control_w);
DECLARE_WRITE32_MEMBER(dragngun_spriteram_dma_w);
+ DECLARE_DRIVER_INIT(dragngun);
+ DECLARE_DRIVER_INIT(lockload);
};
diff --git a/src/mame/includes/deco_mlc.h b/src/mame/includes/deco_mlc.h
index 5f9ae2378dd..d2a795a3d7e 100644
--- a/src/mame/includes/deco_mlc.h
+++ b/src/mame/includes/deco_mlc.h
@@ -32,6 +32,8 @@ public:
DECLARE_READ32_MEMBER(stadhr96_prot_146_r);
DECLARE_READ32_MEMBER(avengrgs_speedup_r);
DECLARE_WRITE32_MEMBER(avengrs_eprom_w);
+ DECLARE_DRIVER_INIT(mlc);
+ DECLARE_DRIVER_INIT(avengrgs);
};
diff --git a/src/mame/includes/deniam.h b/src/mame/includes/deniam.h
index a3965eecd0e..9fd73f23f24 100644
--- a/src/mame/includes/deniam.h
+++ b/src/mame/includes/deniam.h
@@ -51,6 +51,8 @@ public:
DECLARE_WRITE16_MEMBER(deniam_coinctrl_w);
DECLARE_WRITE8_MEMBER(deniam16b_oki_rom_bank_w);
DECLARE_WRITE16_MEMBER(deniam16c_oki_rom_bank_w);
+ DECLARE_DRIVER_INIT(karianx);
+ DECLARE_DRIVER_INIT(logicpro);
};
@@ -60,5 +62,3 @@ public:
VIDEO_START( deniam );
SCREEN_UPDATE_IND16( deniam );
-DRIVER_INIT( logicpro );
-DRIVER_INIT( karianx );
diff --git a/src/mame/includes/dietgo.h b/src/mame/includes/dietgo.h
index 974c0ca6115..2a42bbb4f03 100644
--- a/src/mame/includes/dietgo.h
+++ b/src/mame/includes/dietgo.h
@@ -23,6 +23,7 @@ public:
device_t *m_maincpu;
device_t *m_audiocpu;
device_t *m_deco_tilegen1;
+ DECLARE_DRIVER_INIT(dietgo);
};
diff --git a/src/mame/includes/djboy.h b/src/mame/includes/djboy.h
index 346839ad603..638f325fe15 100644
--- a/src/mame/includes/djboy.h
+++ b/src/mame/includes/djboy.h
@@ -65,6 +65,8 @@ public:
DECLARE_WRITE8_MEMBER(djboy_scrolly_w);
DECLARE_WRITE8_MEMBER(djboy_videoram_w);
DECLARE_WRITE8_MEMBER(djboy_paletteram_w);
+ DECLARE_DRIVER_INIT(djboy);
+ DECLARE_DRIVER_INIT(djboyj);
};
diff --git a/src/mame/includes/djmain.h b/src/mame/includes/djmain.h
index 86b35b84da0..d659a59a5f5 100644
--- a/src/mame/includes/djmain.h
+++ b/src/mame/includes/djmain.h
@@ -38,6 +38,18 @@ public:
DECLARE_WRITE32_MEMBER(ide_std_w);
DECLARE_READ32_MEMBER(ide_alt_r);
DECLARE_WRITE32_MEMBER(ide_alt_w);
+ DECLARE_DRIVER_INIT(bm7thmix);
+ DECLARE_DRIVER_INIT(bm6thmix);
+ DECLARE_DRIVER_INIT(hmcompmx);
+ DECLARE_DRIVER_INIT(bmfinal);
+ DECLARE_DRIVER_INIT(hmcompm2);
+ DECLARE_DRIVER_INIT(bm5thmix);
+ DECLARE_DRIVER_INIT(bm4thmix);
+ DECLARE_DRIVER_INIT(beatmania);
+ DECLARE_DRIVER_INIT(bmdct);
+ DECLARE_DRIVER_INIT(bmcompm2);
+ DECLARE_DRIVER_INIT(bmcorerm);
+ DECLARE_DRIVER_INIT(bmclubmx);
};
diff --git a/src/mame/includes/dkong.h b/src/mame/includes/dkong.h
index 85700c467a6..b6238b49215 100644
--- a/src/mame/includes/dkong.h
+++ b/src/mame/includes/dkong.h
@@ -232,6 +232,11 @@ public:
DECLARE_WRITE8_MEMBER(dkong_z80dma_rdy_w);
DECLARE_READ8_MEMBER(braze_eeprom_r);
DECLARE_WRITE8_MEMBER(braze_eeprom_w);
+ DECLARE_DRIVER_INIT(strtheat);
+ DECLARE_DRIVER_INIT(herodk);
+ DECLARE_DRIVER_INIT(dkingjr);
+ DECLARE_DRIVER_INIT(drakton);
+ DECLARE_DRIVER_INIT(dkongx);
};
/*----------- defined in video/dkong.c -----------*/
diff --git a/src/mame/includes/drgnmst.h b/src/mame/includes/drgnmst.h
index 5b17ac1b123..74469b4f53f 100644
--- a/src/mame/includes/drgnmst.h
+++ b/src/mame/includes/drgnmst.h
@@ -56,6 +56,7 @@ public:
DECLARE_WRITE16_MEMBER(drgnmst_fg_videoram_w);
DECLARE_WRITE16_MEMBER(drgnmst_bg_videoram_w);
DECLARE_WRITE16_MEMBER(drgnmst_md_videoram_w);
+ DECLARE_DRIVER_INIT(drgnmst);
};
diff --git a/src/mame/includes/dynax.h b/src/mame/includes/dynax.h
index aa82a7d19cd..f89e7f2dde4 100644
--- a/src/mame/includes/dynax.h
+++ b/src/mame/includes/dynax.h
@@ -420,6 +420,14 @@ public:
DECLARE_WRITE8_MEMBER(seljan2_rombank_w);
DECLARE_WRITE8_MEMBER(seljan2_palette_enab_w);
DECLARE_WRITE8_MEMBER(seljan2_palette_w);
+ DECLARE_DRIVER_INIT(mjelct3);
+ DECLARE_DRIVER_INIT(blktouch);
+ DECLARE_DRIVER_INIT(mjelct3a);
+ DECLARE_DRIVER_INIT(mjreach);
+ DECLARE_DRIVER_INIT(maya);
+ DECLARE_DRIVER_INIT(rongrong);
+ DECLARE_DRIVER_INIT(momotaro);
+
};
//----------- defined in drivers/dynax.c -----------
diff --git a/src/mame/includes/dynduke.h b/src/mame/includes/dynduke.h
index 33e6d30ddf1..050033aaaea 100644
--- a/src/mame/includes/dynduke.h
+++ b/src/mame/includes/dynduke.h
@@ -35,6 +35,7 @@ public:
DECLARE_WRITE16_MEMBER(dynduke_text_w);
DECLARE_WRITE16_MEMBER(dynduke_gfxbank_w);
DECLARE_WRITE16_MEMBER(dynduke_control_w);
+ DECLARE_DRIVER_INIT(dynduke);
};
diff --git a/src/mame/includes/eolith.h b/src/mame/includes/eolith.h
index 8efe78842db..56ce69a968a 100644
--- a/src/mame/includes/eolith.h
+++ b/src/mame/includes/eolith.h
@@ -32,6 +32,11 @@ public:
DECLARE_READ8_MEMBER(qs1000_p1_r);
DECLARE_WRITE8_MEMBER(qs1000_p1_w);
+ DECLARE_DRIVER_INIT(eolith);
+ DECLARE_DRIVER_INIT(landbrk);
+ DECLARE_DRIVER_INIT(hidctch3);
+ DECLARE_DRIVER_INIT(hidctch2);
+ DECLARE_DRIVER_INIT(landbrka);
};
diff --git a/src/mame/includes/epos.h b/src/mame/includes/epos.h
index fb1cd10b001..c29abdb91ca 100644
--- a/src/mame/includes/epos.h
+++ b/src/mame/includes/epos.h
@@ -22,6 +22,7 @@ public:
DECLARE_WRITE8_MEMBER(dealer_decrypt_rom);
DECLARE_WRITE8_MEMBER(epos_port_1_w);
DECLARE_WRITE8_MEMBER(write_prtc);
+ DECLARE_DRIVER_INIT(dealer);
};
diff --git a/src/mame/includes/eprom.h b/src/mame/includes/eprom.h
index b046ba12681..844b266a186 100644
--- a/src/mame/includes/eprom.h
+++ b/src/mame/includes/eprom.h
@@ -21,6 +21,9 @@ public:
DECLARE_WRITE16_MEMBER(eprom_latch_w);
DECLARE_READ16_MEMBER(sync_r);
DECLARE_WRITE16_MEMBER(sync_w);
+ DECLARE_DRIVER_INIT(klaxp);
+ DECLARE_DRIVER_INIT(guts);
+ DECLARE_DRIVER_INIT(eprom);
};
diff --git a/src/mame/includes/equites.h b/src/mame/includes/equites.h
index caaa78d76bf..b6c52fe6bf7 100644
--- a/src/mame/includes/equites.h
+++ b/src/mame/includes/equites.h
@@ -88,6 +88,12 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(gekisou_unknown_status);
DECLARE_WRITE8_MEMBER(equites_8910porta_w);
DECLARE_WRITE8_MEMBER(equites_8910portb_w);
+ DECLARE_DRIVER_INIT(bullfgtr);
+ DECLARE_DRIVER_INIT(kouyakyu);
+ DECLARE_DRIVER_INIT(hvoltage);
+ DECLARE_DRIVER_INIT(gekisou);
+ DECLARE_DRIVER_INIT(splndrbt);
+ DECLARE_DRIVER_INIT(equites);
};
diff --git a/src/mame/includes/esripsys.h b/src/mame/includes/esripsys.h
index 4522b2978ac..afc280cbeee 100644
--- a/src/mame/includes/esripsys.h
+++ b/src/mame/includes/esripsys.h
@@ -90,6 +90,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_interrupt);
DECLARE_WRITE_LINE_MEMBER(ptm_irq);
DECLARE_WRITE8_MEMBER(esripsys_dac_w);
+ DECLARE_DRIVER_INIT(esripsys);
};
diff --git a/src/mame/includes/exerion.h b/src/mame/includes/exerion.h
index 0950ae22e04..bd477a0af40 100644
--- a/src/mame/includes/exerion.h
+++ b/src/mame/includes/exerion.h
@@ -55,6 +55,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_READ8_MEMBER(exerion_porta_r);
DECLARE_WRITE8_MEMBER(exerion_portb_w);
+ DECLARE_DRIVER_INIT(exerion);
+ DECLARE_DRIVER_INIT(exerionb);
};
diff --git a/src/mame/includes/exidy.h b/src/mame/includes/exidy.h
index de46674fe47..e20d0d2b506 100644
--- a/src/mame/includes/exidy.h
+++ b/src/mame/includes/exidy.h
@@ -55,6 +55,16 @@ public:
DECLARE_WRITE8_MEMBER(fax_bank_select_w);
DECLARE_READ8_MEMBER(exidy_interrupt_r);
DECLARE_CUSTOM_INPUT_MEMBER(teetert_input_r);
+ DECLARE_DRIVER_INIT(fax);
+ DECLARE_DRIVER_INIT(sidetrac);
+ DECLARE_DRIVER_INIT(pepper2);
+ DECLARE_DRIVER_INIT(targ);
+ DECLARE_DRIVER_INIT(rallys);
+ DECLARE_DRIVER_INIT(mtrap);
+ DECLARE_DRIVER_INIT(teetert);
+ DECLARE_DRIVER_INIT(venture);
+ DECLARE_DRIVER_INIT(spectar);
+ DECLARE_DRIVER_INIT(phantoma);
};
diff --git a/src/mame/includes/exidy440.h b/src/mame/includes/exidy440.h
index 2be1aa9c985..046d1ed797c 100644
--- a/src/mame/includes/exidy440.h
+++ b/src/mame/includes/exidy440.h
@@ -58,6 +58,11 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(firq_vblank_r);
DECLARE_CUSTOM_INPUT_MEMBER(hitnmiss_button1_r);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(showdown);
+ DECLARE_DRIVER_INIT(topsecex);
+ DECLARE_DRIVER_INIT(yukon);
+ DECLARE_DRIVER_INIT(exidy440);
+ DECLARE_DRIVER_INIT(claypign);
};
diff --git a/src/mame/includes/exprraid.h b/src/mame/includes/exprraid.h
index 6f73f752a34..956ca9ba3aa 100644
--- a/src/mame/includes/exprraid.h
+++ b/src/mame/includes/exprraid.h
@@ -44,6 +44,10 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted_deco16);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted_nmi);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
+ DECLARE_DRIVER_INIT(exprraid);
+ DECLARE_DRIVER_INIT(wexpressb);
+ DECLARE_DRIVER_INIT(wexpressb2);
+ DECLARE_DRIVER_INIT(wexpressb3);
};
diff --git a/src/mame/includes/fastfred.h b/src/mame/includes/fastfred.h
index 606c838ae65..2b0cc641b38 100644
--- a/src/mame/includes/fastfred.h
+++ b/src/mame/includes/fastfred.h
@@ -46,6 +46,13 @@ public:
DECLARE_READ8_MEMBER(imago_sprites_offset_r);
DECLARE_WRITE8_MEMBER(nmi_mask_w);
DECLARE_WRITE8_MEMBER(sound_nmi_mask_w);
+ DECLARE_DRIVER_INIT(fastfred);
+ DECLARE_DRIVER_INIT(flyboy);
+ DECLARE_DRIVER_INIT(flyboyb);
+ DECLARE_DRIVER_INIT(imago);
+ DECLARE_DRIVER_INIT(boggy84);
+ DECLARE_DRIVER_INIT(jumpcoas);
+ DECLARE_DRIVER_INIT(boggy84b);
};
diff --git a/src/mame/includes/fcombat.h b/src/mame/includes/fcombat.h
index 64f2782ee6d..134cd68715f 100644
--- a/src/mame/includes/fcombat.h
+++ b/src/mame/includes/fcombat.h
@@ -60,6 +60,7 @@ public:
DECLARE_WRITE8_MEMBER(ee00_w);
DECLARE_WRITE8_MEMBER(fcombat_videoreg_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(fcombat);
};
diff --git a/src/mame/includes/finalizr.h b/src/mame/includes/finalizr.h
index 8b5771ea74d..73e86bb94de 100644
--- a/src/mame/includes/finalizr.h
+++ b/src/mame/includes/finalizr.h
@@ -46,6 +46,7 @@ public:
DECLARE_READ8_MEMBER(i8039_T1_r);
DECLARE_WRITE8_MEMBER(i8039_T0_w);
DECLARE_WRITE8_MEMBER(finalizr_videoctrl_w);
+ DECLARE_DRIVER_INIT(finalizr);
};
diff --git a/src/mame/includes/fitfight.h b/src/mame/includes/fitfight.h
index ba6412ca002..5cd44dd95b4 100644
--- a/src/mame/includes/fitfight.h
+++ b/src/mame/includes/fitfight.h
@@ -51,6 +51,10 @@ public:
DECLARE_WRITE16_MEMBER(fof_txt_tileram_w);
DECLARE_READ16_MEMBER( hotmindff_unk_r );
+ DECLARE_DRIVER_INIT(hotmindff);
+ DECLARE_DRIVER_INIT(fitfight);
+ DECLARE_DRIVER_INIT(histryma);
+ DECLARE_DRIVER_INIT(bbprot);
};
diff --git a/src/mame/includes/freekick.h b/src/mame/includes/freekick.h
index 0635435d1a0..f57503c4c13 100644
--- a/src/mame/includes/freekick.h
+++ b/src/mame/includes/freekick.h
@@ -38,6 +38,9 @@ public:
DECLARE_WRITE8_MEMBER(snd_rom_addr_l_w);
DECLARE_WRITE8_MEMBER(snd_rom_addr_h_w);
DECLARE_READ8_MEMBER(snd_rom_r);
+ DECLARE_DRIVER_INIT(gigas);
+ DECLARE_DRIVER_INIT(gigasb);
+ DECLARE_DRIVER_INIT(pbillrds);
};
diff --git a/src/mame/includes/fromanc2.h b/src/mame/includes/fromanc2.h
index dd332e4ad64..5ba3c8c91f1 100644
--- a/src/mame/includes/fromanc2.h
+++ b/src/mame/includes/fromanc2.h
@@ -81,6 +81,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(subcpu_int_r);
DECLARE_CUSTOM_INPUT_MEMBER(sndcpu_nmi_r);
DECLARE_CUSTOM_INPUT_MEMBER(subcpu_nmi_r);
+ DECLARE_DRIVER_INIT(fromanc4);
+ DECLARE_DRIVER_INIT(fromanc2);
};
diff --git a/src/mame/includes/fromance.h b/src/mame/includes/fromance.h
index 5b0c23b6133..a5cea25f1c3 100644
--- a/src/mame/includes/fromance.h
+++ b/src/mame/includes/fromance.h
@@ -70,6 +70,8 @@ public:
DECLARE_WRITE8_MEMBER(fromance_crtc_data_w);
DECLARE_WRITE8_MEMBER(fromance_crtc_register_w);
DECLARE_WRITE8_MEMBER(fromance_adpcm_reset_w);
+ DECLARE_DRIVER_INIT(pipedrm);
+ DECLARE_DRIVER_INIT(hatris);
};
diff --git a/src/mame/includes/funkyjet.h b/src/mame/includes/funkyjet.h
index 44211e39be1..4adf82abd66 100644
--- a/src/mame/includes/funkyjet.h
+++ b/src/mame/includes/funkyjet.h
@@ -23,6 +23,7 @@ public:
device_t *m_maincpu;
device_t *m_audiocpu;
device_t *m_deco_tilegen1;
+ DECLARE_DRIVER_INIT(funkyjet);
};
diff --git a/src/mame/includes/funworld.h b/src/mame/includes/funworld.h
index 7180832b83a..4cf06bd34ff 100644
--- a/src/mame/includes/funworld.h
+++ b/src/mame/includes/funworld.h
@@ -18,6 +18,13 @@ public:
DECLARE_WRITE8_MEMBER(pia1_ca2_w);
DECLARE_READ8_MEMBER(funquiz_ay8910_a_r);
DECLARE_READ8_MEMBER(funquiz_ay8910_b_r);
+ DECLARE_DRIVER_INIT(magicd2b);
+ DECLARE_DRIVER_INIT(saloon);
+ DECLARE_DRIVER_INIT(royalcdc);
+ DECLARE_DRIVER_INIT(multiwin);
+ DECLARE_DRIVER_INIT(soccernw);
+ DECLARE_DRIVER_INIT(tabblue);
+ DECLARE_DRIVER_INIT(magicd2a);
};
diff --git a/src/mame/includes/gaelco2.h b/src/mame/includes/gaelco2.h
index 9993291eb03..7c03edf82be 100644
--- a/src/mame/includes/gaelco2.h
+++ b/src/mame/includes/gaelco2.h
@@ -39,15 +39,15 @@ public:
DECLARE_WRITE16_MEMBER(gaelco2_vram_w);
DECLARE_WRITE16_MEMBER(gaelco2_palette_w);
DECLARE_CUSTOM_INPUT_MEMBER(wrally2_analog_bit_r);
+ DECLARE_DRIVER_INIT(touchgo);
+ DECLARE_DRIVER_INIT(snowboar);
+ DECLARE_DRIVER_INIT(alighunt);
+ DECLARE_DRIVER_INIT(bang);
};
/*----------- defined in machine/gaelco2.c -----------*/
-DRIVER_INIT( alighunt );
-DRIVER_INIT( touchgo );
-DRIVER_INIT( snowboar );
-DRIVER_INIT( bang );
TIMER_DEVICE_CALLBACK( bang_irq );
WRITE16_DEVICE_HANDLER( gaelco2_eeprom_cs_w );
WRITE16_DEVICE_HANDLER( gaelco2_eeprom_sk_w );
diff --git a/src/mame/includes/gaelco3d.h b/src/mame/includes/gaelco3d.h
index bfbac067aa4..0a11c17f579 100644
--- a/src/mame/includes/gaelco3d.h
+++ b/src/mame/includes/gaelco3d.h
@@ -109,6 +109,7 @@ public:
DECLARE_WRITE16_MEMBER(eeprom_data_w);
DECLARE_WRITE16_MEMBER(eeprom_clock_w);
DECLARE_WRITE16_MEMBER(eeprom_cs_w);
+ DECLARE_DRIVER_INIT(gaelco3d);
};
diff --git a/src/mame/includes/gaiden.h b/src/mame/includes/gaiden.h
index 8a01fd87889..8e90ff1be4d 100644
--- a/src/mame/includes/gaiden.h
+++ b/src/mame/includes/gaiden.h
@@ -68,6 +68,11 @@ public:
DECLARE_WRITE16_MEMBER(gaiden_videoram2_w);
DECLARE_READ16_MEMBER(gaiden_videoram2_r);
DECLARE_WRITE16_MEMBER(gaiden_videoram_w);
+ DECLARE_DRIVER_INIT(raiga);
+ DECLARE_DRIVER_INIT(drgnbowl);
+ DECLARE_DRIVER_INIT(mastninj);
+ DECLARE_DRIVER_INIT(shadoww);
+ DECLARE_DRIVER_INIT(wildfang);
};
diff --git a/src/mame/includes/galaga.h b/src/mame/includes/galaga.h
index 6a20d379d1e..8b1595fe1d7 100644
--- a/src/mame/includes/galaga.h
+++ b/src/mame/includes/galaga.h
@@ -48,6 +48,8 @@ public:
DECLARE_READ8_MEMBER(namco_52xx_rom_r);
DECLARE_READ8_MEMBER(namco_52xx_si_r);
DECLARE_READ8_MEMBER(custom_mod_r);
+ DECLARE_DRIVER_INIT(galaga);
+ DECLARE_DRIVER_INIT(gatsbee);
};
class xevious_state : public galaga_state
@@ -72,6 +74,9 @@ public:
required_shared_ptr<UINT8> m_xevious_bg_videoram;
INT32 m_xevious_bs[2];
+ DECLARE_DRIVER_INIT(xevious);
+ DECLARE_DRIVER_INIT(xevios);
+ DECLARE_DRIVER_INIT(battles);
};
diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h
index a099b070bca..cd883ca53d4 100644
--- a/src/mame/includes/galaxian.h
+++ b/src/mame/includes/galaxian.h
@@ -173,6 +173,51 @@ public:
DECLARE_WRITE8_MEMBER(scorpion_digitalker_control_w);
DECLARE_WRITE8_MEMBER(kingball_dac_w);
DECLARE_WRITE8_MEMBER(moonwar_port_select_w);
+ DECLARE_DRIVER_INIT(galaxian);
+ DECLARE_DRIVER_INIT(nolock);
+ DECLARE_DRIVER_INIT(azurian);
+ DECLARE_DRIVER_INIT(gmgalax);
+ DECLARE_DRIVER_INIT(pisces);
+ DECLARE_DRIVER_INIT(batman2);
+ DECLARE_DRIVER_INIT(frogg);
+ DECLARE_DRIVER_INIT(mooncrst);
+ DECLARE_DRIVER_INIT(mooncrsu);
+ DECLARE_DRIVER_INIT(mooncrgx);
+ DECLARE_DRIVER_INIT(moonqsr);
+ DECLARE_DRIVER_INIT(pacmanbl);
+ DECLARE_DRIVER_INIT(tenspot);
+ DECLARE_DRIVER_INIT(devilfsg);
+ DECLARE_DRIVER_INIT(zigzag);
+ DECLARE_DRIVER_INIT(jumpbug);
+ DECLARE_DRIVER_INIT(checkman);
+ DECLARE_DRIVER_INIT(checkmaj);
+ DECLARE_DRIVER_INIT(dingo);
+ DECLARE_DRIVER_INIT(dingoe);
+ DECLARE_DRIVER_INIT(skybase);
+ DECLARE_DRIVER_INIT(kong);
+ DECLARE_DRIVER_INIT(mshuttle);
+ DECLARE_DRIVER_INIT(mshuttlj);
+ DECLARE_DRIVER_INIT(fantastc);
+ DECLARE_DRIVER_INIT(kingball);
+ DECLARE_DRIVER_INIT(scorpnmc);
+ DECLARE_DRIVER_INIT(thepitm);
+ DECLARE_DRIVER_INIT(theend);
+ DECLARE_DRIVER_INIT(scramble);
+ DECLARE_DRIVER_INIT(explorer);
+ DECLARE_DRIVER_INIT(sfx);
+ DECLARE_DRIVER_INIT(atlantis);
+ DECLARE_DRIVER_INIT(scobra);
+ DECLARE_DRIVER_INIT(losttomb);
+ DECLARE_DRIVER_INIT(frogger);
+ DECLARE_DRIVER_INIT(froggrmc);
+ DECLARE_DRIVER_INIT(froggers);
+ DECLARE_DRIVER_INIT(turtles);
+ DECLARE_DRIVER_INIT(scorpion);
+ DECLARE_DRIVER_INIT(anteater);
+ DECLARE_DRIVER_INIT(anteateruk);
+ DECLARE_DRIVER_INIT(superbon);
+ DECLARE_DRIVER_INIT(calipso);
+ DECLARE_DRIVER_INIT(moonwar);
};
diff --git a/src/mame/includes/galaxold.h b/src/mame/includes/galaxold.h
index e7df5813d3d..6df70081c5d 100644
--- a/src/mame/includes/galaxold.h
+++ b/src/mame/includes/galaxold.h
@@ -134,6 +134,9 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(ckongg_coinage_r);
DECLARE_CUSTOM_INPUT_MEMBER(dkongjrm_coinage_r);
DECLARE_READ8_MEMBER(ttl7474_trampoline);
+ DECLARE_DRIVER_INIT(bullsdrtg);
+ DECLARE_DRIVER_INIT(ladybugg);
+ DECLARE_DRIVER_INIT(4in1);
};
@@ -192,9 +195,6 @@ TIMER_DEVICE_CALLBACK( galaxold_interrupt_timer );
WRITE_LINE_DEVICE_HANDLER( galaxold_7474_9m_2_q_callback );
WRITE_LINE_DEVICE_HANDLER( galaxold_7474_9m_1_callback );
-DRIVER_INIT( 4in1 );
-DRIVER_INIT( ladybugg );
-DRIVER_INIT( bullsdrtg );
MACHINE_RESET( galaxold );
MACHINE_RESET( devilfsg );
diff --git a/src/mame/includes/galivan.h b/src/mame/includes/galivan.h
index 03f2e9888e3..119b512fb1b 100644
--- a/src/mame/includes/galivan.h
+++ b/src/mame/includes/galivan.h
@@ -44,6 +44,7 @@ public:
DECLARE_WRITE8_MEMBER(ninjemak_gfxbank_w);
DECLARE_WRITE8_MEMBER(galivan_scrollx_w);
DECLARE_WRITE8_MEMBER(galivan_scrolly_w);
+ DECLARE_DRIVER_INIT(youmab);
};
diff --git a/src/mame/includes/gaplus.h b/src/mame/includes/gaplus.h
index 69e4889575f..ec8329cf00e 100644
--- a/src/mame/includes/gaplus.h
+++ b/src/mame/includes/gaplus.h
@@ -39,6 +39,7 @@ public:
DECLARE_WRITE8_MEMBER(gaplus_starfield_control_w);
DECLARE_WRITE8_MEMBER(out_lamps0);
DECLARE_WRITE8_MEMBER(out_lamps1);
+ DECLARE_DRIVER_INIT(gaplus);
};
diff --git a/src/mame/includes/gauntlet.h b/src/mame/includes/gauntlet.h
index 1efce21c689..9aa3206b6cc 100644
--- a/src/mame/includes/gauntlet.h
+++ b/src/mame/includes/gauntlet.h
@@ -21,6 +21,10 @@ public:
DECLARE_READ8_MEMBER(switch_6502_r);
DECLARE_WRITE8_MEMBER(sound_ctl_w);
DECLARE_WRITE8_MEMBER(mixer_w);
+ DECLARE_DRIVER_INIT(gauntlet2);
+ DECLARE_DRIVER_INIT(gaunt2p);
+ DECLARE_DRIVER_INIT(gauntlet);
+ DECLARE_DRIVER_INIT(vindctr2);
};
diff --git a/src/mame/includes/gberet.h b/src/mame/includes/gberet.h
index 981fd15422b..e5821be6e8c 100644
--- a/src/mame/includes/gberet.h
+++ b/src/mame/includes/gberet.h
@@ -43,6 +43,7 @@ public:
DECLARE_WRITE8_MEMBER(gberet_scroll_w);
DECLARE_WRITE8_MEMBER(gberet_sprite_bank_w);
DECLARE_WRITE8_MEMBER(gberetb_scroll_w);
+ DECLARE_DRIVER_INIT(mrgoemon);
};
diff --git a/src/mame/includes/ginganin.h b/src/mame/includes/ginganin.h
index 651a9770b3d..46cd65fbc55 100644
--- a/src/mame/includes/ginganin.h
+++ b/src/mame/includes/ginganin.h
@@ -38,6 +38,7 @@ public:
DECLARE_WRITE16_MEMBER(ginganin_txtram16_w);
DECLARE_WRITE16_MEMBER(ginganin_vregs16_w);
DECLARE_WRITE8_MEMBER(ptm_irq);
+ DECLARE_DRIVER_INIT(ginganin);
};
diff --git a/src/mame/includes/gladiatr.h b/src/mame/includes/gladiatr.h
index 6660e24a76e..93a7b45a6b7 100644
--- a/src/mame/includes/gladiatr.h
+++ b/src/mame/includes/gladiatr.h
@@ -56,6 +56,8 @@ public:
DECLARE_WRITE8_MEMBER(gladiator_int_control_w);
DECLARE_WRITE8_MEMBER(glad_adpcm_w);
DECLARE_READ8_MEMBER(f1_r);
+ DECLARE_DRIVER_INIT(gladiatr);
+ DECLARE_DRIVER_INIT(ppking);
};
/*----------- defined in video/gladiatr.c -----------*/
diff --git a/src/mame/includes/glass.h b/src/mame/includes/glass.h
index 4dde16ab138..bfe1b6f45fc 100644
--- a/src/mame/includes/glass.h
+++ b/src/mame/includes/glass.h
@@ -33,6 +33,7 @@ public:
DECLARE_WRITE16_MEMBER(glass_coin_w);
DECLARE_WRITE16_MEMBER(glass_blitter_w);
DECLARE_WRITE16_MEMBER(glass_vram_w);
+ DECLARE_DRIVER_INIT(glass);
};
diff --git a/src/mame/includes/gng.h b/src/mame/includes/gng.h
index 9db750447d8..cf041554961 100644
--- a/src/mame/includes/gng.h
+++ b/src/mame/includes/gng.h
@@ -36,6 +36,7 @@ public:
DECLARE_WRITE8_MEMBER(gng_bgscrollx_w);
DECLARE_WRITE8_MEMBER(gng_bgscrolly_w);
DECLARE_WRITE8_MEMBER(gng_flipscreen_w);
+ DECLARE_DRIVER_INIT(diamond);
};
diff --git a/src/mame/includes/goindol.h b/src/mame/includes/goindol.h
index 326201ca30c..6e2e8e8d44a 100644
--- a/src/mame/includes/goindol.h
+++ b/src/mame/includes/goindol.h
@@ -41,6 +41,7 @@ public:
DECLARE_WRITE8_MEMBER(prot_fcb0_w);
DECLARE_WRITE8_MEMBER(goindol_fg_videoram_w);
DECLARE_WRITE8_MEMBER(goindol_bg_videoram_w);
+ DECLARE_DRIVER_INIT(goindol);
};
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index 9d553cfef42..2816601ef4a 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -96,6 +96,33 @@ public:
DECLARE_WRITE8_MEMBER(system_outputc_w);
DECLARE_WRITE8_MEMBER(ay8910_outputa_w);
DECLARE_WRITE8_MEMBER(ay8910_outputb_w);
+ DECLARE_DRIVER_INIT(unkch3);
+ DECLARE_DRIVER_INIT(goldstar);
+ DECLARE_DRIVER_INIT(cmast91);
+ DECLARE_DRIVER_INIT(nfb96_dk);
+ DECLARE_DRIVER_INIT(cm);
+ DECLARE_DRIVER_INIT(chry10);
+ DECLARE_DRIVER_INIT(unkch4);
+ DECLARE_DRIVER_INIT(lucky8a);
+ DECLARE_DRIVER_INIT(nfb96sea);
+ DECLARE_DRIVER_INIT(schery97a);
+ DECLARE_DRIVER_INIT(chrygld);
+ DECLARE_DRIVER_INIT(rp35);
+ DECLARE_DRIVER_INIT(cb3);
+ DECLARE_DRIVER_INIT(cmv4);
+ DECLARE_DRIVER_INIT(nfb96_c2);
+ DECLARE_DRIVER_INIT(rp36);
+ DECLARE_DRIVER_INIT(cherrys);
+ DECLARE_DRIVER_INIT(schery97);
+ DECLARE_DRIVER_INIT(nfb96_d);
+ DECLARE_DRIVER_INIT(unkch1);
+ DECLARE_DRIVER_INIT(tonypok);
+ DECLARE_DRIVER_INIT(skill98);
+ DECLARE_DRIVER_INIT(po33);
+ DECLARE_DRIVER_INIT(match133);
+ DECLARE_DRIVER_INIT(rp36c3);
+ DECLARE_DRIVER_INIT(magoddsc);
+ DECLARE_DRIVER_INIT(nfb96_c1);
};
diff --git a/src/mame/includes/gottlieb.h b/src/mame/includes/gottlieb.h
index f7bbb894ce1..8c457419a5c 100644
--- a/src/mame/includes/gottlieb.h
+++ b/src/mame/includes/gottlieb.h
@@ -290,6 +290,11 @@ public:
DECLARE_WRITE8_MEMBER(gottlieb_charram_w);
DECLARE_CUSTOM_INPUT_MEMBER(analog_delta_r);
DECLARE_CUSTOM_INPUT_MEMBER(stooges_joystick_r);
+ DECLARE_DRIVER_INIT(romtiles);
+ DECLARE_DRIVER_INIT(screwloo);
+ DECLARE_DRIVER_INIT(vidvince);
+ DECLARE_DRIVER_INIT(ramtiles);
+ DECLARE_DRIVER_INIT(stooges);
};
diff --git a/src/mame/includes/groundfx.h b/src/mame/includes/groundfx.h
index 33d2ce9acdf..fddd4393b33 100644
--- a/src/mame/includes/groundfx.h
+++ b/src/mame/includes/groundfx.h
@@ -35,6 +35,7 @@ public:
DECLARE_READ32_MEMBER(irq_speedup_r_groundfx);
DECLARE_CUSTOM_INPUT_MEMBER(frame_counter_r);
DECLARE_CUSTOM_INPUT_MEMBER(coin_word_r);
+ DECLARE_DRIVER_INIT(groundfx);
};
diff --git a/src/mame/includes/gstriker.h b/src/mame/includes/gstriker.h
index 730e46a265e..1959fc00b32 100644
--- a/src/mame/includes/gstriker.h
+++ b/src/mame/includes/gstriker.h
@@ -95,6 +95,9 @@ public:
DECLARE_WRITE16_MEMBER(MB60553_1_vram_w);
DECLARE_WRITE16_MEMBER(gsx_videoram3_w);
void MB60553_reg_written(int numchip, int num_reg);
+ DECLARE_DRIVER_INIT(twrldc94a);
+ DECLARE_DRIVER_INIT(vgoalsoc);
+ DECLARE_DRIVER_INIT(twrldc94);
};
diff --git a/src/mame/includes/gsword.h b/src/mame/includes/gsword.h
index 6a305dbbc73..b8fc9ff6dd4 100644
--- a/src/mame/includes/gsword.h
+++ b/src/mame/includes/gsword.h
@@ -37,6 +37,8 @@ public:
DECLARE_READ8_MEMBER(gsword_fake_0_r);
DECLARE_READ8_MEMBER(gsword_fake_1_r);
DECLARE_WRITE8_MEMBER(gsword_adpcm_data_w);
+ DECLARE_DRIVER_INIT(gsword);
+ DECLARE_DRIVER_INIT(gsword2);
};
diff --git a/src/mame/includes/gunbustr.h b/src/mame/includes/gunbustr.h
index 93fdfa47de6..a96b18a341a 100644
--- a/src/mame/includes/gunbustr.h
+++ b/src/mame/includes/gunbustr.h
@@ -36,6 +36,8 @@ public:
DECLARE_WRITE32_MEMBER(gunbustr_gun_w);
DECLARE_READ32_MEMBER(main_cycle_r);
DECLARE_CUSTOM_INPUT_MEMBER(coin_word_r);
+ DECLARE_DRIVER_INIT(gunbustrj);
+ DECLARE_DRIVER_INIT(gunbustr);
};
diff --git a/src/mame/includes/gyruss.h b/src/mame/includes/gyruss.h
index 434558a59c5..d818380a10b 100644
--- a/src/mame/includes/gyruss.h
+++ b/src/mame/includes/gyruss.h
@@ -48,6 +48,7 @@ public:
DECLARE_WRITE8_MEMBER(gyruss_dac_w);
DECLARE_WRITE8_MEMBER(gyruss_filter0_w);
DECLARE_WRITE8_MEMBER(gyruss_filter1_w);
+ DECLARE_DRIVER_INIT(gyruss);
};
diff --git a/src/mame/includes/harddriv.h b/src/mame/includes/harddriv.h
index d9d9d70c4a9..324a13e7feb 100644
--- a/src/mame/includes/harddriv.h
+++ b/src/mame/includes/harddriv.h
@@ -201,6 +201,19 @@ public:
DECLARE_READ16_MEMBER(hdsnddsp_rom_r);
DECLARE_READ16_MEMBER(hdsnddsp_comram_r);
DECLARE_READ16_MEMBER(hdsnddsp_compare_r);
+ DECLARE_DRIVER_INIT(strtdriv);
+ DECLARE_DRIVER_INIT(harddrivc);
+ DECLARE_DRIVER_INIT(hdrivairp);
+ DECLARE_DRIVER_INIT(racedriv);
+ DECLARE_DRIVER_INIT(hdrivair);
+ DECLARE_DRIVER_INIT(steeltal1);
+ DECLARE_DRIVER_INIT(racedrivc);
+ DECLARE_DRIVER_INIT(steeltal);
+ DECLARE_DRIVER_INIT(racedrivc1);
+ DECLARE_DRIVER_INIT(racedrivb1);
+ DECLARE_DRIVER_INIT(harddriv);
+ DECLARE_DRIVER_INIT(steeltalp);
+ DECLARE_DRIVER_INIT(stunrun);
};
diff --git a/src/mame/includes/hnayayoi.h b/src/mame/includes/hnayayoi.h
index 7c4e14aaed0..5c3b7a36bbe 100644
--- a/src/mame/includes/hnayayoi.h
+++ b/src/mame/includes/hnayayoi.h
@@ -31,6 +31,7 @@ public:
DECLARE_WRITE8_MEMBER(adpcm_vclk_w);
DECLARE_WRITE8_MEMBER(adpcm_reset_w);
DECLARE_WRITE8_MEMBER(adpcm_reset_inv_w);
+ DECLARE_DRIVER_INIT(hnfubuki);
};
diff --git a/src/mame/includes/hng64.h b/src/mame/includes/hng64.h
index 8406c2d9aab..214f687b015 100644
--- a/src/mame/includes/hng64.h
+++ b/src/mame/includes/hng64.h
@@ -161,6 +161,13 @@ public:
DECLARE_WRITE8_MEMBER(hng64_comm_shared_w);
DECLARE_WRITE32_MEMBER(hng64_videoram_w);
DECLARE_DIRECT_UPDATE_MEMBER(KL5C80_direct_handler);
+ DECLARE_DRIVER_INIT(hng64_race);
+ DECLARE_DRIVER_INIT(fatfurwa);
+ DECLARE_DRIVER_INIT(hng64);
+ DECLARE_DRIVER_INIT(hng64_shoot);
+ DECLARE_DRIVER_INIT(ss64);
+ DECLARE_DRIVER_INIT(hng64_fght);
+ DECLARE_DRIVER_INIT(hng64_reorder_gfx);
};
diff --git a/src/mame/includes/homedata.h b/src/mame/includes/homedata.h
index 36921430f31..08fb176fcbf 100644
--- a/src/mame/includes/homedata.h
+++ b/src/mame/includes/homedata.h
@@ -75,6 +75,11 @@ public:
DECLARE_WRITE8_MEMBER(mrokumei_blitter_start_w);
DECLARE_WRITE8_MEMBER(reikaids_blitter_start_w);
DECLARE_WRITE8_MEMBER(pteacher_blitter_start_w);
+ DECLARE_DRIVER_INIT(reikaids);
+ DECLARE_DRIVER_INIT(mjikaga);
+ DECLARE_DRIVER_INIT(jogakuen);
+ DECLARE_DRIVER_INIT(battlcry);
+ DECLARE_DRIVER_INIT(mirderby);
};
diff --git a/src/mame/includes/hyhoo.h b/src/mame/includes/hyhoo.h
index 074427a9e6d..8830da5d825 100644
--- a/src/mame/includes/hyhoo.h
+++ b/src/mame/includes/hyhoo.h
@@ -20,6 +20,8 @@ public:
bitmap_rgb32 m_tmpbitmap;
DECLARE_WRITE8_MEMBER(hyhoo_blitter_w);
DECLARE_WRITE8_MEMBER(hyhoo_romsel_w);
+ DECLARE_DRIVER_INIT(hyhoo2);
+ DECLARE_DRIVER_INIT(hyhoo);
};
diff --git a/src/mame/includes/hyperspt.h b/src/mame/includes/hyperspt.h
index b23ccb0001c..64d90b83069 100644
--- a/src/mame/includes/hyperspt.h
+++ b/src/mame/includes/hyperspt.h
@@ -26,6 +26,7 @@ public:
DECLARE_WRITE8_MEMBER(hyperspt_videoram_w);
DECLARE_WRITE8_MEMBER(hyperspt_colorram_w);
DECLARE_WRITE8_MEMBER(hyperspt_flipscreen_w);
+ DECLARE_DRIVER_INIT(hyperspt);
};
/*----------- defined in video/hyperspt.c -----------*/
diff --git a/src/mame/includes/hyprduel.h b/src/mame/includes/hyprduel.h
index bf482ba8599..5ba855238df 100644
--- a/src/mame/includes/hyprduel.h
+++ b/src/mame/includes/hyprduel.h
@@ -78,6 +78,8 @@ public:
DECLARE_WRITE16_MEMBER(hyprduel_scrollreg_w);
DECLARE_WRITE16_MEMBER(hyprduel_scrollreg_init_w);
void blt_write( address_space *space, const int tmap, const offs_t offs, const UINT16 data, const UINT16 mask );
+ DECLARE_DRIVER_INIT(magerror);
+ DECLARE_DRIVER_INIT(hyprduel);
};
diff --git a/src/mame/includes/iqblock.h b/src/mame/includes/iqblock.h
index f8f36a23cfc..30660e42cb4 100644
--- a/src/mame/includes/iqblock.h
+++ b/src/mame/includes/iqblock.h
@@ -24,6 +24,8 @@ public:
DECLARE_READ8_MEMBER(iqblock_bgvideoram_r);
DECLARE_WRITE8_MEMBER(iqblock_fgscroll_w);
DECLARE_WRITE8_MEMBER(port_C_w);
+ DECLARE_DRIVER_INIT(grndtour);
+ DECLARE_DRIVER_INIT(iqblock);
};
diff --git a/src/mame/includes/irobot.h b/src/mame/includes/irobot.h
index 665aeb79595..cf677b3b7e0 100644
--- a/src/mame/includes/irobot.h
+++ b/src/mame/includes/irobot.h
@@ -73,11 +73,11 @@ public:
DECLARE_READ8_MEMBER(irobot_control_r);
DECLARE_READ8_MEMBER(irobot_status_r);
DECLARE_WRITE8_MEMBER(irobot_paletteram_w);
+ DECLARE_DRIVER_INIT(irobot);
};
/*----------- defined in machine/irobot.c -----------*/
-DRIVER_INIT( irobot );
MACHINE_RESET( irobot );
TIMER_DEVICE_CALLBACK( irobot_irvg_done_callback );
diff --git a/src/mame/includes/itech32.h b/src/mame/includes/itech32.h
index 355971f9671..7dd8de95e21 100644
--- a/src/mame/includes/itech32.h
+++ b/src/mame/includes/itech32.h
@@ -137,6 +137,23 @@ public:
DECLARE_WRITE8_MEMBER(drivedge_portb_out);
DECLARE_WRITE8_MEMBER(drivedge_turbo_light);
DECLARE_WRITE8_MEMBER(pia_portb_out);
+ DECLARE_DRIVER_INIT(gtclasscp);
+ DECLARE_DRIVER_INIT(shufshot);
+ DECLARE_DRIVER_INIT(wcbowlt);
+ DECLARE_DRIVER_INIT(hardyard);
+ DECLARE_DRIVER_INIT(s_ver);
+ DECLARE_DRIVER_INIT(sftm110);
+ DECLARE_DRIVER_INIT(wcbowln);
+ DECLARE_DRIVER_INIT(gt2kp);
+ DECLARE_DRIVER_INIT(sftm);
+ DECLARE_DRIVER_INIT(drivedge);
+ DECLARE_DRIVER_INIT(wcbowl);
+ DECLARE_DRIVER_INIT(aamat);
+ DECLARE_DRIVER_INIT(bloodstm);
+ DECLARE_DRIVER_INIT(aama);
+ DECLARE_DRIVER_INIT(timekill);
+ DECLARE_DRIVER_INIT(gt3d);
+ DECLARE_DRIVER_INIT(gt3dl);
};
diff --git a/src/mame/includes/itech8.h b/src/mame/includes/itech8.h
index 64e4c8013a0..d7def93a1c2 100644
--- a/src/mame/includes/itech8.h
+++ b/src/mame/includes/itech8.h
@@ -77,6 +77,14 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(gtg_mux);
DECLARE_WRITE8_MEMBER(pia_porta_out);
DECLARE_WRITE8_MEMBER(ym2203_portb_out);
+ DECLARE_DRIVER_INIT(rimrockn);
+ DECLARE_DRIVER_INIT(grmatch);
+ DECLARE_DRIVER_INIT(peggle);
+ DECLARE_DRIVER_INIT(slikshot);
+ DECLARE_DRIVER_INIT(neckneck);
+ DECLARE_DRIVER_INIT(arligntn);
+ DECLARE_DRIVER_INIT(hstennis);
+ DECLARE_DRIVER_INIT(sstrike);
};
diff --git a/src/mame/includes/jack.h b/src/mame/includes/jack.h
index d8e44c6ae2f..31f93b050f6 100644
--- a/src/mame/includes/jack.h
+++ b/src/mame/includes/jack.h
@@ -42,6 +42,11 @@ public:
DECLARE_WRITE8_MEMBER(jack_flipscreen_w);
DECLARE_CUSTOM_INPUT_MEMBER(sound_check_r);
DECLARE_READ8_MEMBER(timer_r);
+ DECLARE_DRIVER_INIT(zzyzzyxx);
+ DECLARE_DRIVER_INIT(striv);
+ DECLARE_DRIVER_INIT(treahunt);
+ DECLARE_DRIVER_INIT(loverboy);
+ DECLARE_DRIVER_INIT(jack);
};
diff --git a/src/mame/includes/jailbrek.h b/src/mame/includes/jailbrek.h
index ae826d89414..92c236002e2 100644
--- a/src/mame/includes/jailbrek.h
+++ b/src/mame/includes/jailbrek.h
@@ -36,6 +36,7 @@ public:
DECLARE_WRITE8_MEMBER(jailbrek_colorram_w);
DECLARE_READ8_MEMBER(jailbrek_speech_r);
DECLARE_WRITE8_MEMBER(jailbrek_speech_w);
+ DECLARE_DRIVER_INIT(jailbrek);
};
diff --git a/src/mame/includes/jpmimpct.h b/src/mame/includes/jpmimpct.h
index 13dc49adc04..1ebba11791f 100644
--- a/src/mame/includes/jpmimpct.h
+++ b/src/mame/includes/jpmimpct.h
@@ -102,6 +102,7 @@ public:
DECLARE_READ8_MEMBER(hopper_c_r);
DECLARE_WRITE8_MEMBER(payen_a_w);
DECLARE_WRITE8_MEMBER(display_c_w);
+ DECLARE_DRIVER_INIT(j6fbcrz);
};
diff --git a/src/mame/includes/kaneko16.h b/src/mame/includes/kaneko16.h
index cb8d31892e0..f776eec7b76 100644
--- a/src/mame/includes/kaneko16.h
+++ b/src/mame/includes/kaneko16.h
@@ -78,6 +78,13 @@ public:
DECLARE_WRITE16_MEMBER(gtmr_oki_0_bank_w);
DECLARE_WRITE16_MEMBER(gtmr_oki_1_bank_w);
DECLARE_WRITE8_MEMBER(kaneko16_eeprom_reset_w);
+
+ DECLARE_DRIVER_INIT(bloodwar);
+ DECLARE_DRIVER_INIT(gtmr2);
+ DECLARE_DRIVER_INIT(kaneko16);
+ DECLARE_DRIVER_INIT(decrypt_toybox_rom);
+ DECLARE_DRIVER_INIT(decrypt_toybox_rom_alt);
+ DECLARE_DRIVER_INIT(samplebank);
};
class kaneko16_berlwall_state : public kaneko16_state
@@ -100,6 +107,7 @@ public:
DECLARE_READ16_MEMBER(kaneko16_bg15_reg_r);
DECLARE_WRITE16_MEMBER(kaneko16_bg15_reg_w);
+ DECLARE_DRIVER_INIT(berlwall);
};
class kaneko16_shogwarr_state : public kaneko16_state
@@ -115,6 +123,9 @@ public:
DECLARE_WRITE16_MEMBER(shogwarr_oki_bank_w);
DECLARE_WRITE16_MEMBER(brapboys_oki_bank_w);
+
+ DECLARE_DRIVER_INIT(shogwarr);
+ DECLARE_DRIVER_INIT(brapboys);
};
@@ -131,9 +142,6 @@ void calc3_mcu_run(running_machine &machine);
void toxboy_handle_04_subcommand(running_machine& machine, UINT8 mcu_subcmd, UINT16*mcu_ram);
-DRIVER_INIT( decrypt_toybox_rom );
-DRIVER_INIT( decrypt_toybox_rom_alt );
-
/*----------- defined in drivers/kaneko16.c -----------*/
diff --git a/src/mame/includes/karnov.h b/src/mame/includes/karnov.h
index fc37444289c..69af2b45056 100644
--- a/src/mame/includes/karnov.h
+++ b/src/mame/includes/karnov.h
@@ -45,6 +45,12 @@ public:
DECLARE_READ16_MEMBER(karnov_control_r);
DECLARE_WRITE16_MEMBER(karnov_videoram_w);
DECLARE_WRITE16_MEMBER(karnov_playfield_swap_w);
+ DECLARE_DRIVER_INIT(wndrplnt);
+ DECLARE_DRIVER_INIT(karnov);
+ DECLARE_DRIVER_INIT(karnovj);
+ DECLARE_DRIVER_INIT(chelnovu);
+ DECLARE_DRIVER_INIT(chelnovj);
+ DECLARE_DRIVER_INIT(chelnov);
};
enum {
diff --git a/src/mame/includes/kchamp.h b/src/mame/includes/kchamp.h
index dd7b39e1172..290d49c3648 100644
--- a/src/mame/includes/kchamp.h
+++ b/src/mame/includes/kchamp.h
@@ -40,6 +40,8 @@ public:
DECLARE_WRITE8_MEMBER(kchamp_colorram_w);
DECLARE_WRITE8_MEMBER(kchamp_flipscreen_w);
DECLARE_WRITE8_MEMBER(sound_control_w);
+ DECLARE_DRIVER_INIT(kchampvs);
+ DECLARE_DRIVER_INIT(kchampvs2);
};
diff --git a/src/mame/includes/kickgoal.h b/src/mame/includes/kickgoal.h
index b381ec25dad..c7c89e72e01 100644
--- a/src/mame/includes/kickgoal.h
+++ b/src/mame/includes/kickgoal.h
@@ -62,6 +62,7 @@ public:
DECLARE_WRITE16_MEMBER(kickgoal_bg2ram_w);
DECLARE_WRITE16_MEMBER(kickgoal_snd_w);
DECLARE_WRITE16_MEMBER(actionhw_snd_w);
+ DECLARE_DRIVER_INIT(kickgoal);
};
diff --git a/src/mame/includes/kingobox.h b/src/mame/includes/kingobox.h
index 5841bfe9b9e..3bc1412d0d2 100644
--- a/src/mame/includes/kingobox.h
+++ b/src/mame/includes/kingobox.h
@@ -45,6 +45,8 @@ public:
DECLARE_WRITE8_MEMBER(kingofb_videoram2_w);
DECLARE_WRITE8_MEMBER(kingofb_colorram2_w);
DECLARE_WRITE8_MEMBER(kingofb_f800_w);
+ DECLARE_DRIVER_INIT(ringkingw);
+ DECLARE_DRIVER_INIT(ringking3);
};
diff --git a/src/mame/includes/konamigx.h b/src/mame/includes/konamigx.h
index b186e3eac99..6878c8ea526 100644
--- a/src/mame/includes/konamigx.h
+++ b/src/mame/includes/konamigx.h
@@ -43,6 +43,7 @@ public:
DECLARE_WRITE32_MEMBER(konamigx_t1_psacmap_w);
DECLARE_WRITE32_MEMBER(konamigx_t4_psacmap_w);
DECLARE_CUSTOM_INPUT_MEMBER(gx_rdport1_3_r);
+ DECLARE_DRIVER_INIT(konamigx);
};
diff --git a/src/mame/includes/kyugo.h b/src/mame/includes/kyugo.h
index fcf5b221c13..5b7ad9dcda5 100644
--- a/src/mame/includes/kyugo.h
+++ b/src/mame/includes/kyugo.h
@@ -51,6 +51,8 @@ public:
DECLARE_WRITE8_MEMBER(kyugo_gfxctrl_w);
DECLARE_WRITE8_MEMBER(kyugo_scroll_y_w);
DECLARE_WRITE8_MEMBER(kyugo_flipscreen_w);
+ DECLARE_DRIVER_INIT(srdmissn);
+ DECLARE_DRIVER_INIT(gyrodine);
};
diff --git a/src/mame/includes/ladybug.h b/src/mame/includes/ladybug.h
index 1858c72dab4..cad95a81aa7 100644
--- a/src/mame/includes/ladybug.h
+++ b/src/mame/includes/ladybug.h
@@ -60,6 +60,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin2_inserted);
DECLARE_INPUT_CHANGED_MEMBER(left_coin_inserted);
DECLARE_INPUT_CHANGED_MEMBER(right_coin_inserted);
+ DECLARE_DRIVER_INIT(dorodon);
+ DECLARE_DRIVER_INIT(redclash);
};
diff --git a/src/mame/includes/lazercmd.h b/src/mame/includes/lazercmd.h
index 5b58319a398..54f599f93e7 100644
--- a/src/mame/includes/lazercmd.h
+++ b/src/mame/includes/lazercmd.h
@@ -50,6 +50,9 @@ public:
DECLARE_WRITE8_MEMBER(medlanes_hardware_w);
DECLARE_WRITE8_MEMBER(bbonk_hardware_w);
DECLARE_READ8_MEMBER(lazercmd_hardware_r);
+ DECLARE_DRIVER_INIT(lazercmd);
+ DECLARE_DRIVER_INIT(bbonk);
+ DECLARE_DRIVER_INIT(medlanes);
};
diff --git a/src/mame/includes/legionna.h b/src/mame/includes/legionna.h
index be2e3208c36..396f602fce0 100644
--- a/src/mame/includes/legionna.h
+++ b/src/mame/includes/legionna.h
@@ -34,6 +34,9 @@ public:
DECLARE_WRITE16_MEMBER(legionna_foreground_w);
DECLARE_WRITE16_MEMBER(legionna_text_w);
DECLARE_WRITE8_MEMBER(okim_rombank_w);
+ DECLARE_DRIVER_INIT(legiongfx);
+ DECLARE_DRIVER_INIT(cupsoc);
+ DECLARE_DRIVER_INIT(denjinmk);
};
diff --git a/src/mame/includes/leland.h b/src/mame/includes/leland.h
index f9e6aff5264..68f0e7fe165 100644
--- a/src/mame/includes/leland.h
+++ b/src/mame/includes/leland.h
@@ -108,6 +108,32 @@ public:
DECLARE_WRITE8_MEMBER(ataxx_svram_port_w);
DECLARE_READ8_MEMBER(ataxx_mvram_port_r);
DECLARE_READ8_MEMBER(ataxx_svram_port_r);
+ DECLARE_DRIVER_INIT(dblplay);
+ DECLARE_DRIVER_INIT(viper);
+ DECLARE_DRIVER_INIT(quarterb);
+ DECLARE_DRIVER_INIT(aafb);
+ DECLARE_DRIVER_INIT(redlin2p);
+ DECLARE_DRIVER_INIT(aafbb);
+ DECLARE_DRIVER_INIT(dangerz);
+ DECLARE_DRIVER_INIT(mayhem);
+ DECLARE_DRIVER_INIT(offroad);
+ DECLARE_DRIVER_INIT(pigout);
+ DECLARE_DRIVER_INIT(alleymas);
+ DECLARE_DRIVER_INIT(offroadt);
+ DECLARE_DRIVER_INIT(teamqb);
+ DECLARE_DRIVER_INIT(strkzone);
+ DECLARE_DRIVER_INIT(wseries);
+ DECLARE_DRIVER_INIT(powrplay);
+ DECLARE_DRIVER_INIT(basebal2);
+ DECLARE_DRIVER_INIT(upyoural);
+ DECLARE_DRIVER_INIT(cerberus);
+ DECLARE_DRIVER_INIT(aafbd2p);
+ DECLARE_DRIVER_INIT(ataxx);
+ DECLARE_DRIVER_INIT(ataxxj);
+ DECLARE_DRIVER_INIT(wsf);
+ DECLARE_DRIVER_INIT(indyheat);
+ DECLARE_DRIVER_INIT(brutforc);
+ DECLARE_DRIVER_INIT(asylum);
};
diff --git a/src/mame/includes/lethal.h b/src/mame/includes/lethal.h
index d47fb6a4b6d..75ad7747bd3 100644
--- a/src/mame/includes/lethal.h
+++ b/src/mame/includes/lethal.h
@@ -35,6 +35,7 @@ public:
DECLARE_READ8_MEMBER(guns_r);
DECLARE_READ8_MEMBER(gunsaux_r);
DECLARE_WRITE8_MEMBER(lethalen_palette_control);
+ DECLARE_DRIVER_INIT(lethalen);
};
/*----------- defined in video/lethal.c -----------*/
diff --git a/src/mame/includes/lethalj.h b/src/mame/includes/lethalj.h
index ee227eb6e1f..cb8669d7116 100644
--- a/src/mame/includes/lethalj.h
+++ b/src/mame/includes/lethalj.h
@@ -25,6 +25,9 @@ public:
DECLARE_WRITE16_MEMBER(lethalj_blitter_w);
void do_blit();
DECLARE_CUSTOM_INPUT_MEMBER(cclownz_paddle);
+ DECLARE_DRIVER_INIT(cfarm);
+ DECLARE_DRIVER_INIT(ripribit);
+ DECLARE_DRIVER_INIT(cclownz);
};
diff --git a/src/mame/includes/liberate.h b/src/mame/includes/liberate.h
index 292dd0354a3..f9c2134d844 100644
--- a/src/mame/includes/liberate.h
+++ b/src/mame/includes/liberate.h
@@ -48,6 +48,9 @@ public:
DECLARE_WRITE8_MEMBER(liberate_colorram_w);
DECLARE_WRITE8_MEMBER(prosport_bg_vram_w);
DECLARE_WRITE8_MEMBER(prosport_paletteram_w);
+ DECLARE_DRIVER_INIT(yellowcb);
+ DECLARE_DRIVER_INIT(liberate);
+ DECLARE_DRIVER_INIT(prosport);
};
diff --git a/src/mame/includes/lkage.h b/src/mame/includes/lkage.h
index 90fa0823375..6d9c6609b55 100644
--- a/src/mame/includes/lkage.h
+++ b/src/mame/includes/lkage.h
@@ -73,6 +73,9 @@ public:
DECLARE_READ8_MEMBER(lkage_mcu_r);
DECLARE_READ8_MEMBER(lkage_mcu_status_r);
DECLARE_WRITE8_MEMBER(lkage_videoram_w);
+ DECLARE_DRIVER_INIT(bygone);
+ DECLARE_DRIVER_INIT(lkage);
+ DECLARE_DRIVER_INIT(lkageb);
};
/*----------- defined in machine/lkage.c -----------*/
diff --git a/src/mame/includes/lordgun.h b/src/mame/includes/lordgun.h
index 1a082146f8b..f48bec3e532 100644
--- a/src/mame/includes/lordgun.h
+++ b/src/mame/includes/lordgun.h
@@ -56,6 +56,9 @@ public:
DECLARE_READ8_MEMBER(aliencha_dip_r);
DECLARE_WRITE8_MEMBER(aliencha_dip_w);
DECLARE_WRITE8_MEMBER(lordgun_okibank_w);
+ DECLARE_DRIVER_INIT(lordgun);
+ DECLARE_DRIVER_INIT(aliencha);
+ DECLARE_DRIVER_INIT(alienchac);
};
diff --git a/src/mame/includes/m10.h b/src/mame/includes/m10.h
index 938f499ae67..5a2c7a74a8c 100644
--- a/src/mame/includes/m10.h
+++ b/src/mame/includes/m10.h
@@ -77,6 +77,8 @@ public:
DECLARE_WRITE8_MEMBER(m10_chargen_w);
DECLARE_WRITE8_MEMBER(m15_chargen_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(andromed);
+ DECLARE_DRIVER_INIT(ipminva1);
};
diff --git a/src/mame/includes/m107.h b/src/mame/includes/m107.h
index da29aba6b81..1242fc1599f 100644
--- a/src/mame/includes/m107.h
+++ b/src/mame/includes/m107.h
@@ -44,6 +44,9 @@ public:
DECLARE_WRITE16_MEMBER(m107_vram_w);
DECLARE_WRITE16_MEMBER(m107_control_w);
DECLARE_WRITE16_MEMBER(m107_spritebuffer_w);
+ DECLARE_DRIVER_INIT(firebarr);
+ DECLARE_DRIVER_INIT(dsoccr94);
+ DECLARE_DRIVER_INIT(wpksoc);
};
diff --git a/src/mame/includes/m58.h b/src/mame/includes/m58.h
index 1314a0261a1..dd688d2753a 100644
--- a/src/mame/includes/m58.h
+++ b/src/mame/includes/m58.h
@@ -25,6 +25,7 @@ public:
DECLARE_WRITE8_MEMBER(yard_videoram_w);
DECLARE_WRITE8_MEMBER(yard_scroll_panel_w);
DECLARE_WRITE8_MEMBER(yard_flipscreen_w);
+ DECLARE_DRIVER_INIT(yard85);
};
/*----------- defined in video/m58.c -----------*/
diff --git a/src/mame/includes/m62.h b/src/mame/includes/m62.h
index bf73dc79d56..4a0e5561a96 100644
--- a/src/mame/includes/m62.h
+++ b/src/mame/includes/m62.h
@@ -55,6 +55,13 @@ public:
DECLARE_WRITE8_MEMBER(spelunkr_palbank_w);
DECLARE_WRITE8_MEMBER(spelunk2_gfxport_w);
DECLARE_WRITE8_MEMBER(horizon_scrollram_w);
+ DECLARE_DRIVER_INIT(youjyudn);
+ DECLARE_DRIVER_INIT(spelunkr);
+ DECLARE_DRIVER_INIT(ldrun2);
+ DECLARE_DRIVER_INIT(ldrun4);
+ DECLARE_DRIVER_INIT(spelunk2);
+ DECLARE_DRIVER_INIT(kidniki);
+ DECLARE_DRIVER_INIT(battroad);
};
diff --git a/src/mame/includes/m72.h b/src/mame/includes/m72.h
index e3cff027670..32ca912dd66 100644
--- a/src/mame/includes/m72.h
+++ b/src/mame/includes/m72.h
@@ -86,6 +86,17 @@ public:
DECLARE_WRITE16_MEMBER(rtype2_port02_w);
DECLARE_WRITE16_MEMBER(majtitle_gfx_ctrl_w);
DECLARE_WRITE8_MEMBER(m72_snd_cpu_sample_w);
+ DECLARE_DRIVER_INIT(dkgenm72);
+ DECLARE_DRIVER_INIT(bchopper);
+ DECLARE_DRIVER_INIT(gallop);
+ DECLARE_DRIVER_INIT(m72_8751);
+ DECLARE_DRIVER_INIT(xmultiplm72);
+ DECLARE_DRIVER_INIT(mrheli);
+ DECLARE_DRIVER_INIT(dbreedm72);
+ DECLARE_DRIVER_INIT(airduel);
+ DECLARE_DRIVER_INIT(nspirit);
+ DECLARE_DRIVER_INIT(loht);
+ DECLARE_DRIVER_INIT(imgfight);
};
diff --git a/src/mame/includes/m90.h b/src/mame/includes/m90.h
index 017e9b2273a..cfcd18dee00 100644
--- a/src/mame/includes/m90.h
+++ b/src/mame/includes/m90.h
@@ -22,6 +22,8 @@ public:
DECLARE_WRITE16_MEMBER(unknown_w);
DECLARE_WRITE16_MEMBER(m90_video_control_w);
DECLARE_WRITE16_MEMBER(m90_video_w);
+ DECLARE_DRIVER_INIT(bomblord);
+ DECLARE_DRIVER_INIT(quizf1);
};
diff --git a/src/mame/includes/m92.h b/src/mame/includes/m92.h
index 489dcf0f0df..0ef026b18db 100644
--- a/src/mame/includes/m92.h
+++ b/src/mame/includes/m92.h
@@ -64,6 +64,12 @@ public:
DECLARE_WRITE16_MEMBER(m92_master_control_w);
DECLARE_CUSTOM_INPUT_MEMBER(m92_sprite_busy_r);
DECLARE_WRITE16_MEMBER(oki_bank_w);
+ DECLARE_DRIVER_INIT(majtitl2);
+ DECLARE_DRIVER_INIT(ppan);
+ DECLARE_DRIVER_INIT(m92_alt);
+ DECLARE_DRIVER_INIT(lethalth);
+ DECLARE_DRIVER_INIT(m92);
+ DECLARE_DRIVER_INIT(m92_bank);
};
diff --git a/src/mame/includes/macrossp.h b/src/mame/includes/macrossp.h
index 66c609c4636..36e5065697a 100644
--- a/src/mame/includes/macrossp.h
+++ b/src/mame/includes/macrossp.h
@@ -62,6 +62,8 @@ public:
DECLARE_WRITE32_MEMBER(macrossp_scrb_videoram_w);
DECLARE_WRITE32_MEMBER(macrossp_scrc_videoram_w);
DECLARE_WRITE32_MEMBER(macrossp_text_videoram_w);
+ DECLARE_DRIVER_INIT(quizmoon);
+ DECLARE_DRIVER_INIT(macrossp);
};
/*----------- defined in video/macrossp.c -----------*/
diff --git a/src/mame/includes/madmotor.h b/src/mame/includes/madmotor.h
index 6da33ec6657..daf02067728 100644
--- a/src/mame/includes/madmotor.h
+++ b/src/mame/includes/madmotor.h
@@ -22,6 +22,7 @@ public:
device_t *m_maincpu;
device_t *m_audiocpu;
DECLARE_WRITE16_MEMBER(madmotor_sound_w);
+ DECLARE_DRIVER_INIT(madmotor);
};
diff --git a/src/mame/includes/mappy.h b/src/mame/includes/mappy.h
index d7fa4fae88c..a1ebfec5d16 100644
--- a/src/mame/includes/mappy.h
+++ b/src/mame/includes/mappy.h
@@ -32,6 +32,8 @@ public:
DECLARE_WRITE8_MEMBER(out_mux);
DECLARE_WRITE8_MEMBER(out_lamps);
DECLARE_WRITE8_MEMBER(grobda_DAC_w);
+ DECLARE_DRIVER_INIT(digdug2);
+ DECLARE_DRIVER_INIT(grobda);
};
diff --git a/src/mame/includes/mcr.h b/src/mame/includes/mcr.h
index f9c2d70a18d..b901e9b2b25 100644
--- a/src/mame/includes/mcr.h
+++ b/src/mame/includes/mcr.h
@@ -67,6 +67,17 @@ public:
DECLARE_READ8_MEMBER(demoderb_ip1_r);
DECLARE_READ8_MEMBER(demoderb_ip2_r);
DECLARE_WRITE8_MEMBER(demoderb_op4_w);
+ DECLARE_DRIVER_INIT(mcr_91490);
+ DECLARE_DRIVER_INIT(kroozr);
+ DECLARE_DRIVER_INIT(kick);
+ DECLARE_DRIVER_INIT(twotiger);
+ DECLARE_DRIVER_INIT(demoderb);
+ DECLARE_DRIVER_INIT(wacko);
+ DECLARE_DRIVER_INIT(mcr_90010);
+ DECLARE_DRIVER_INIT(dotrone);
+ DECLARE_DRIVER_INIT(nflfoot);
+ DECLARE_DRIVER_INIT(journey);
+ DECLARE_DRIVER_INIT(solarfox);
};
diff --git a/src/mame/includes/mcr3.h b/src/mame/includes/mcr3.h
index a3f641715b0..49f104a14d3 100644
--- a/src/mame/includes/mcr3.h
+++ b/src/mame/includes/mcr3.h
@@ -46,6 +46,15 @@ public:
DECLARE_WRITE8_MEMBER(spyhunt_op4_w);
DECLARE_READ8_MEMBER(turbotag_ip2_r);
DECLARE_READ8_MEMBER(turbotag_kludge_r);
+ DECLARE_DRIVER_INIT(crater);
+ DECLARE_DRIVER_INIT(demoderm);
+ DECLARE_DRIVER_INIT(turbotag);
+ DECLARE_DRIVER_INIT(powerdrv);
+ DECLARE_DRIVER_INIT(stargrds);
+ DECLARE_DRIVER_INIT(maxrpm);
+ DECLARE_DRIVER_INIT(rampage);
+ DECLARE_DRIVER_INIT(spyhunt);
+ DECLARE_DRIVER_INIT(sarge);
};
diff --git a/src/mame/includes/mcr68.h b/src/mame/includes/mcr68.h
index d734647fac7..bb5c0b80022 100644
--- a/src/mame/includes/mcr68.h
+++ b/src/mame/includes/mcr68.h
@@ -79,6 +79,14 @@ public:
DECLARE_WRITE16_MEMBER(zwackery_videoram_w);
DECLARE_WRITE16_MEMBER(zwackery_spriteram_w);
DECLARE_READ8_MEMBER(zwackery_port_2_r);
+ DECLARE_DRIVER_INIT(intlaser);
+ DECLARE_DRIVER_INIT(pigskin);
+ DECLARE_DRIVER_INIT(zwackery);
+ DECLARE_DRIVER_INIT(blasted);
+ DECLARE_DRIVER_INIT(trisport);
+ DECLARE_DRIVER_INIT(xenophob);
+ DECLARE_DRIVER_INIT(archrivl);
+ DECLARE_DRIVER_INIT(spyhunt2);
};
/*----------- defined in machine/mcr68.c -----------*/
diff --git a/src/mame/includes/meadows.h b/src/mame/includes/meadows.h
index ec8b6371301..0bea4cfc279 100644
--- a/src/mame/includes/meadows.h
+++ b/src/mame/includes/meadows.h
@@ -40,6 +40,8 @@ public:
DECLARE_WRITE8_MEMBER(meadows_videoram_w);
DECLARE_WRITE8_MEMBER(meadows_spriteram_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(minferno);
+ DECLARE_DRIVER_INIT(gypsyjug);
};
diff --git a/src/mame/includes/megadriv.h b/src/mame/includes/megadriv.h
index e36f3711489..ce4a97408ea 100644
--- a/src/mame/includes/megadriv.h
+++ b/src/mame/includes/megadriv.h
@@ -22,13 +22,6 @@
/*----------- defined in machine/megadriv.c -----------*/
-extern DRIVER_INIT( megadriv_c2 );
-extern DRIVER_INIT( megadrie );
-extern DRIVER_INIT( megadriv );
-extern DRIVER_INIT( megadrij );
-extern DRIVER_INIT( _32x );
-extern DRIVER_INIT( mpnew );
-
INPUT_PORTS_EXTERN( md_common );
INPUT_PORTS_EXTERN( megadriv );
INPUT_PORTS_EXTERN( megadri6 );
@@ -125,6 +118,13 @@ class md_base_state : public driver_device
public:
md_base_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+
+ DECLARE_DRIVER_INIT(megadriv_c2);
+ DECLARE_DRIVER_INIT(megadrie);
+ DECLARE_DRIVER_INIT(megadriv);
+ DECLARE_DRIVER_INIT(megadrij);
+ DECLARE_DRIVER_INIT(mpnew);
+
};
class md_boot_state : public md_base_state
@@ -208,6 +208,13 @@ public:
m_protcount = 0;
return ret;
}
+
+ DECLARE_DRIVER_INIT(aladmdb);
+ DECLARE_DRIVER_INIT(mk3mdb);
+ DECLARE_DRIVER_INIT(ssf2mdb);
+ DECLARE_DRIVER_INIT(srmdb);
+ DECLARE_DRIVER_INIT(topshoot);
+ DECLARE_DRIVER_INIT(puckpkmn);
};
class segac2_state : public md_base_state
@@ -240,6 +247,33 @@ public:
/* sound-related variables */
UINT8 m_sound_banks; /* number of sound banks */
+
+ DECLARE_DRIVER_INIT(c2boot);
+ DECLARE_DRIVER_INIT(bloxeedc);
+ DECLARE_DRIVER_INIT(columns);
+ DECLARE_DRIVER_INIT(columns2);
+ DECLARE_DRIVER_INIT(tfrceac);
+ DECLARE_DRIVER_INIT(tfrceacb);
+ DECLARE_DRIVER_INIT(borench);
+ DECLARE_DRIVER_INIT(twinsqua);
+ DECLARE_DRIVER_INIT(ribbit);
+ DECLARE_DRIVER_INIT(puyo);
+ DECLARE_DRIVER_INIT(tantr);
+ DECLARE_DRIVER_INIT(tantrkor);
+ DECLARE_DRIVER_INIT(potopoto);
+ DECLARE_DRIVER_INIT(stkclmns);
+ DECLARE_DRIVER_INIT(stkclmnj);
+ DECLARE_DRIVER_INIT(ichir);
+ DECLARE_DRIVER_INIT(ichirk);
+ DECLARE_DRIVER_INIT(ichirj);
+ DECLARE_DRIVER_INIT(ichirjbl);
+ DECLARE_DRIVER_INIT(puyopuy2);
+ DECLARE_DRIVER_INIT(zunkyou);
+ DECLARE_DRIVER_INIT(pclub);
+ DECLARE_DRIVER_INIT(pclubjv2);
+ DECLARE_DRIVER_INIT(pclubjv4);
+ DECLARE_DRIVER_INIT(pclubjv5);
+ void segac2_common_init(running_machine& machine, int (*func)(int in));
};
class mplay_state : public md_base_state
@@ -267,6 +301,8 @@ public:
required_shared_ptr<UINT8> m_ic3_ram;
UINT8* m_ic37_ram;
UINT16 *m_ic36_ram;
+
+ DECLARE_DRIVER_INIT(megaplay);
};
class mtech_state : public md_base_state
@@ -287,6 +323,8 @@ public:
/* Megatech BIOS specific */
UINT8* m_megatech_banked_ram;
+ DECLARE_DRIVER_INIT(mt_crt);
+ DECLARE_DRIVER_INIT(mt_slot);
};
typedef struct _megadriv_cart megadriv_cart;
@@ -327,6 +365,9 @@ public:
UINT8 m_jcart_io_data[2];
megadriv_cart m_md_cart;
+
+ DECLARE_DRIVER_INIT(hshavoc);
+ DECLARE_DRIVER_INIT(topshoot);
};
class pico_state : public md_cons_state
@@ -368,6 +409,8 @@ class _32x_state : public md_base_state
public:
_32x_state(const machine_config &mconfig, device_type type, const char *tag)
: md_base_state(mconfig, type, tag) { }
+
+ DECLARE_DRIVER_INIT(_32x);
};
// Fifa96 needs the CPUs swapped for the gameplay to enter due to some race conditions
diff --git a/src/mame/includes/megasys1.h b/src/mame/includes/megasys1.h
index 0dbe96863b8..bb382365ac8 100644
--- a/src/mame/includes/megasys1.h
+++ b/src/mame/includes/megasys1.h
@@ -82,6 +82,26 @@ public:
DECLARE_READ8_MEMBER(oki_status_2_r);
DECLARE_WRITE16_MEMBER(okim6295_both_1_w);
DECLARE_WRITE16_MEMBER(okim6295_both_2_w);
+ DECLARE_DRIVER_INIT(64street);
+ DECLARE_DRIVER_INIT(chimerab);
+ DECLARE_DRIVER_INIT(peekaboo);
+ DECLARE_DRIVER_INIT(soldam);
+ DECLARE_DRIVER_INIT(astyanax);
+ DECLARE_DRIVER_INIT(stdragon);
+ DECLARE_DRIVER_INIT(hayaosi1);
+ DECLARE_DRIVER_INIT(soldamj);
+ DECLARE_DRIVER_INIT(phantasm);
+ DECLARE_DRIVER_INIT(jitsupro);
+ DECLARE_DRIVER_INIT(iganinju);
+ DECLARE_DRIVER_INIT(cybattlr);
+ DECLARE_DRIVER_INIT(rodlandj);
+ DECLARE_DRIVER_INIT(avspirit);
+ DECLARE_DRIVER_INIT(monkelf);
+ DECLARE_DRIVER_INIT(edf);
+ DECLARE_DRIVER_INIT(bigstrik);
+ DECLARE_DRIVER_INIT(rodland);
+ DECLARE_DRIVER_INIT(edfbl);
+ DECLARE_DRIVER_INIT(stdragona);
};
diff --git a/src/mame/includes/megazone.h b/src/mame/includes/megazone.h
index f56ffa4938a..2547412fd3b 100644
--- a/src/mame/includes/megazone.h
+++ b/src/mame/includes/megazone.h
@@ -46,6 +46,7 @@ public:
DECLARE_WRITE8_MEMBER(megazone_flipscreen_w);
DECLARE_READ8_MEMBER(megazone_port_a_r);
DECLARE_WRITE8_MEMBER(megazone_port_b_w);
+ DECLARE_DRIVER_INIT(megazone);
};
diff --git a/src/mame/includes/metalmx.h b/src/mame/includes/metalmx.h
index 84d0ae763d0..bbd9ceb3d83 100644
--- a/src/mame/includes/metalmx.h
+++ b/src/mame/includes/metalmx.h
@@ -45,4 +45,5 @@ public:
DECLARE_READ32_MEMBER(host_vram_r);
DECLARE_WRITE32_MEMBER(host_vram_w);
DECLARE_WRITE32_MEMBER(timer_w);
+ DECLARE_DRIVER_INIT(metalmx);
};
diff --git a/src/mame/includes/metro.h b/src/mame/includes/metro.h
index 6eff29d50a3..7bf8a11f2f8 100644
--- a/src/mame/includes/metro.h
+++ b/src/mame/includes/metro.h
@@ -142,6 +142,15 @@ public:
DECLARE_WRITE16_MEMBER(dokyusp_eeprom_bit_w);
DECLARE_WRITE16_MEMBER(dokyusp_eeprom_reset_w);
DECLARE_WRITE16_MEMBER(mouja_sound_rombank_w);
+ DECLARE_DRIVER_INIT(karatour);
+ DECLARE_DRIVER_INIT(daitorid);
+ DECLARE_DRIVER_INIT(blzntrnd);
+ DECLARE_DRIVER_INIT(mouja);
+ DECLARE_DRIVER_INIT(balcube);
+ DECLARE_DRIVER_INIT(gakusai);
+ DECLARE_DRIVER_INIT(dharmak);
+ DECLARE_DRIVER_INIT(puzzlet);
+ DECLARE_DRIVER_INIT(metro);
};
diff --git a/src/mame/includes/mhavoc.h b/src/mame/includes/mhavoc.h
index b82b245ee12..2e58eb6444c 100644
--- a/src/mame/includes/mhavoc.h
+++ b/src/mame/includes/mhavoc.h
@@ -59,6 +59,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(alpha_rcvd_r);
DECLARE_CUSTOM_INPUT_MEMBER(alpha_xmtd_r);
DECLARE_CUSTOM_INPUT_MEMBER(clock_r);
+ DECLARE_DRIVER_INIT(mhavocrv);
};
@@ -69,6 +70,5 @@ TIMER_DEVICE_CALLBACK( mhavoc_cpu_irq_clock );
MACHINE_START( mhavoc );
MACHINE_RESET( mhavoc );
-DRIVER_INIT( mhavocrv );
diff --git a/src/mame/includes/micro3d.h b/src/mame/includes/micro3d.h
index b077450b57f..de094051a8f 100644
--- a/src/mame/includes/micro3d.h
+++ b/src/mame/includes/micro3d.h
@@ -109,6 +109,8 @@ public:
DECLARE_WRITE8_MEMBER(micro3d_snd_dac_b);
DECLARE_WRITE8_MEMBER(micro3d_sound_io_w);
DECLARE_READ8_MEMBER(micro3d_sound_io_r);
+ DECLARE_DRIVER_INIT(micro3d);
+ DECLARE_DRIVER_INIT(botss);
};
typedef struct _micro3d_vtx_
@@ -125,8 +127,6 @@ void micro3d_duart_output_w(device_t *device, UINT8 data);
void micro3d_duart_tx(device_t *device, int channel, UINT8 data);
MACHINE_RESET( micro3d );
-DRIVER_INIT( micro3d );
-DRIVER_INIT( botss );
/*----------- defined in audio/micro3d.c -----------*/
diff --git a/src/mame/includes/midtunit.h b/src/mame/includes/midtunit.h
index fdaa5487f2a..2e2f01e208f 100644
--- a/src/mame/includes/midtunit.h
+++ b/src/mame/includes/midtunit.h
@@ -55,18 +55,18 @@ public:
DECLARE_READ16_MEMBER(midxunit_paletteram_r);
DECLARE_READ16_MEMBER(midtunit_dma_r);
DECLARE_WRITE16_MEMBER(midtunit_dma_w);
+ DECLARE_DRIVER_INIT(mktunit);
+ DECLARE_DRIVER_INIT(mkturbo);
+ DECLARE_DRIVER_INIT(nbajamte);
+ DECLARE_DRIVER_INIT(nbajam);
+ DECLARE_DRIVER_INIT(jdreddp);
+ DECLARE_DRIVER_INIT(mk2);
};
/*----------- defined in machine/midtunit.c -----------*/
-DRIVER_INIT( mktunit );
-DRIVER_INIT( mkturbo );
-DRIVER_INIT( jdreddp );
-DRIVER_INIT( nbajam );
-DRIVER_INIT( nbajamte );
-DRIVER_INIT( mk2 );
MACHINE_RESET( midtunit );
diff --git a/src/mame/includes/midvunit.h b/src/mame/includes/midvunit.h
index 1d6829a4102..37773172225 100644
--- a/src/mame/includes/midvunit.h
+++ b/src/mame/includes/midvunit.h
@@ -107,6 +107,14 @@ public:
DECLARE_READ32_MEMBER(midvplus_misc_r);
DECLARE_WRITE32_MEMBER(midvplus_misc_w);
DECLARE_READ32_MEMBER(generic_speedup_r);
+ DECLARE_DRIVER_INIT(crusnu40);
+ DECLARE_DRIVER_INIT(crusnu21);
+ DECLARE_DRIVER_INIT(crusnwld);
+ DECLARE_DRIVER_INIT(wargods);
+ DECLARE_DRIVER_INIT(offroadc);
+ DECLARE_DRIVER_INIT(crusnusa);
+ void init_crusnwld_common(offs_t speedup);
+ void init_crusnusa_common(offs_t speedup);
};
diff --git a/src/mame/includes/midwunit.h b/src/mame/includes/midwunit.h
index e4c1adcb689..3941d7679dc 100644
--- a/src/mame/includes/midwunit.h
+++ b/src/mame/includes/midwunit.h
@@ -32,6 +32,15 @@ public:
DECLARE_WRITE16_MEMBER(midwunit_sound_w);
DECLARE_WRITE16_MEMBER(umk3_palette_hack_w);
DECLARE_WRITE16_MEMBER(wwfmania_io_0_w);
+ DECLARE_DRIVER_INIT(mk3r10);
+ DECLARE_DRIVER_INIT(nbahangt);
+ DECLARE_DRIVER_INIT(wwfmania);
+ DECLARE_DRIVER_INIT(umk3);
+ DECLARE_DRIVER_INIT(mk3);
+ DECLARE_DRIVER_INIT(openice);
+ DECLARE_DRIVER_INIT(rmpgwt);
+ DECLARE_DRIVER_INIT(umk3r11);
+ DECLARE_DRIVER_INIT(mk3r20);
};
/*----------- defined in machine/midwunit.c -----------*/
@@ -39,16 +48,7 @@ public:
-DRIVER_INIT( mk3 );
-DRIVER_INIT( mk3r20 );
-DRIVER_INIT( mk3r10 );
-DRIVER_INIT( umk3 );
-DRIVER_INIT( umk3r11 );
-DRIVER_INIT( openice );
-DRIVER_INIT( nbahangt );
-DRIVER_INIT( wwfmania );
-DRIVER_INIT( rmpgwt );
MACHINE_RESET( midwunit );
diff --git a/src/mame/includes/midxunit.h b/src/mame/includes/midxunit.h
index b8fd4986eeb..ac2b5d32dce 100644
--- a/src/mame/includes/midxunit.h
+++ b/src/mame/includes/midxunit.h
@@ -36,6 +36,7 @@ public:
DECLARE_READ16_MEMBER(midxunit_sound_r);
DECLARE_READ16_MEMBER(midxunit_sound_state_r);
DECLARE_WRITE16_MEMBER(midxunit_sound_w);
+ DECLARE_DRIVER_INIT(revx);
};
@@ -45,7 +46,6 @@ public:
-DRIVER_INIT( revx );
MACHINE_RESET( midxunit );
diff --git a/src/mame/includes/midyunit.h b/src/mame/includes/midyunit.h
index dafdb404313..fe5fb21ec8a 100644
--- a/src/mame/includes/midyunit.h
+++ b/src/mame/includes/midyunit.h
@@ -87,6 +87,20 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(narc_talkback_data_r);
DECLARE_CUSTOM_INPUT_MEMBER(adpcm_irq_state_r);
DECLARE_WRITE8_MEMBER(yawdim_oki_bank_w);
+ DECLARE_DRIVER_INIT(smashtv);
+ DECLARE_DRIVER_INIT(strkforc);
+ DECLARE_DRIVER_INIT(narc);
+ DECLARE_DRIVER_INIT(term2);
+ DECLARE_DRIVER_INIT(term2la1);
+ DECLARE_DRIVER_INIT(term2la3);
+ DECLARE_DRIVER_INIT(mkyunit);
+ DECLARE_DRIVER_INIT(trog);
+ DECLARE_DRIVER_INIT(totcarn);
+ DECLARE_DRIVER_INIT(mkyawdim);
+ DECLARE_DRIVER_INIT(shimpact);
+ DECLARE_DRIVER_INIT(hiimpact);
+ DECLARE_DRIVER_INIT(mkyturbo);
+ DECLARE_DRIVER_INIT(term2la2);
};
@@ -95,20 +109,6 @@ public:
-DRIVER_INIT( narc );
-DRIVER_INIT( trog );
-DRIVER_INIT( smashtv );
-DRIVER_INIT( hiimpact );
-DRIVER_INIT( shimpact );
-DRIVER_INIT( strkforc );
-DRIVER_INIT( mkyunit );
-DRIVER_INIT( mkyturbo );
-DRIVER_INIT( mkyawdim );
-DRIVER_INIT( term2 );
-DRIVER_INIT( term2la3 );
-DRIVER_INIT( term2la2 );
-DRIVER_INIT( term2la1 );
-DRIVER_INIT( totcarn );
MACHINE_RESET( midyunit );
diff --git a/src/mame/includes/midzeus.h b/src/mame/includes/midzeus.h
index ac3a731a1e0..c84974cf3e7 100644
--- a/src/mame/includes/midzeus.h
+++ b/src/mame/includes/midzeus.h
@@ -39,6 +39,10 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(keypad_r);
DECLARE_READ32_MEMBER(zeus2_timekeeper_r);
DECLARE_WRITE32_MEMBER(zeus2_timekeeper_w);
+ DECLARE_DRIVER_INIT(invasn);
+ DECLARE_DRIVER_INIT(mk4);
+ DECLARE_DRIVER_INIT(thegrid);
+ DECLARE_DRIVER_INIT(crusnexo);
};
diff --git a/src/mame/includes/mitchell.h b/src/mame/includes/mitchell.h
index 1011c2d9fc5..0478a94639a 100644
--- a/src/mame/includes/mitchell.h
+++ b/src/mame/includes/mitchell.h
@@ -77,6 +77,25 @@ public:
DECLARE_WRITE8_MEMBER(eeprom_clock_w);
DECLARE_WRITE8_MEMBER(eeprom_serial_w);
DECLARE_WRITE8_MEMBER(oki_banking_w);
+ DECLARE_DRIVER_INIT(mgakuen2);
+ DECLARE_DRIVER_INIT(block);
+ DECLARE_DRIVER_INIT(pangb);
+ DECLARE_DRIVER_INIT(qtono1);
+ DECLARE_DRIVER_INIT(mgakuen);
+ DECLARE_DRIVER_INIT(hatena);
+ DECLARE_DRIVER_INIT(mstworld);
+ DECLARE_DRIVER_INIT(spangbl);
+ DECLARE_DRIVER_INIT(pkladiesbl);
+ DECLARE_DRIVER_INIT(spang);
+ DECLARE_DRIVER_INIT(cworld);
+ DECLARE_DRIVER_INIT(spangj);
+ DECLARE_DRIVER_INIT(qsangoku);
+ DECLARE_DRIVER_INIT(marukin);
+ DECLARE_DRIVER_INIT(pang);
+ DECLARE_DRIVER_INIT(sbbros);
+ DECLARE_DRIVER_INIT(pkladies);
+ DECLARE_DRIVER_INIT(blockbl);
+ DECLARE_DRIVER_INIT(dokaben);
};
diff --git a/src/mame/includes/model2.h b/src/mame/includes/model2.h
index 1d49c0885a1..93c876095c6 100644
--- a/src/mame/includes/model2.h
+++ b/src/mame/includes/model2.h
@@ -145,6 +145,15 @@ public:
void push_geo_data(UINT32 data);
DECLARE_WRITE16_MEMBER(m1_snd_mpcm_bnk1_w);
DECLARE_WRITE16_MEMBER(m1_snd_mpcm_bnk2_w);
+ DECLARE_DRIVER_INIT(overrev);
+ DECLARE_DRIVER_INIT(pltkids);
+ DECLARE_DRIVER_INIT(rchase2);
+ DECLARE_DRIVER_INIT(genprot);
+ DECLARE_DRIVER_INIT(daytonam);
+ DECLARE_DRIVER_INIT(srallyc);
+ DECLARE_DRIVER_INIT(doa);
+ DECLARE_DRIVER_INIT(zerogun);
+ DECLARE_DRIVER_INIT(sgt24h);
};
diff --git a/src/mame/includes/model3.h b/src/mame/includes/model3.h
index 66d175969e9..24f22846c4c 100644
--- a/src/mame/includes/model3.h
+++ b/src/mame/includes/model3.h
@@ -151,6 +151,39 @@ public:
DECLARE_WRITE16_MEMBER(model3snd_ctrl);
UINT32 pci_device_get_reg();
void pci_device_set_reg(UINT32 value);
+ DECLARE_DRIVER_INIT(lemans24);
+ DECLARE_DRIVER_INIT(vs298);
+ DECLARE_DRIVER_INIT(vs299);
+ DECLARE_DRIVER_INIT(swtrilgy);
+ DECLARE_DRIVER_INIT(scudplus);
+ DECLARE_DRIVER_INIT(model3_20);
+ DECLARE_DRIVER_INIT(bass);
+ DECLARE_DRIVER_INIT(vs2v991);
+ DECLARE_DRIVER_INIT(vs2);
+ DECLARE_DRIVER_INIT(daytona2);
+ DECLARE_DRIVER_INIT(eca);
+ DECLARE_DRIVER_INIT(srally2);
+ DECLARE_DRIVER_INIT(harleya);
+ DECLARE_DRIVER_INIT(skichamp);
+ DECLARE_DRIVER_INIT(spikeofe);
+ DECLARE_DRIVER_INIT(scud);
+ DECLARE_DRIVER_INIT(harley);
+ DECLARE_DRIVER_INIT(swtrilga);
+ DECLARE_DRIVER_INIT(vs29815);
+ DECLARE_DRIVER_INIT(model3_10);
+ DECLARE_DRIVER_INIT(vs215);
+ DECLARE_DRIVER_INIT(getbass);
+ DECLARE_DRIVER_INIT(scudplusa);
+ DECLARE_DRIVER_INIT(dirtdvls);
+ DECLARE_DRIVER_INIT(vs299b);
+ DECLARE_DRIVER_INIT(vf3);
+ DECLARE_DRIVER_INIT(von2);
+ DECLARE_DRIVER_INIT(vs299a);
+ DECLARE_DRIVER_INIT(lostwsga);
+ DECLARE_DRIVER_INIT(oceanhun);
+ DECLARE_DRIVER_INIT(dayto2pe);
+ DECLARE_DRIVER_INIT(spikeout);
+ DECLARE_DRIVER_INIT(model3_15);
};
diff --git a/src/mame/includes/moo.h b/src/mame/includes/moo.h
index fe3376bdaa2..d4a496c372c 100644
--- a/src/mame/includes/moo.h
+++ b/src/mame/includes/moo.h
@@ -49,6 +49,7 @@ public:
DECLARE_WRITE16_MEMBER(K053247_scattered_word_w);
DECLARE_WRITE16_MEMBER(moo_prot_w);
DECLARE_WRITE16_MEMBER(moobl_oki_bank_w);
+ DECLARE_DRIVER_INIT(moo);
};
diff --git a/src/mame/includes/mouser.h b/src/mame/includes/mouser.h
index 2178b56a4d1..448174aff0d 100644
--- a/src/mame/includes/mouser.h
+++ b/src/mame/includes/mouser.h
@@ -31,6 +31,7 @@ public:
DECLARE_WRITE8_MEMBER(mouser_sound_nmi_clear_w);
DECLARE_WRITE8_MEMBER(mouser_flip_screen_x_w);
DECLARE_WRITE8_MEMBER(mouser_flip_screen_y_w);
+ DECLARE_DRIVER_INIT(mouser);
};
/*----------- defined in video/mouser.c -----------*/
diff --git a/src/mame/includes/mpu4.h b/src/mame/includes/mpu4.h
index 71d18c972e0..8d8ffd10056 100644
--- a/src/mame/includes/mpu4.h
+++ b/src/mame/includes/mpu4.h
@@ -227,6 +227,25 @@ public:
DECLARE_WRITE8_MEMBER(ic3ss_o1_callback);
DECLARE_WRITE8_MEMBER(ic3ss_o2_callback);
DECLARE_WRITE8_MEMBER(ic3ss_o3_callback);
+ DECLARE_DRIVER_INIT(m4default_alt);
+ DECLARE_DRIVER_INIT(crystali);
+ DECLARE_DRIVER_INIT(m4tst2);
+ DECLARE_DRIVER_INIT(crystal);
+ DECLARE_DRIVER_INIT(m_frkstn);
+ DECLARE_DRIVER_INIT(m4default_bigbank);
+ DECLARE_DRIVER_INIT(m4default);
+ DECLARE_DRIVER_INIT(m_blsbys);
+ DECLARE_DRIVER_INIT(m_oldtmr);
+ DECLARE_DRIVER_INIT(m4tst);
+ DECLARE_DRIVER_INIT(m_ccelbr);
+ DECLARE_DRIVER_INIT(m4gambal);
+ DECLARE_DRIVER_INIT(m_grtecp);
+ DECLARE_DRIVER_INIT(m4debug);
+ DECLARE_DRIVER_INIT(m4_showstring);
+ DECLARE_DRIVER_INIT(m4_showstring_mod2);
+ DECLARE_DRIVER_INIT(m4_showstring_big);
+ DECLARE_DRIVER_INIT(m_grtecpss);
+ DECLARE_DRIVER_INIT(connect4);
};
/* mpu4.c, used by mpu4vid.c */
diff --git a/src/mame/includes/ms32.h b/src/mame/includes/ms32.h
index 572e3367708..dc813967f86 100644
--- a/src/mame/includes/ms32.h
+++ b/src/mame/includes/ms32.h
@@ -71,6 +71,15 @@ public:
DECLARE_WRITE32_MEMBER(ms32_brightness_w);
DECLARE_WRITE32_MEMBER(ms32_gfxctrl_w);
DECLARE_CUSTOM_INPUT_MEMBER(mahjong_ctrl_r);
+ DECLARE_DRIVER_INIT(ms32_common);
+ DECLARE_DRIVER_INIT(ss92047_01);
+ DECLARE_DRIVER_INIT(ss91022_10);
+ DECLARE_DRIVER_INIT(kirarast);
+ DECLARE_DRIVER_INIT(47pie2);
+ DECLARE_DRIVER_INIT(ss92048_01);
+ DECLARE_DRIVER_INIT(bnstars);
+ DECLARE_DRIVER_INIT(f1superb);
+ DECLARE_DRIVER_INIT(ss92046_01);
};
diff --git a/src/mame/includes/multfish.h b/src/mame/includes/multfish.h
index 4a907d92447..ced3c00a599 100644
--- a/src/mame/includes/multfish.h
+++ b/src/mame/includes/multfish.h
@@ -28,4 +28,6 @@ public:
UINT8 m_hopper_motor;
UINT8 m_hopper;
+ DECLARE_DRIVER_INIT(ROT0);
+ DECLARE_DRIVER_INIT(customl);
};
diff --git a/src/mame/includes/mustache.h b/src/mame/includes/mustache.h
index 79f9cd3f794..67553a1aeac 100644
--- a/src/mame/includes/mustache.h
+++ b/src/mame/includes/mustache.h
@@ -14,6 +14,7 @@ public:
DECLARE_WRITE8_MEMBER(mustache_videoram_w);
DECLARE_WRITE8_MEMBER(mustache_video_control_w);
DECLARE_WRITE8_MEMBER(mustache_scroll_w);
+ DECLARE_DRIVER_INIT(mustache);
};
diff --git a/src/mame/includes/n64.h b/src/mame/includes/n64.h
index cb64c7b25c2..dc2f510c07c 100644
--- a/src/mame/includes/n64.h
+++ b/src/mame/includes/n64.h
@@ -18,6 +18,8 @@ public:
/* video-related */
n64_rdp *m_rdp;
+ DECLARE_DRIVER_INIT(aleck64);
+
};
/*----------- devices -----------*/
diff --git a/src/mame/includes/namcofl.h b/src/mame/includes/namcofl.h
index 5096944f590..6f464dba24c 100644
--- a/src/mame/includes/namcofl.h
+++ b/src/mame/includes/namcofl.h
@@ -50,6 +50,8 @@ public:
DECLARE_READ8_MEMBER(dac1_r);
DECLARE_READ8_MEMBER(dac0_r);
DECLARE_WRITE32_MEMBER(namcofl_spritebank_w);
+ DECLARE_DRIVER_INIT(speedrcr);
+ DECLARE_DRIVER_INIT(finalapr);
};
diff --git a/src/mame/includes/namcona1.h b/src/mame/includes/namcona1.h
index 8d946c75ea8..304162f0f63 100644
--- a/src/mame/includes/namcona1.h
+++ b/src/mame/includes/namcona1.h
@@ -90,6 +90,18 @@ public:
DECLARE_WRITE16_MEMBER(namcona1_gfxram_w);
DECLARE_READ16_MEMBER(snd_r);
DECLARE_WRITE16_MEMBER(snd_w);
+ DECLARE_DRIVER_INIT(bkrtmaq);
+ DECLARE_DRIVER_INIT(quiztou);
+ DECLARE_DRIVER_INIT(emeralda);
+ DECLARE_DRIVER_INIT(numanath);
+ DECLARE_DRIVER_INIT(fa);
+ DECLARE_DRIVER_INIT(cgangpzl);
+ DECLARE_DRIVER_INIT(tinklpit);
+ DECLARE_DRIVER_INIT(swcourt);
+ DECLARE_DRIVER_INIT(knckhead);
+ DECLARE_DRIVER_INIT(xday2);
+ DECLARE_DRIVER_INIT(exbania);
+ DECLARE_DRIVER_INIT(emeraldj);
};
diff --git a/src/mame/includes/namconb1.h b/src/mame/includes/namconb1.h
index 15470a64d6d..9b75d77715c 100644
--- a/src/mame/includes/namconb1.h
+++ b/src/mame/includes/namconb1.h
@@ -60,6 +60,16 @@ public:
DECLARE_READ8_MEMBER(dac2_r);
DECLARE_READ8_MEMBER(dac1_r);
DECLARE_READ8_MEMBER(dac0_r);
+ DECLARE_DRIVER_INIT(sws95);
+ DECLARE_DRIVER_INIT(machbrkr);
+ DECLARE_DRIVER_INIT(sws97);
+ DECLARE_DRIVER_INIT(sws96);
+ DECLARE_DRIVER_INIT(vshoot);
+ DECLARE_DRIVER_INIT(nebulray);
+ DECLARE_DRIVER_INIT(gunbulet);
+ DECLARE_DRIVER_INIT(gslgr94j);
+ DECLARE_DRIVER_INIT(outfxies);
+ DECLARE_DRIVER_INIT(gslgr94u);
};
diff --git a/src/mame/includes/namcos1.h b/src/mame/includes/namcos1.h
index 443bfb34bc7..a994d69bc5b 100644
--- a/src/mame/includes/namcos1.h
+++ b/src/mame/includes/namcos1.h
@@ -62,6 +62,29 @@ public:
DECLARE_WRITE8_MEMBER(namcos1_subcpu_bank_w);
DECLARE_WRITE8_MEMBER(namcos1_mcu_bankswitch_w);
DECLARE_WRITE8_MEMBER(namcos1_mcu_patch_w);
+ DECLARE_DRIVER_INIT(pacmania);
+ DECLARE_DRIVER_INIT(ws);
+ DECLARE_DRIVER_INIT(wldcourt);
+ DECLARE_DRIVER_INIT(tankfrc4);
+ DECLARE_DRIVER_INIT(blazer);
+ DECLARE_DRIVER_INIT(dangseed);
+ DECLARE_DRIVER_INIT(splatter);
+ DECLARE_DRIVER_INIT(alice);
+ DECLARE_DRIVER_INIT(faceoff);
+ DECLARE_DRIVER_INIT(puzlclub);
+ DECLARE_DRIVER_INIT(bakutotu);
+ DECLARE_DRIVER_INIT(rompers);
+ DECLARE_DRIVER_INIT(ws90);
+ DECLARE_DRIVER_INIT(tankfrce);
+ DECLARE_DRIVER_INIT(soukobdx);
+ DECLARE_DRIVER_INIT(shadowld);
+ DECLARE_DRIVER_INIT(berabohm);
+ DECLARE_DRIVER_INIT(galaga88);
+ DECLARE_DRIVER_INIT(blastoff);
+ DECLARE_DRIVER_INIT(quester);
+ DECLARE_DRIVER_INIT(ws89);
+ DECLARE_DRIVER_INIT(dspirit);
+ DECLARE_DRIVER_INIT(pistoldm);
};
@@ -77,29 +100,6 @@ void namcos1_init_DACs(running_machine &machine);
MACHINE_RESET( namcos1 );
-DRIVER_INIT( shadowld );
-DRIVER_INIT( dspirit );
-DRIVER_INIT( quester );
-DRIVER_INIT( blazer );
-DRIVER_INIT( pacmania );
-DRIVER_INIT( galaga88 );
-DRIVER_INIT( ws );
-DRIVER_INIT( berabohm );
-DRIVER_INIT( alice );
-DRIVER_INIT( bakutotu );
-DRIVER_INIT( wldcourt );
-DRIVER_INIT( splatter );
-DRIVER_INIT( faceoff );
-DRIVER_INIT( rompers );
-DRIVER_INIT( blastoff );
-DRIVER_INIT( ws89 );
-DRIVER_INIT( dangseed );
-DRIVER_INIT( ws90 );
-DRIVER_INIT( pistoldm );
-DRIVER_INIT( soukobdx );
-DRIVER_INIT( puzlclub );
-DRIVER_INIT( tankfrce );
-DRIVER_INIT( tankfrc4 );
/*----------- defined in video/namcos1.c -----------*/
diff --git a/src/mame/includes/namcos21.h b/src/mame/includes/namcos21.h
index 651fc0353f3..7711a1129ca 100644
--- a/src/mame/includes/namcos21.h
+++ b/src/mame/includes/namcos21.h
@@ -144,6 +144,12 @@ public:
DECLARE_WRITE16_MEMBER(winrun_gpu_register_w);
DECLARE_WRITE16_MEMBER(winrun_gpu_videoram_w);
DECLARE_READ16_MEMBER(winrun_gpu_videoram_r);
+ DECLARE_DRIVER_INIT(driveyes);
+ DECLARE_DRIVER_INIT(winrun);
+ DECLARE_DRIVER_INIT(starblad);
+ DECLARE_DRIVER_INIT(solvalou);
+ DECLARE_DRIVER_INIT(cybsled);
+ DECLARE_DRIVER_INIT(aircomb);
};
diff --git a/src/mame/includes/namcos22.h b/src/mame/includes/namcos22.h
index 28879e5c213..6a814cbf644 100644
--- a/src/mame/includes/namcos22.h
+++ b/src/mame/includes/namcos22.h
@@ -233,6 +233,22 @@ public:
UINT32 ReadFromCommRAM(offs_t offs );
void WriteToCommRAM(offs_t offs, UINT32 data );
void WriteToPointRAM(offs_t offs, UINT32 data );
+ DECLARE_DRIVER_INIT(acedrvr);
+ DECLARE_DRIVER_INIT(aquajet);
+ DECLARE_DRIVER_INIT(cybrcyc);
+ DECLARE_DRIVER_INIT(raveracw);
+ DECLARE_DRIVER_INIT(ridger2j);
+ DECLARE_DRIVER_INIT(victlap);
+ DECLARE_DRIVER_INIT(cybrcomm);
+ DECLARE_DRIVER_INIT(timecris);
+ DECLARE_DRIVER_INIT(tokyowar);
+ DECLARE_DRIVER_INIT(propcycl);
+ DECLARE_DRIVER_INIT(alpiner2);
+ DECLARE_DRIVER_INIT(dirtdash);
+ DECLARE_DRIVER_INIT(airco22);
+ DECLARE_DRIVER_INIT(alpiner);
+ DECLARE_DRIVER_INIT(ridgeraj);
+ DECLARE_DRIVER_INIT(alpinesa);
};
diff --git a/src/mame/includes/namcos86.h b/src/mame/includes/namcos86.h
index f71ab82f42e..118da9d4203 100644
--- a/src/mame/includes/namcos86.h
+++ b/src/mame/includes/namcos86.h
@@ -44,6 +44,7 @@ public:
DECLARE_WRITE8_MEMBER(rthunder_backcolor_w);
DECLARE_READ8_MEMBER(rthunder_spriteram_r);
DECLARE_WRITE8_MEMBER(rthunder_spriteram_w);
+ DECLARE_DRIVER_INIT(namco86);
};
diff --git a/src/mame/includes/naomi.h b/src/mame/includes/naomi.h
index 6f85d9d5a06..1221e83de2e 100644
--- a/src/mame/includes/naomi.h
+++ b/src/mame/includes/naomi.h
@@ -19,26 +19,11 @@ extern void naomi_game_decrypt(running_machine& machine, UINT64 key, UINT8* regi
/*----------- defined in machine/naomi.c -----------*/
-extern DRIVER_INIT( naomi );
-extern DRIVER_INIT( naomi_mp );
-extern DRIVER_INIT( naomi2 );
-extern DRIVER_INIT( naomigd );
-extern DRIVER_INIT( naomigd_mp );
-extern DRIVER_INIT( sfz3ugd );
-extern DRIVER_INIT( ggxxsla );
-extern DRIVER_INIT( ggxxrl );
-extern DRIVER_INIT( ggxx );
-extern DRIVER_INIT( gram2000 );
-extern DRIVER_INIT( mvsc2 );
-extern DRIVER_INIT( qmegamis );
-extern DRIVER_INIT( vf4evoct );
-extern DRIVER_INIT( kick4csh );
-extern DRIVER_INIT( hotd2 );
extern UINT64 *naomi_ram64;
diff --git a/src/mame/includes/naughtyb.h b/src/mame/includes/naughtyb.h
index 4087aab8cdf..3c64a972d34 100644
--- a/src/mame/includes/naughtyb.h
+++ b/src/mame/includes/naughtyb.h
@@ -27,6 +27,8 @@ public:
DECLARE_WRITE8_MEMBER(naughtyb_videoreg_w);
DECLARE_WRITE8_MEMBER(popflame_videoreg_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(trvmstr);
+ DECLARE_DRIVER_INIT(popflame);
};
diff --git a/src/mame/includes/nbmj8688.h b/src/mame/includes/nbmj8688.h
index 84d70fef3f4..624970cb946 100644
--- a/src/mame/includes/nbmj8688.h
+++ b/src/mame/includes/nbmj8688.h
@@ -44,6 +44,40 @@ public:
DECLARE_WRITE8_MEMBER(nbmj8688_HD61830B_1_data_w);
DECLARE_WRITE8_MEMBER(nbmj8688_HD61830B_both_data_w);
void mjsikaku_vramflip();
+ DECLARE_DRIVER_INIT(housemn2);
+ DECLARE_DRIVER_INIT(bijokkoy);
+ DECLARE_DRIVER_INIT(vipclub);
+ DECLARE_DRIVER_INIT(iemotom);
+ DECLARE_DRIVER_INIT(orangec);
+ DECLARE_DRIVER_INIT(apparel);
+ DECLARE_DRIVER_INIT(ojousanm);
+ DECLARE_DRIVER_INIT(mjsikaku);
+ DECLARE_DRIVER_INIT(mcitylov);
+ DECLARE_DRIVER_INIT(otonano);
+ DECLARE_DRIVER_INIT(iemoto);
+ DECLARE_DRIVER_INIT(mmsikaku);
+ DECLARE_DRIVER_INIT(seiham);
+ DECLARE_DRIVER_INIT(barline);
+ DECLARE_DRIVER_INIT(livegal);
+ DECLARE_DRIVER_INIT(korinaim);
+ DECLARE_DRIVER_INIT(kyuhito);
+ DECLARE_DRIVER_INIT(idhimitu);
+ DECLARE_DRIVER_INIT(kaguya);
+ DECLARE_DRIVER_INIT(housemnq);
+ DECLARE_DRIVER_INIT(seiha);
+ DECLARE_DRIVER_INIT(crystal2);
+ DECLARE_DRIVER_INIT(secolove);
+ DECLARE_DRIVER_INIT(bijokkog);
+ DECLARE_DRIVER_INIT(orangeci);
+ DECLARE_DRIVER_INIT(ojousan);
+ DECLARE_DRIVER_INIT(nightlov);
+ DECLARE_DRIVER_INIT(kaguya2);
+ DECLARE_DRIVER_INIT(korinai);
+ DECLARE_DRIVER_INIT(mjcamera);
+ DECLARE_DRIVER_INIT(ryuuha);
+ DECLARE_DRIVER_INIT(crystalg);
+ DECLARE_DRIVER_INIT(citylove);
+ DECLARE_DRIVER_INIT(kanatuen);
};
diff --git a/src/mame/includes/nbmj8891.h b/src/mame/includes/nbmj8891.h
index 0babd377257..65bdb1dbc20 100644
--- a/src/mame/includes/nbmj8891.h
+++ b/src/mame/includes/nbmj8891.h
@@ -46,6 +46,31 @@ public:
DECLARE_WRITE8_MEMBER(nbmj8891_scrolly_w);
DECLARE_WRITE8_MEMBER(nbmj8891_vramsel_w);
DECLARE_WRITE8_MEMBER(nbmj8891_romsel_w);
+ DECLARE_DRIVER_INIT(pairsten);
+ DECLARE_DRIVER_INIT(scandalm);
+ DECLARE_DRIVER_INIT(mmaiko);
+ DECLARE_DRIVER_INIT(mladyhtr);
+ DECLARE_DRIVER_INIT(hanamomo);
+ DECLARE_DRIVER_INIT(telmahjn);
+ DECLARE_DRIVER_INIT(gionbana);
+ DECLARE_DRIVER_INIT(omotesnd);
+ DECLARE_DRIVER_INIT(scandal);
+ DECLARE_DRIVER_INIT(hanaoji);
+ DECLARE_DRIVER_INIT(mgmen89);
+ DECLARE_DRIVER_INIT(abunai);
+ DECLARE_DRIVER_INIT(mgion);
+ DECLARE_DRIVER_INIT(mjfocusm);
+ DECLARE_DRIVER_INIT(chinmoku);
+ DECLARE_DRIVER_INIT(taiwanmb);
+ DECLARE_DRIVER_INIT(mjfocus);
+ DECLARE_DRIVER_INIT(pairsnb);
+ DECLARE_DRIVER_INIT(mjnanpas);
+ DECLARE_DRIVER_INIT(mmcamera);
+ DECLARE_DRIVER_INIT(bananadr);
+ DECLARE_DRIVER_INIT(msjiken);
+ DECLARE_DRIVER_INIT(lovehous);
+ DECLARE_DRIVER_INIT(club90s);
+ DECLARE_DRIVER_INIT(maiko);
};
diff --git a/src/mame/includes/nbmj8900.h b/src/mame/includes/nbmj8900.h
index 83eefd192c9..fd403849e0b 100644
--- a/src/mame/includes/nbmj8900.h
+++ b/src/mame/includes/nbmj8900.h
@@ -41,6 +41,8 @@ public:
DECLARE_WRITE8_MEMBER(nbmj8900_scrolly_w);
DECLARE_WRITE8_MEMBER(nbmj8900_vramsel_w);
DECLARE_WRITE8_MEMBER(nbmj8900_romsel_w);
+ DECLARE_DRIVER_INIT(togenkyo);
+ DECLARE_DRIVER_INIT(ohpaipee);
};
diff --git a/src/mame/includes/nbmj8991.h b/src/mame/includes/nbmj8991.h
index ceccad4863d..27f606552cf 100644
--- a/src/mame/includes/nbmj8991.h
+++ b/src/mame/includes/nbmj8991.h
@@ -31,6 +31,24 @@ public:
DECLARE_WRITE8_MEMBER(nbmj8991_blitter_w);
DECLARE_READ8_MEMBER(nbmj8991_clut_r);
DECLARE_WRITE8_MEMBER(nbmj8991_clut_w);
+ DECLARE_DRIVER_INIT(triplew1);
+ DECLARE_DRIVER_INIT(mjlstory);
+ DECLARE_DRIVER_INIT(mjgottub);
+ DECLARE_DRIVER_INIT(ntopstar);
+ DECLARE_DRIVER_INIT(galkoku);
+ DECLARE_DRIVER_INIT(triplew2);
+ DECLARE_DRIVER_INIT(uchuuai);
+ DECLARE_DRIVER_INIT(pstadium);
+ DECLARE_DRIVER_INIT(av2mj2rg);
+ DECLARE_DRIVER_INIT(galkaika);
+ DECLARE_DRIVER_INIT(hyouban);
+ DECLARE_DRIVER_INIT(vanilla);
+ DECLARE_DRIVER_INIT(av2mj1bb);
+ DECLARE_DRIVER_INIT(tokimbsj);
+ DECLARE_DRIVER_INIT(tokyogal);
+ DECLARE_DRIVER_INIT(mcontest);
+ DECLARE_DRIVER_INIT(finalbny);
+ DECLARE_DRIVER_INIT(qmhayaku);
};
diff --git a/src/mame/includes/nbmj9195.h b/src/mame/includes/nbmj9195.h
index 381baeef5c1..720ab4d915f 100644
--- a/src/mame/includes/nbmj9195.h
+++ b/src/mame/includes/nbmj9195.h
@@ -105,6 +105,7 @@ public:
DECLARE_READ8_MEMBER(nbmj9195_blitter_1_r);
DECLARE_WRITE8_MEMBER(nbmj9195_clut_0_w);
DECLARE_WRITE8_MEMBER(nbmj9195_clut_1_w);
+ DECLARE_DRIVER_INIT(nbmj9195);
};
diff --git a/src/mame/includes/neogeo.h b/src/mame/includes/neogeo.h
index 24e4d18f8b8..9f3ff6fb464 100644
--- a/src/mame/includes/neogeo.h
+++ b/src/mame/includes/neogeo.h
@@ -137,6 +137,71 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(get_calendar_status);
DECLARE_CUSTOM_INPUT_MEMBER(get_memcard_status);
DECLARE_CUSTOM_INPUT_MEMBER(get_audio_result);
+ DECLARE_DRIVER_INIT(neogeo);
+ DECLARE_DRIVER_INIT(fatfury2);
+ DECLARE_DRIVER_INIT(zupapa);
+ DECLARE_DRIVER_INIT(kof98);
+ DECLARE_DRIVER_INIT(mslugx);
+ DECLARE_DRIVER_INIT(kof99);
+ DECLARE_DRIVER_INIT(kof99k);
+ DECLARE_DRIVER_INIT(garou);
+ DECLARE_DRIVER_INIT(garouh);
+ DECLARE_DRIVER_INIT(garoubl);
+ DECLARE_DRIVER_INIT(mslug3);
+ DECLARE_DRIVER_INIT(mslug3h);
+ DECLARE_DRIVER_INIT(mslug3b6);
+ DECLARE_DRIVER_INIT(kof2000);
+ DECLARE_DRIVER_INIT(kof2000n);
+ DECLARE_DRIVER_INIT(kof2001);
+ DECLARE_DRIVER_INIT(cthd2003);
+ DECLARE_DRIVER_INIT(ct2k3sp);
+ DECLARE_DRIVER_INIT(ct2k3sa);
+ DECLARE_DRIVER_INIT(mslug4);
+ DECLARE_DRIVER_INIT(ms4plus);
+ DECLARE_DRIVER_INIT(ganryu);
+ DECLARE_DRIVER_INIT(s1945p);
+ DECLARE_DRIVER_INIT(preisle2);
+ DECLARE_DRIVER_INIT(bangbead);
+ DECLARE_DRIVER_INIT(nitd);
+ DECLARE_DRIVER_INIT(sengoku3);
+ DECLARE_DRIVER_INIT(rotd);
+ DECLARE_DRIVER_INIT(kof2002);
+ DECLARE_DRIVER_INIT(kof2002b);
+ DECLARE_DRIVER_INIT(kf2k2pls);
+ DECLARE_DRIVER_INIT(kf2k2mp);
+ DECLARE_DRIVER_INIT(kf2k2mp2);
+ DECLARE_DRIVER_INIT(kof10th);
+ DECLARE_DRIVER_INIT(kf10thep);
+ DECLARE_DRIVER_INIT(kf2k5uni);
+ DECLARE_DRIVER_INIT(kof2k4se);
+ DECLARE_DRIVER_INIT(matrim);
+ DECLARE_DRIVER_INIT(matrimbl);
+ DECLARE_DRIVER_INIT(pnyaa);
+ DECLARE_DRIVER_INIT(mslug5);
+ DECLARE_DRIVER_INIT(ms5pcb);
+ DECLARE_DRIVER_INIT(ms5plus);
+ DECLARE_DRIVER_INIT(svcpcb);
+ DECLARE_DRIVER_INIT(svc);
+ DECLARE_DRIVER_INIT(svcboot);
+ DECLARE_DRIVER_INIT(svcplus);
+ DECLARE_DRIVER_INIT(svcplusa);
+ DECLARE_DRIVER_INIT(svcsplus);
+ DECLARE_DRIVER_INIT(samsho5);
+ DECLARE_DRIVER_INIT(samsho5b);
+ DECLARE_DRIVER_INIT(kf2k3pcb);
+ DECLARE_DRIVER_INIT(kof2003);
+ DECLARE_DRIVER_INIT(kof2003h);
+ DECLARE_DRIVER_INIT(kf2k3bl);
+ DECLARE_DRIVER_INIT(kf2k3pl);
+ DECLARE_DRIVER_INIT(kf2k3upl);
+ DECLARE_DRIVER_INIT(samsh5sp);
+ DECLARE_DRIVER_INIT(jockeygp);
+ DECLARE_DRIVER_INIT(vliner);
+ DECLARE_DRIVER_INIT(kog);
+ DECLARE_DRIVER_INIT(lans2004);
+ DECLARE_DRIVER_INIT(sbp);
+ DECLARE_DRIVER_INIT(mvs);
+ void mvs_install_protection(device_image_interface& image);
};
@@ -234,8 +299,6 @@ void samsho5b_px_decrypt(running_machine &machine);
void samsho5b_vx_decrypt(running_machine &machine);
void matrimbl_decrypt(running_machine &machine);
-void mvs_install_protection(device_image_interface& image);
-
/*----------- defined in video/neogeo.c -----------*/
VIDEO_START( neogeo );
diff --git a/src/mame/includes/ninjakd2.h b/src/mame/includes/ninjakd2.h
index 4e958d79052..49bb927d257 100644
--- a/src/mame/includes/ninjakd2.h
+++ b/src/mame/includes/ninjakd2.h
@@ -53,6 +53,9 @@ public:
DECLARE_WRITE8_MEMBER(robokid_bg1_ctrl_w);
DECLARE_WRITE8_MEMBER(robokid_bg2_ctrl_w);
DECLARE_WRITE8_MEMBER(ninjakd2_sprite_overdraw_w);
+ DECLARE_DRIVER_INIT(mnight);
+ DECLARE_DRIVER_INIT(ninjakd2);
+ DECLARE_DRIVER_INIT(bootleg);
};
diff --git a/src/mame/includes/niyanpai.h b/src/mame/includes/niyanpai.h
index f9ac24c462b..919a4d377a1 100644
--- a/src/mame/includes/niyanpai.h
+++ b/src/mame/includes/niyanpai.h
@@ -76,6 +76,7 @@ public:
DECLARE_WRITE16_MEMBER(niyanpai_clutsel_1_w);
DECLARE_WRITE16_MEMBER(niyanpai_clutsel_2_w);
DECLARE_CUSTOM_INPUT_MEMBER(musobana_outcoin_flag_r);
+ DECLARE_DRIVER_INIT(niyanpai);
};
diff --git a/src/mame/includes/nmk16.h b/src/mame/includes/nmk16.h
index 828ed9fba8b..250161558f1 100644
--- a/src/mame/includes/nmk16.h
+++ b/src/mame/includes/nmk16.h
@@ -95,6 +95,17 @@ public:
DECLARE_WRITE16_MEMBER(bioship_bank_w);
DECLARE_WRITE8_MEMBER(spec2k_oki1_banking_w);
DECLARE_WRITE8_MEMBER(twinactn_oki_bank_w);
+ DECLARE_DRIVER_INIT(nmk);
+ DECLARE_DRIVER_INIT(vandykeb);
+ DECLARE_DRIVER_INIT(tdragonb);
+ DECLARE_DRIVER_INIT(ssmissin);
+ DECLARE_DRIVER_INIT(hachamf);
+ DECLARE_DRIVER_INIT(redhawk);
+ DECLARE_DRIVER_INIT(tdragon);
+ DECLARE_DRIVER_INIT(bubl2000);
+ DECLARE_DRIVER_INIT(grdnstrm);
+ DECLARE_DRIVER_INIT(spec2k);
+ DECLARE_DRIVER_INIT(bjtwin);
};
diff --git a/src/mame/includes/norautp.h b/src/mame/includes/norautp.h
index 145737d7f33..8e30ae1598f 100644
--- a/src/mame/includes/norautp.h
+++ b/src/mame/includes/norautp.h
@@ -22,6 +22,9 @@ public:
DECLARE_WRITE8_MEMBER(mainlamps_w);
DECLARE_WRITE8_MEMBER(soundlamps_w);
DECLARE_WRITE8_MEMBER(counterlamps_w);
+ DECLARE_DRIVER_INIT(ssa);
+ DECLARE_DRIVER_INIT(enc);
+ DECLARE_DRIVER_INIT(deb);
};
diff --git a/src/mame/includes/nova2001.h b/src/mame/includes/nova2001.h
index dec827d625f..cd0fdf3929f 100644
--- a/src/mame/includes/nova2001.h
+++ b/src/mame/includes/nova2001.h
@@ -25,6 +25,8 @@ public:
DECLARE_WRITE8_MEMBER(nova2001_flipscreen_w);
DECLARE_WRITE8_MEMBER(pkunwar_flipscreen_w);
DECLARE_CUSTOM_INPUT_MEMBER(ninjakun_io_A002_ctrl_r);
+ DECLARE_DRIVER_INIT(raiders5);
+ DECLARE_DRIVER_INIT(pkunwar);
};
diff --git a/src/mame/includes/nycaptor.h b/src/mame/includes/nycaptor.h
index 31ade8c9c9c..fe84a10ae75 100644
--- a/src/mame/includes/nycaptor.h
+++ b/src/mame/includes/nycaptor.h
@@ -94,6 +94,10 @@ public:
DECLARE_READ8_MEMBER(nycaptor_scrlram_r);
DECLARE_WRITE8_MEMBER(nycaptor_scrlram_w);
DECLARE_WRITE8_MEMBER(unk_w);
+ DECLARE_DRIVER_INIT(cyclshtg);
+ DECLARE_DRIVER_INIT(colt);
+ DECLARE_DRIVER_INIT(bronx);
+ DECLARE_DRIVER_INIT(nycaptor);
};
diff --git a/src/mame/includes/offtwall.h b/src/mame/includes/offtwall.h
index d75efe3b530..f939f40c5fc 100644
--- a/src/mame/includes/offtwall.h
+++ b/src/mame/includes/offtwall.h
@@ -27,6 +27,8 @@ public:
DECLARE_READ16_MEMBER(bankrom_r);
DECLARE_READ16_MEMBER(spritecache_count_r);
DECLARE_READ16_MEMBER(unknown_verify_r);
+ DECLARE_DRIVER_INIT(offtwall);
+ DECLARE_DRIVER_INIT(offtwalc);
};
diff --git a/src/mame/includes/ohmygod.h b/src/mame/includes/ohmygod.h
index c5fd149cfa4..e85c75e8339 100644
--- a/src/mame/includes/ohmygod.h
+++ b/src/mame/includes/ohmygod.h
@@ -31,6 +31,8 @@ public:
DECLARE_WRITE16_MEMBER(ohmygod_spritebank_w);
DECLARE_WRITE16_MEMBER(ohmygod_scrollx_w);
DECLARE_WRITE16_MEMBER(ohmygod_scrolly_w);
+ DECLARE_DRIVER_INIT(ohmygod);
+ DECLARE_DRIVER_INIT(naname);
};
diff --git a/src/mame/includes/opwolf.h b/src/mame/includes/opwolf.h
index a6ab306dac8..769ab092088 100644
--- a/src/mame/includes/opwolf.h
+++ b/src/mame/includes/opwolf.h
@@ -68,6 +68,8 @@ public:
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_WRITE8_MEMBER(opwolf_adpcm_b_w);
DECLARE_WRITE8_MEMBER(opwolf_adpcm_c_w);
+ DECLARE_DRIVER_INIT(opwolf);
+ DECLARE_DRIVER_INIT(opwolfb);
};
diff --git a/src/mame/includes/pacman.h b/src/mame/includes/pacman.h
index f68f310e8eb..87ed6db9375 100644
--- a/src/mame/includes/pacman.h
+++ b/src/mame/includes/pacman.h
@@ -101,6 +101,22 @@ public:
DECLARE_WRITE8_MEMBER(jrpacman_scroll_w);
DECLARE_WRITE8_MEMBER(jrpacman_bgpriority_w);
DECLARE_WRITE8_MEMBER(superabc_bank_w);
+ DECLARE_DRIVER_INIT(maketrax);
+ DECLARE_DRIVER_INIT(drivfrcp);
+ DECLARE_DRIVER_INIT(mspacmbe);
+ DECLARE_DRIVER_INIT(ponpoko);
+ DECLARE_DRIVER_INIT(eyes);
+ DECLARE_DRIVER_INIT(woodpek);
+ DECLARE_DRIVER_INIT(cannonbp);
+ DECLARE_DRIVER_INIT(jumpshot);
+ DECLARE_DRIVER_INIT(korosuke);
+ DECLARE_DRIVER_INIT(mspacii);
+ DECLARE_DRIVER_INIT(pacplus);
+ DECLARE_DRIVER_INIT(rocktrv2);
+ DECLARE_DRIVER_INIT(superabc);
+ DECLARE_DRIVER_INIT(8bpm);
+ DECLARE_DRIVER_INIT(porky);
+ DECLARE_DRIVER_INIT(mspacman);
};
diff --git a/src/mame/includes/paradise.h b/src/mame/includes/paradise.h
index cd71b63400e..775ffdb28cf 100644
--- a/src/mame/includes/paradise.h
+++ b/src/mame/includes/paradise.h
@@ -42,6 +42,9 @@ public:
DECLARE_WRITE8_MEMBER(paradise_pixmap_w);
DECLARE_WRITE8_MEMBER(paradise_priority_w);
DECLARE_WRITE8_MEMBER(paradise_okibank_w);
+ DECLARE_DRIVER_INIT(torus);
+ DECLARE_DRIVER_INIT(paradise);
+ DECLARE_DRIVER_INIT(tgtball);
};
/*----------- defined in video/paradise.c -----------*/
diff --git a/src/mame/includes/pastelg.h b/src/mame/includes/pastelg.h
index e09183b84be..1a3fe88a6b0 100644
--- a/src/mame/includes/pastelg.h
+++ b/src/mame/includes/pastelg.h
@@ -31,6 +31,7 @@ public:
DECLARE_READ8_MEMBER(threeds_rom_readback_r);
DECLARE_WRITE8_MEMBER(pastelg_romsel_w);
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_hackbusyflag_r);
+ DECLARE_DRIVER_INIT(pastelg);
};
diff --git a/src/mame/includes/pbaction.h b/src/mame/includes/pbaction.h
index ecccc1d0e28..7ed35290dab 100644
--- a/src/mame/includes/pbaction.h
+++ b/src/mame/includes/pbaction.h
@@ -44,6 +44,8 @@ public:
DECLARE_WRITE8_MEMBER(pbaction_colorram2_w);
DECLARE_WRITE8_MEMBER(pbaction_scroll_w);
DECLARE_WRITE8_MEMBER(pbaction_flipscreen_w);
+ DECLARE_DRIVER_INIT(pbactio3);
+ DECLARE_DRIVER_INIT(pbactio4);
};
diff --git a/src/mame/includes/pcktgal.h b/src/mame/includes/pcktgal.h
index d122558107e..697c980c242 100644
--- a/src/mame/includes/pcktgal.h
+++ b/src/mame/includes/pcktgal.h
@@ -13,6 +13,9 @@ public:
DECLARE_WRITE8_MEMBER(pcktgal_sound_w);
DECLARE_WRITE8_MEMBER(pcktgal_adpcm_data_w);
DECLARE_READ8_MEMBER(pcktgal_adpcm_reset_r);
+ DECLARE_DRIVER_INIT(pcktgal);
+ DECLARE_DRIVER_INIT(deco222);
+ DECLARE_DRIVER_INIT(graphics);
};
diff --git a/src/mame/includes/pgm.h b/src/mame/includes/pgm.h
index 73ed1eb3981..bdb566dadc0 100644
--- a/src/mame/includes/pgm.h
+++ b/src/mame/includes/pgm.h
@@ -72,6 +72,42 @@ public:
DECLARE_WRITE8_MEMBER(z80_l3_w);
DECLARE_WRITE16_MEMBER(pgm_tx_videoram_w);
DECLARE_WRITE16_MEMBER(pgm_bg_videoram_w);
+ DECLARE_DRIVER_INIT(ket);
+ DECLARE_DRIVER_INIT(killbld);
+ DECLARE_DRIVER_INIT(pgm);
+ DECLARE_DRIVER_INIT(kovsh);
+ DECLARE_DRIVER_INIT(killbldp);
+ DECLARE_DRIVER_INIT(ddp2);
+ DECLARE_DRIVER_INIT(drgw2j);
+ DECLARE_DRIVER_INIT(kov2);
+ DECLARE_DRIVER_INIT(puzzli2);
+ DECLARE_DRIVER_INIT(dw2001);
+ DECLARE_DRIVER_INIT(martmast);
+ DECLARE_DRIVER_INIT(kovlsqh2);
+ DECLARE_DRIVER_INIT(espgal);
+ DECLARE_DRIVER_INIT(happy6);
+ DECLARE_DRIVER_INIT(oldsplus);
+ DECLARE_DRIVER_INIT(kovboot);
+ DECLARE_DRIVER_INIT(kovshp);
+ DECLARE_DRIVER_INIT(kovshxas);
+ DECLARE_DRIVER_INIT(theglad);
+ DECLARE_DRIVER_INIT(kov2p);
+ DECLARE_DRIVER_INIT(olds);
+ DECLARE_DRIVER_INIT(svg);
+ DECLARE_DRIVER_INIT(photoy2k);
+ DECLARE_DRIVER_INIT(svgpcb);
+ DECLARE_DRIVER_INIT(dmnfrnt);
+ DECLARE_DRIVER_INIT(dw2v100x);
+ DECLARE_DRIVER_INIT(kovqhsgs);
+ DECLARE_DRIVER_INIT(ddp3);
+ DECLARE_DRIVER_INIT(drgw2c);
+ DECLARE_DRIVER_INIT(dwpc);
+ DECLARE_DRIVER_INIT(kov);
+ DECLARE_DRIVER_INIT(py2k2);
+ DECLARE_DRIVER_INIT(drgw2);
+ DECLARE_DRIVER_INIT(drgw3);
+ DECLARE_DRIVER_INIT(orlegend);
+ DECLARE_DRIVER_INIT(pstar);
};
@@ -93,6 +129,8 @@ public:
UINT8 m_asic3_h1;
UINT8 m_asic3_h2;
UINT16 m_asic3_hold;
+
+ DECLARE_DRIVER_INIT(orlegend);
};
@@ -141,6 +179,22 @@ public:
optional_shared_ptr<UINT32> m_arm7_shareram;
cpu_device *m_prot;
+
+ DECLARE_DRIVER_INIT(photoy2k);
+ DECLARE_DRIVER_INIT(kovsh);
+ DECLARE_DRIVER_INIT(kovshp);
+ DECLARE_DRIVER_INIT(kovshxas);
+ DECLARE_DRIVER_INIT(kovlsqh2);
+ DECLARE_DRIVER_INIT(kovqhsgs);
+ DECLARE_DRIVER_INIT(ddp3);
+ DECLARE_DRIVER_INIT(ket);
+ DECLARE_DRIVER_INIT(espgal);
+ DECLARE_DRIVER_INIT(puzzli2);
+ DECLARE_DRIVER_INIT(py2k2);
+ DECLARE_DRIVER_INIT(pstar);
+ DECLARE_DRIVER_INIT(kov);
+ DECLARE_DRIVER_INIT(kovboot);
+ DECLARE_DRIVER_INIT(oldsplus);
};
/* for machine/pgmprot2.c type games */
@@ -161,6 +215,13 @@ public:
required_shared_ptr<UINT32> m_arm7_shareram;
cpu_device *m_prot;
+
+ DECLARE_DRIVER_INIT(kov2);
+ DECLARE_DRIVER_INIT(kov2p);
+ DECLARE_DRIVER_INIT(martmast);
+ DECLARE_DRIVER_INIT(ddp2);
+ DECLARE_DRIVER_INIT(dw2001);
+ DECLARE_DRIVER_INIT(dwpc);
};
@@ -183,6 +244,13 @@ public:
required_shared_ptr<UINT32> m_arm_ram;
cpu_device *m_prot;
+
+ DECLARE_DRIVER_INIT(theglad);
+ DECLARE_DRIVER_INIT(svg);
+ DECLARE_DRIVER_INIT(svgpcb);
+ DECLARE_DRIVER_INIT(killbldp);
+ DECLARE_DRIVER_INIT(dmnfrnt);
+ DECLARE_DRIVER_INIT(happy6);
};
@@ -202,6 +270,8 @@ public:
UINT32 m_kb_regs[0x10];
required_shared_ptr<UINT16> m_sharedprotram;
+ DECLARE_DRIVER_INIT(killbld);
+ DECLARE_DRIVER_INIT(drgw3);
};
/* for machine/pgmprot6.c type games */
@@ -220,7 +290,8 @@ public:
UINT16 m_olds_bs;
UINT16 m_olds_cmd3;
required_shared_ptr<UINT16> m_sharedprotram;
-
+
+ DECLARE_DRIVER_INIT(olds);
};
@@ -280,7 +351,6 @@ void pgm_happy6_decrypt(running_machine &machine);
/*----------- defined in machine/pgmprot.c -----------*/
-DRIVER_INIT( orlegend );
INPUT_PORTS_EXTERN( orlegend );
INPUT_PORTS_EXTERN( orld105k );
@@ -290,23 +360,8 @@ MACHINE_CONFIG_EXTERN( pgm_asic3 );
/*----------- defined in machine/pgmprot1.c -----------*/
/* emulations */
-DRIVER_INIT( photoy2k );
-DRIVER_INIT( kovsh );
-DRIVER_INIT( kovshp );
-DRIVER_INIT( kovlsqh2 );
-DRIVER_INIT( kovqhsgs );
-DRIVER_INIT( kovshxas );
/* simulations */
-DRIVER_INIT( ddp3 );
-DRIVER_INIT( ket );
-DRIVER_INIT( espgal );
-DRIVER_INIT( puzzli2 );
-DRIVER_INIT( py2k2 );
-DRIVER_INIT( pstar );
-DRIVER_INIT( kov );
-DRIVER_INIT( kovboot );
-DRIVER_INIT( oldsplus );
MACHINE_CONFIG_EXTERN( pgm_arm_type1 );
MACHINE_CONFIG_EXTERN( pgm_arm_type1_sim );
@@ -326,15 +381,9 @@ INPUT_PORTS_EXTERN( kovsh );
/* emulations */
MACHINE_CONFIG_EXTERN( pgm_arm_type2 );
-DRIVER_INIT( kov2 );
-DRIVER_INIT( kov2p );
-DRIVER_INIT( martmast );
-DRIVER_INIT( ddp2 );
/* simulations (or missing) */
-DRIVER_INIT( dw2001 );
-DRIVER_INIT( dwpc );
INPUT_PORTS_EXTERN( ddp2 );
INPUT_PORTS_EXTERN( kov2 );
@@ -345,36 +394,23 @@ INPUT_PORTS_EXTERN( dw2001 );
MACHINE_CONFIG_EXTERN( pgm_arm_type3 );
-DRIVER_INIT( theglad );
-DRIVER_INIT( svg );
-DRIVER_INIT( svgpcb );
-DRIVER_INIT( killbldp );
-DRIVER_INIT( dmnfrnt );
-DRIVER_INIT( happy6 );
/*----------- defined in machine/pgmprot4.c -----------*/
MACHINE_CONFIG_EXTERN( pgm_022_025_kb );
MACHINE_CONFIG_EXTERN( pgm_022_025_dw );
-DRIVER_INIT( killbld );
-DRIVER_INIT( drgw3 );
INPUT_PORTS_EXTERN( killbld );
INPUT_PORTS_EXTERN( dw3 );
/*----------- defined in machine/pgmprot5.c -----------*/
-DRIVER_INIT( drgw2 );
-DRIVER_INIT( dw2v100x );
-DRIVER_INIT( drgw2c );
-DRIVER_INIT( drgw2j );
/*----------- defined in machine/pgmprot6.c -----------*/
MACHINE_CONFIG_EXTERN( pgm_028_025_ol );
-DRIVER_INIT( olds );
INPUT_PORTS_EXTERN( olds );
diff --git a/src/mame/includes/phoenix.h b/src/mame/includes/phoenix.h
index b02f8d995ac..5f4a51d36c0 100644
--- a/src/mame/includes/phoenix.h
+++ b/src/mame/includes/phoenix.h
@@ -27,6 +27,7 @@ public:
DECLARE_READ8_MEMBER(survival_input_port_0_r);
DECLARE_CUSTOM_INPUT_MEMBER(player_input_r);
DECLARE_CUSTOM_INPUT_MEMBER(pleiads_protection_r);
+ DECLARE_DRIVER_INIT(condor);
};
diff --git a/src/mame/includes/pingpong.h b/src/mame/includes/pingpong.h
index 0c1efd14437..e2f1a4c4d82 100644
--- a/src/mame/includes/pingpong.h
+++ b/src/mame/includes/pingpong.h
@@ -21,6 +21,8 @@ public:
DECLARE_WRITE8_MEMBER(coin_w);
DECLARE_WRITE8_MEMBER(pingpong_videoram_w);
DECLARE_WRITE8_MEMBER(pingpong_colorram_w);
+ DECLARE_DRIVER_INIT(cashquiz);
+ DECLARE_DRIVER_INIT(merlinmm);
};
diff --git a/src/mame/includes/pirates.h b/src/mame/includes/pirates.h
index f8574f3dc36..65afb037d51 100644
--- a/src/mame/includes/pirates.h
+++ b/src/mame/includes/pirates.h
@@ -23,6 +23,8 @@ public:
DECLARE_WRITE16_MEMBER(pirates_fg_tileram_w);
DECLARE_WRITE16_MEMBER(pirates_bg_tileram_w);
DECLARE_CUSTOM_INPUT_MEMBER(prot_r);
+ DECLARE_DRIVER_INIT(pirates);
+ DECLARE_DRIVER_INIT(genix);
};
diff --git a/src/mame/includes/pktgaldx.h b/src/mame/includes/pktgaldx.h
index 4773fb45f43..d6761948354 100644
--- a/src/mame/includes/pktgaldx.h
+++ b/src/mame/includes/pktgaldx.h
@@ -30,6 +30,7 @@ public:
DECLARE_READ16_MEMBER(pckgaldx_unknown_r);
DECLARE_READ16_MEMBER(pckgaldx_protection_r);
DECLARE_WRITE16_MEMBER(pktgaldx_oki_bank_w);
+ DECLARE_DRIVER_INIT(pktgaldx);
};
diff --git a/src/mame/includes/playch10.h b/src/mame/includes/playch10.h
index f8fa65949e1..0eedaa79a2f 100644
--- a/src/mame/includes/playch10.h
+++ b/src/mame/includes/playch10.h
@@ -91,6 +91,22 @@ public:
DECLARE_READ8_MEMBER(psg_4015_r);
DECLARE_WRITE8_MEMBER(psg_4015_w);
DECLARE_WRITE8_MEMBER(psg_4017_w);
+ DECLARE_DRIVER_INIT(playch10);
+ DECLARE_DRIVER_INIT(pcfboard_2);
+ DECLARE_DRIVER_INIT(pc_gun);
+ DECLARE_DRIVER_INIT(pchboard);
+ DECLARE_DRIVER_INIT(pcdboard);
+ DECLARE_DRIVER_INIT(pccboard);
+ DECLARE_DRIVER_INIT(pcbboard);
+ DECLARE_DRIVER_INIT(pcgboard);
+ DECLARE_DRIVER_INIT(pcfboard);
+ DECLARE_DRIVER_INIT(pcgboard_type2);
+ DECLARE_DRIVER_INIT(pc_hrz);
+ DECLARE_DRIVER_INIT(pckboard);
+ DECLARE_DRIVER_INIT(pcdboard_2);
+ DECLARE_DRIVER_INIT(pceboard);
+ DECLARE_DRIVER_INIT(pciboard);
+ DECLARE_DRIVER_INIT(pcaboard);
};
@@ -99,22 +115,6 @@ public:
MACHINE_RESET( pc10 );
MACHINE_START( pc10 );
MACHINE_START( playch10_hboard );
-DRIVER_INIT( playch10 ); /* standard games */
-DRIVER_INIT( pc_gun ); /* gun games */
-DRIVER_INIT( pc_hrz ); /* horizontal games */
-DRIVER_INIT( pcaboard ); /* a-board games */
-DRIVER_INIT( pcbboard ); /* b-board games */
-DRIVER_INIT( pccboard ); /* c-board games */
-DRIVER_INIT( pcdboard ); /* d-board games */
-DRIVER_INIT( pcdboard_2 ); /* d-board games with extra ram */
-DRIVER_INIT( pceboard ); /* e-board games */
-DRIVER_INIT( pcfboard ); /* f-board games */
-DRIVER_INIT( pcfboard_2 ); /* f-board games with extra ram */
-DRIVER_INIT( pcgboard ); /* g-board games */
-DRIVER_INIT( pcgboard_type2 ); /* g-board games with 4 screen mirror */
-DRIVER_INIT( pchboard ); /* h-board games */
-DRIVER_INIT( pciboard ); /* i-board games */
-DRIVER_INIT( pckboard ); /* k-board games */
diff --git a/src/mame/includes/playmark.h b/src/mame/includes/playmark.h
index 742f825bb37..11718be266c 100644
--- a/src/mame/includes/playmark.h
+++ b/src/mame/includes/playmark.h
@@ -75,6 +75,9 @@ public:
DECLARE_WRITE16_MEMBER(excelsr_scroll_w);
DECLARE_WRITE16_MEMBER(hrdtimes_scroll_w);
DECLARE_WRITE8_MEMBER(playmark_oki_banking_w);
+ DECLARE_DRIVER_INIT(bigtwin);
+ DECLARE_DRIVER_INIT(powerbal);
+ DECLARE_DRIVER_INIT(magicstk);
};
/*----------- defined in video/playmark.c -----------*/
diff --git a/src/mame/includes/plygonet.h b/src/mame/includes/plygonet.h
index 654994080d9..d68966d4a21 100644
--- a/src/mame/includes/plygonet.h
+++ b/src/mame/includes/plygonet.h
@@ -65,6 +65,7 @@ public:
DECLARE_WRITE32_MEMBER(polygonet_roz_ram_w);
DIRECT_UPDATE_MEMBER(plygonet_dsp56k_direct_handler);
DECLARE_READ32_MEMBER(polygonet_eeprom_r);
+ DECLARE_DRIVER_INIT(polygonet);
};
/*----------- defined in video/plygonet.c -----------*/
diff --git a/src/mame/includes/pokechmp.h b/src/mame/includes/pokechmp.h
index 3037a0f96e8..2c842b714fa 100644
--- a/src/mame/includes/pokechmp.h
+++ b/src/mame/includes/pokechmp.h
@@ -14,6 +14,7 @@ public:
DECLARE_WRITE8_MEMBER(pokechmp_sound_w);
DECLARE_WRITE8_MEMBER(pokechmp_videoram_w);
DECLARE_WRITE8_MEMBER(pokechmp_flipscreen_w);
+ DECLARE_DRIVER_INIT(pokechmp);
};
diff --git a/src/mame/includes/polepos.h b/src/mame/includes/polepos.h
index feaf5501865..474e1649f13 100644
--- a/src/mame/includes/polepos.h
+++ b/src/mame/includes/polepos.h
@@ -72,6 +72,8 @@ public:
DECLARE_READ8_MEMBER(namco_53xx_k_r);
DECLARE_READ8_MEMBER(steering_changed_r);
DECLARE_READ8_MEMBER(steering_delta_r);
+ DECLARE_DRIVER_INIT(topracern);
+ DECLARE_DRIVER_INIT(polepos2);
};
diff --git a/src/mame/includes/policetr.h b/src/mame/includes/policetr.h
index 48e990b93e9..a4cb1f778a3 100644
--- a/src/mame/includes/policetr.h
+++ b/src/mame/includes/policetr.h
@@ -41,6 +41,10 @@ public:
DECLARE_WRITE32_MEMBER(policetr_palette_offset_w);
DECLARE_WRITE32_MEMBER(policetr_palette_data_w);
DECLARE_CUSTOM_INPUT_MEMBER(bsmt_status_r);
+ DECLARE_DRIVER_INIT(sshoot12);
+ DECLARE_DRIVER_INIT(policetr);
+ DECLARE_DRIVER_INIT(sshooter);
+ DECLARE_DRIVER_INIT(plctr13b);
};
diff --git a/src/mame/includes/poolshrk.h b/src/mame/includes/poolshrk.h
index b873a05b016..340d9051097 100644
--- a/src/mame/includes/poolshrk.h
+++ b/src/mame/includes/poolshrk.h
@@ -27,6 +27,7 @@ public:
DECLARE_WRITE8_MEMBER(poolshrk_watchdog_w);
DECLARE_READ8_MEMBER(poolshrk_input_r);
DECLARE_READ8_MEMBER(poolshrk_irq_reset_r);
+ DECLARE_DRIVER_INIT(poolshrk);
};
diff --git a/src/mame/includes/popeye.h b/src/mame/includes/popeye.h
index adbb170db4d..740ba18a45c 100644
--- a/src/mame/includes/popeye.h
+++ b/src/mame/includes/popeye.h
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(skyskipr_bitmap_w);
DECLARE_WRITE8_MEMBER(popeye_portB_w);
DECLARE_READ8_MEMBER(popeye_portA_r);
+ DECLARE_DRIVER_INIT(skyskipr);
+ DECLARE_DRIVER_INIT(popeye);
};
diff --git a/src/mame/includes/psikyo.h b/src/mame/includes/psikyo.h
index 9e90453c056..56fc2a7e1b6 100644
--- a/src/mame/includes/psikyo.h
+++ b/src/mame/includes/psikyo.h
@@ -75,6 +75,14 @@ public:
DECLARE_WRITE32_MEMBER(psikyo_vram_1_w);
DECLARE_CUSTOM_INPUT_MEMBER(z80_nmi_r);
DECLARE_CUSTOM_INPUT_MEMBER(mcu_status_r);
+ DECLARE_DRIVER_INIT(s1945a);
+ DECLARE_DRIVER_INIT(s1945j);
+ DECLARE_DRIVER_INIT(sngkace);
+ DECLARE_DRIVER_INIT(s1945);
+ DECLARE_DRIVER_INIT(s1945bl);
+ DECLARE_DRIVER_INIT(tengai);
+ DECLARE_DRIVER_INIT(s1945jn);
+ DECLARE_DRIVER_INIT(gunbird);
};
diff --git a/src/mame/includes/psikyo4.h b/src/mame/includes/psikyo4.h
index d6e4572dc96..e4a3c02311f 100644
--- a/src/mame/includes/psikyo4.h
+++ b/src/mame/includes/psikyo4.h
@@ -46,6 +46,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(mahjong_ctrl_r);
DECLARE_WRITE32_MEMBER(ps4_eeprom_w);
DECLARE_READ32_MEMBER(ps4_eeprom_r);
+ DECLARE_DRIVER_INIT(hotgmck);
};
diff --git a/src/mame/includes/psikyosh.h b/src/mame/includes/psikyosh.h
index 0094902e552..058468d5538 100644
--- a/src/mame/includes/psikyosh.h
+++ b/src/mame/includes/psikyosh.h
@@ -53,6 +53,16 @@ public:
DECLARE_READ32_MEMBER(mjgtaste_input_r);
DECLARE_WRITE32_MEMBER(psh_eeprom_w);
DECLARE_READ32_MEMBER(psh_eeprom_r);
+ DECLARE_DRIVER_INIT(gnbarich);
+ DECLARE_DRIVER_INIT(daraku);
+ DECLARE_DRIVER_INIT(soldivid);
+ DECLARE_DRIVER_INIT(s1945iii);
+ DECLARE_DRIVER_INIT(mjgtaste);
+ DECLARE_DRIVER_INIT(tgm2);
+ DECLARE_DRIVER_INIT(sbomberb);
+ DECLARE_DRIVER_INIT(dragnblz);
+ DECLARE_DRIVER_INIT(gunbird2);
+ DECLARE_DRIVER_INIT(s1945ii);
};
/*----------- defined in video/psikyosh.c -----------*/
diff --git a/src/mame/includes/punchout.h b/src/mame/includes/punchout.h
index 88122d16c4d..eaa3049cdad 100644
--- a/src/mame/includes/punchout.h
+++ b/src/mame/includes/punchout.h
@@ -47,6 +47,10 @@ public:
DECLARE_WRITE8_MEMBER(punchout_speech_reset_w);
DECLARE_WRITE8_MEMBER(punchout_speech_st_w);
DECLARE_WRITE8_MEMBER(punchout_speech_vcu_w);
+ DECLARE_DRIVER_INIT(armwrest);
+ DECLARE_DRIVER_INIT(spnchotj);
+ DECLARE_DRIVER_INIT(punchout);
+ DECLARE_DRIVER_INIT(spnchout);
};
@@ -60,7 +64,3 @@ SCREEN_UPDATE_IND16( punchout_bottom );
SCREEN_UPDATE_IND16( armwrest_top );
SCREEN_UPDATE_IND16( armwrest_bottom );
-DRIVER_INIT( punchout );
-DRIVER_INIT( spnchout );
-DRIVER_INIT( spnchotj );
-DRIVER_INIT( armwrest );
diff --git a/src/mame/includes/qix.h b/src/mame/includes/qix.h
index 2bf7dc631f6..8edd916576f 100644
--- a/src/mame/includes/qix.h
+++ b/src/mame/includes/qix.h
@@ -71,6 +71,9 @@ public:
DECLARE_WRITE8_MEMBER(slither_addresslatch_w);
DECLARE_WRITE8_MEMBER(qix_paletteram_w);
DECLARE_WRITE8_MEMBER(qix_palettebank_w);
+ DECLARE_DRIVER_INIT(slither);
+ DECLARE_DRIVER_INIT(zookeep);
+ DECLARE_DRIVER_INIT(kram3);
};
diff --git a/src/mame/includes/raiden.h b/src/mame/includes/raiden.h
index 39d12681104..e7d5e34baa7 100644
--- a/src/mame/includes/raiden.h
+++ b/src/mame/includes/raiden.h
@@ -30,6 +30,10 @@ public:
DECLARE_WRITE16_MEMBER(raiden_text_w);
DECLARE_WRITE16_MEMBER(raiden_control_w);
DECLARE_WRITE16_MEMBER(raidena_control_w);
+ DECLARE_DRIVER_INIT(raidenu);
+ DECLARE_DRIVER_INIT(raidenk);
+ DECLARE_DRIVER_INIT(raiden);
+ DECLARE_DRIVER_INIT(raidena);
};
diff --git a/src/mame/includes/raiden2.h b/src/mame/includes/raiden2.h
index a9df11b9f52..508b73cf2f8 100644
--- a/src/mame/includes/raiden2.h
+++ b/src/mame/includes/raiden2.h
@@ -117,6 +117,10 @@ public:
void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect ,int pri_mask );
UINT8 cop_calculate_collsion_detection(running_machine &machine);
+ DECLARE_DRIVER_INIT(raidendx);
+ DECLARE_DRIVER_INIT(xsedae);
+ DECLARE_DRIVER_INIT(zeroteam);
+ DECLARE_DRIVER_INIT(raiden2);
};
diff --git a/src/mame/includes/rainbow.h b/src/mame/includes/rainbow.h
index a270cca20b8..560b7439220 100644
--- a/src/mame/includes/rainbow.h
+++ b/src/mame/includes/rainbow.h
@@ -42,6 +42,9 @@ public:
DECLARE_WRITE16_MEMBER(rbisland_spritectrl_w);
DECLARE_WRITE16_MEMBER(jumping_spritectrl_w);
DECLARE_WRITE8_MEMBER(bankswitch_w);
+ DECLARE_DRIVER_INIT(jumping);
+ DECLARE_DRIVER_INIT(rbislande);
+ DECLARE_DRIVER_INIT(rbisland);
};
diff --git a/src/mame/includes/rampart.h b/src/mame/includes/rampart.h
index aef21f2acdb..71766d0fe6a 100644
--- a/src/mame/includes/rampart.h
+++ b/src/mame/includes/rampart.h
@@ -16,6 +16,7 @@ public:
required_shared_ptr<UINT16> m_bitmap;
UINT8 m_has_mo;
DECLARE_WRITE16_MEMBER(latch_w);
+ DECLARE_DRIVER_INIT(rampart);
};
diff --git a/src/mame/includes/relief.h b/src/mame/includes/relief.h
index 9ad015d767f..c1c8451bf92 100644
--- a/src/mame/includes/relief.h
+++ b/src/mame/includes/relief.h
@@ -20,6 +20,7 @@ public:
DECLARE_READ16_MEMBER(special_port2_r);
DECLARE_WRITE16_MEMBER(audio_control_w);
DECLARE_WRITE16_MEMBER(audio_volume_w);
+ DECLARE_DRIVER_INIT(relief);
};
diff --git a/src/mame/includes/renegade.h b/src/mame/includes/renegade.h
index 5b34e85df9a..34faae8cb6c 100644
--- a/src/mame/includes/renegade.h
+++ b/src/mame/includes/renegade.h
@@ -64,6 +64,9 @@ public:
DECLARE_WRITE8_MEMBER(renegade_scroll1_w);
DECLARE_CUSTOM_INPUT_MEMBER(mcu_status_r);
DECLARE_WRITE8_MEMBER(adpcm_play_w);
+ DECLARE_DRIVER_INIT(kuniokun);
+ DECLARE_DRIVER_INIT(kuniokunb);
+ DECLARE_DRIVER_INIT(renegade);
};
diff --git a/src/mame/includes/rocnrope.h b/src/mame/includes/rocnrope.h
index 53d8b6b9cec..2941641586f 100644
--- a/src/mame/includes/rocnrope.h
+++ b/src/mame/includes/rocnrope.h
@@ -23,6 +23,8 @@ public:
DECLARE_WRITE8_MEMBER(rocnrope_videoram_w);
DECLARE_WRITE8_MEMBER(rocnrope_colorram_w);
DECLARE_WRITE8_MEMBER(rocnrope_flipscreen_w);
+ DECLARE_DRIVER_INIT(rocnrope);
+ DECLARE_DRIVER_INIT(rocnropk);
};
/*----------- defined in video/rocnrope.c -----------*/
diff --git a/src/mame/includes/rohga.h b/src/mame/includes/rohga.h
index 075209dcea2..fd72bfabf4b 100644
--- a/src/mame/includes/rohga.h
+++ b/src/mame/includes/rohga.h
@@ -50,6 +50,10 @@ public:
DECLARE_WRITE16_MEMBER(wizdfire_irq_ack_w);
DECLARE_WRITE16_MEMBER(rohga_buffer_spriteram16_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
+ DECLARE_DRIVER_INIT(wizdfire);
+ DECLARE_DRIVER_INIT(nitrobal);
+ DECLARE_DRIVER_INIT(schmeisr);
+ DECLARE_DRIVER_INIT(rohga);
};
diff --git a/src/mame/includes/route16.h b/src/mame/includes/route16.h
index 0e5054349c3..9824699a95c 100644
--- a/src/mame/includes/route16.h
+++ b/src/mame/includes/route16.h
@@ -26,6 +26,8 @@ public:
DECLARE_WRITE8_MEMBER(route16_out0_w);
DECLARE_WRITE8_MEMBER(route16_out1_w);
DECLARE_WRITE8_MEMBER(stratvox_sn76477_w);
+ DECLARE_DRIVER_INIT(route16);
+ DECLARE_DRIVER_INIT(route16a);
};
diff --git a/src/mame/includes/rpunch.h b/src/mame/includes/rpunch.h
index 6de2e077171..ea227ee7c70 100644
--- a/src/mame/includes/rpunch.h
+++ b/src/mame/includes/rpunch.h
@@ -33,6 +33,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(hi_bits_r);
DECLARE_WRITE8_MEMBER(upd_control_w);
DECLARE_WRITE8_MEMBER(upd_data_w);
+ DECLARE_DRIVER_INIT(rabiolep);
+ DECLARE_DRIVER_INIT(svolley);
};
diff --git a/src/mame/includes/sauro.h b/src/mame/includes/sauro.h
index 71199783031..49f3fc61eda 100644
--- a/src/mame/includes/sauro.h
+++ b/src/mame/includes/sauro.h
@@ -31,6 +31,7 @@ public:
DECLARE_WRITE8_MEMBER(sauro_palette_bank_w);
DECLARE_WRITE8_MEMBER(sauro_scroll_fg_w);
DECLARE_WRITE8_MEMBER(adpcm_w);
+ DECLARE_DRIVER_INIT(tecfri);
};
diff --git a/src/mame/includes/sbasketb.h b/src/mame/includes/sbasketb.h
index ba5dbe7e2f0..e6317fa899b 100644
--- a/src/mame/includes/sbasketb.h
+++ b/src/mame/includes/sbasketb.h
@@ -28,6 +28,7 @@ public:
DECLARE_WRITE8_MEMBER(sbasketb_videoram_w);
DECLARE_WRITE8_MEMBER(sbasketb_colorram_w);
DECLARE_WRITE8_MEMBER(sbasketb_flipscreen_w);
+ DECLARE_DRIVER_INIT(sbasketb);
};
/*----------- defined in video/sbasketb.c -----------*/
diff --git a/src/mame/includes/scramble.h b/src/mame/includes/scramble.h
index 13b4c53611f..9cdd6540a6d 100644
--- a/src/mame/includes/scramble.h
+++ b/src/mame/includes/scramble.h
@@ -28,7 +28,30 @@ public:
DECLARE_WRITE8_MEMBER(frogger_filter_w);
DECLARE_WRITE8_MEMBER(mars_ppi8255_0_w);
DECLARE_WRITE8_MEMBER(mars_ppi8255_1_w);
-};
+ DECLARE_DRIVER_INIT(cavelon);
+ DECLARE_DRIVER_INIT(mariner);
+ DECLARE_DRIVER_INIT(mrkougb);
+ DECLARE_DRIVER_INIT(scramble_ppi);
+ DECLARE_DRIVER_INIT(mars);
+ DECLARE_DRIVER_INIT(ckongs);
+ DECLARE_DRIVER_INIT(mimonscr);
+ DECLARE_DRIVER_INIT(hotshock);
+ DECLARE_DRIVER_INIT(ad2083);
+ DECLARE_DRIVER_INIT(devilfsh);
+ DECLARE_DRIVER_INIT(mrkougar);
+
+ DECLARE_DRIVER_INIT(scobra);
+ DECLARE_DRIVER_INIT(stratgyx);
+ DECLARE_DRIVER_INIT(tazmani2);
+ DECLARE_DRIVER_INIT(darkplnt);
+ DECLARE_DRIVER_INIT(mimonkey);
+ DECLARE_DRIVER_INIT(mimonsco);
+ DECLARE_DRIVER_INIT(rescue);
+ DECLARE_DRIVER_INIT(minefld);
+ DECLARE_DRIVER_INIT(hustler);
+ DECLARE_DRIVER_INIT(hustlerd);
+ DECLARE_DRIVER_INIT(billiard);
+};
/*----------- defined in machine/scramble.c -----------*/
@@ -37,27 +60,6 @@ extern const i8255_interface(scramble_ppi_0_intf);
extern const i8255_interface(scramble_ppi_1_intf);
extern const i8255_interface(stratgyx_ppi_1_intf);
-DRIVER_INIT( scramble_ppi );
-DRIVER_INIT( stratgyx );
-DRIVER_INIT( tazmani2 );
-DRIVER_INIT( ckongs );
-DRIVER_INIT( mariner );
-DRIVER_INIT( devilfsh );
-DRIVER_INIT( mars );
-DRIVER_INIT( hotshock );
-DRIVER_INIT( cavelon );
-DRIVER_INIT( darkplnt );
-DRIVER_INIT( mimonkey );
-DRIVER_INIT( mimonsco );
-DRIVER_INIT( mimonscr );
-DRIVER_INIT( rescue );
-DRIVER_INIT( minefld );
-DRIVER_INIT( hustler );
-DRIVER_INIT( hustlerd );
-DRIVER_INIT( billiard );
-DRIVER_INIT( mrkougar );
-DRIVER_INIT( mrkougb );
-DRIVER_INIT( ad2083 );
MACHINE_RESET( scramble );
MACHINE_RESET( explorer );
diff --git a/src/mame/includes/segag80r.h b/src/mame/includes/segag80r.h
index 9d7104a44a7..1a6ed0d4b24 100644
--- a/src/mame/includes/segag80r.h
+++ b/src/mame/includes/segag80r.h
@@ -80,6 +80,13 @@ public:
DECLARE_WRITE8_MEMBER(sindbadm_misc_w);
DECLARE_WRITE8_MEMBER(sindbadm_sn1_SN76496_w);
DECLARE_WRITE8_MEMBER(sindbadm_sn2_SN76496_w);
+ DECLARE_DRIVER_INIT(spaceod);
+ DECLARE_DRIVER_INIT(sindbadm);
+ DECLARE_DRIVER_INIT(pignewt);
+ DECLARE_DRIVER_INIT(monsterb);
+ DECLARE_DRIVER_INIT(005);
+ DECLARE_DRIVER_INIT(monster2);
+ DECLARE_DRIVER_INIT(astrob);
};
diff --git a/src/mame/includes/segag80v.h b/src/mame/includes/segag80v.h
index b35b62c43a9..2d5cdbb05ee 100644
--- a/src/mame/includes/segag80v.h
+++ b/src/mame/includes/segag80v.h
@@ -44,6 +44,12 @@ public:
DECLARE_WRITE8_MEMBER(spacfury2_sh_w);
DECLARE_INPUT_CHANGED_MEMBER(service_switch);
DECLARE_WRITE8_MEMBER(usb_ram_w);
+ DECLARE_DRIVER_INIT(zektor);
+ DECLARE_DRIVER_INIT(startrek);
+ DECLARE_DRIVER_INIT(elim4);
+ DECLARE_DRIVER_INIT(elim2);
+ DECLARE_DRIVER_INIT(tacscan);
+ DECLARE_DRIVER_INIT(spacfury);
};
diff --git a/src/mame/includes/segahang.h b/src/mame/includes/segahang.h
index 64fec3c629a..7493e1665b6 100644
--- a/src/mame/includes/segahang.h
+++ b/src/mame/includes/segahang.h
@@ -82,12 +82,11 @@ public:
INTERRUPT_GEN_MEMBER( i8751_main_cpu_vblank );
// game-specific driver init
- void init_generic();
- void init_sharrier();
- void init_enduror();
- void init_endurobl();
- void init_endurob2();
-
+ DECLARE_DRIVER_INIT(generic);
+ DECLARE_DRIVER_INIT(sharrier);
+ DECLARE_DRIVER_INIT(enduror);
+ DECLARE_DRIVER_INIT(endurobl);
+ DECLARE_DRIVER_INIT(endurob2);
// video updates
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/segamsys.h b/src/mame/includes/segamsys.h
index 47830ed3af4..edb4500d339 100644
--- a/src/mame/includes/segamsys.h
+++ b/src/mame/includes/segamsys.h
@@ -11,8 +11,8 @@ ADDRESS_MAP_EXTERN( sms_io_map, 8 );
extern SCREEN_UPDATE_RGB32(megatech_bios);
extern SCREEN_UPDATE_RGB32(megaplay_bios);
extern SCREEN_UPDATE_RGB32(megatech_md_sms);
-extern DRIVER_INIT( megatech_bios );
-extern DRIVER_INIT( hazemd_segasyse );
+extern void init_megatech_bios(running_machine &machine);
+extern void init_hazemd_segasyse(running_machine &machine);
extern MACHINE_RESET(megatech_bios);
extern MACHINE_RESET(megatech_md_sms);
extern SCREEN_VBLANK(megatech_bios);
@@ -57,10 +57,10 @@ READ8_HANDLER( smsgg_backupram_r );
WRITE8_HANDLER( smsgg_backupram_w );
extern void megatech_set_genz80_as_sms_standard_map(running_machine &machine, const char* tag, int mapper);
MACHINE_CONFIG_EXTERN(sms);
-extern DRIVER_INIT(sms);
-extern DRIVER_INIT(smspal);
-extern DRIVER_INIT(smscm);
-extern DRIVER_INIT( smsgg );
+extern void init_sms(running_machine &machine);
+extern void init_smspal(running_machine &machine);
+extern void init_smscm(running_machine &machine);
+extern void init_smsgg(running_machine &machine);
INPUT_PORTS_EXTERN(sms);
INPUT_PORTS_EXTERN(gamegear);
diff --git a/src/mame/includes/segaorun.h b/src/mame/includes/segaorun.h
index 570bd37f09a..f5c930f626d 100644
--- a/src/mame/includes/segaorun.h
+++ b/src/mame/includes/segaorun.h
@@ -67,10 +67,10 @@ public:
{ }
// driver init
- void init_outrun();
- void init_outrunb();
- void init_shangon();
- void init_shangon3();
+ DECLARE_DRIVER_INIT(outrunb);
+ DECLARE_DRIVER_INIT(shangon);
+ DECLARE_DRIVER_INIT(outrun);
+ DECLARE_DRIVER_INIT(shangon3);
// memory mapping
void memory_mapper(sega_315_5195_mapper_device &mapper, UINT8 index);
diff --git a/src/mame/includes/segas16a.h b/src/mame/includes/segas16a.h
index dd339b841cb..a9a9b07cc45 100644
--- a/src/mame/includes/segas16a.h
+++ b/src/mame/includes/segas16a.h
@@ -107,15 +107,15 @@ public:
INTERRUPT_GEN_MEMBER( i8751_main_cpu_vblank );
// game-specific driver init
- void init_generic();
- void init_aceattaa();
- void init_dumpmtmt();
- void init_mjleague();
- void init_passsht16a();
- void init_quartet();
- void init_fantzonep();
- void init_sdi();
- void init_sjryukoa();
+ DECLARE_DRIVER_INIT(generic);
+ DECLARE_DRIVER_INIT(dumpmtmt);
+ DECLARE_DRIVER_INIT(quartet);
+ DECLARE_DRIVER_INIT(fantzonep);
+ DECLARE_DRIVER_INIT(sjryukoa);
+ DECLARE_DRIVER_INIT(aceattaa);
+ DECLARE_DRIVER_INIT(passsht16a);
+ DECLARE_DRIVER_INIT(mjleague);
+ DECLARE_DRIVER_INIT(sdi);
// video updates
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/segas16b.h b/src/mame/includes/segas16b.h
index 6af243f9487..f5a37c136a5 100644
--- a/src/mame/includes/segas16b.h
+++ b/src/mame/includes/segas16b.h
@@ -101,38 +101,38 @@ public:
INTERRUPT_GEN_MEMBER( i8751_main_cpu_vblank );
// ROM board-specific driver init
- void init_generic_5358_small();
- void init_generic_5358();
- void init_generic_5521();
- void init_generic_5704();
- void init_generic_5797();
- void init_generic_korean();
+ DECLARE_DRIVER_INIT(generic_5521);
+ DECLARE_DRIVER_INIT(generic_5358);
+ DECLARE_DRIVER_INIT(generic_5704);
+ DECLARE_DRIVER_INIT(generic_5358_small);
+ DECLARE_DRIVER_INIT(generic_5797);
+ DECLARE_DRIVER_INIT(generic_korean);
// game-specific driver init
- void init_aceattac_5358();
- void init_aliensy3_5358_small();
- void init_altbeast_5521();
- void init_altbeasj_5521();
- void init_altbeas5_5521();
- void init_altbeas4_5521();
- void init_aurail1_5704();
- void init_aurailj_5704();
- void init_ddux_5704();
- void init_dunkshot_5358_small();
- void init_exctleag_5358();
- void init_goldnaxe_5704();
- void init_goldnaxe_5797();
- void init_hwchamp_5521();
- void init_passshtj_5358();
- void init_sdi_5358_small();
- void init_defense_5358_small();
- void init_shinobi4_5521();
- void init_shinobi3_5358();
- void init_sjryuko_5358_small();
- void init_timescan_5358_small();
- void init_tturf_5704();
- void init_wb3_5704();
- void init_snapper();
+ DECLARE_DRIVER_INIT(isgsm);
+ DECLARE_DRIVER_INIT(tturf_5704);
+ DECLARE_DRIVER_INIT(wb3_5704);
+ DECLARE_DRIVER_INIT(hwchamp_5521);
+ DECLARE_DRIVER_INIT(altbeas5_5521);
+ DECLARE_DRIVER_INIT(sdi_5358_small);
+ DECLARE_DRIVER_INIT(altbeasj_5521);
+ DECLARE_DRIVER_INIT(ddux_5704);
+ DECLARE_DRIVER_INIT(snapper);
+ DECLARE_DRIVER_INIT(shinobi4_5521);
+ DECLARE_DRIVER_INIT(goldnaxe_5704);
+ DECLARE_DRIVER_INIT(defense_5358_small);
+ DECLARE_DRIVER_INIT(sjryuko_5358_small);
+ DECLARE_DRIVER_INIT(altbeast_5521);
+ DECLARE_DRIVER_INIT(exctleag_5358);
+ DECLARE_DRIVER_INIT(tetrbx);
+ DECLARE_DRIVER_INIT(aceattac_5358);
+ DECLARE_DRIVER_INIT(passshtj_5358);
+ DECLARE_DRIVER_INIT(shinfz);
+ DECLARE_DRIVER_INIT(dunkshot_5358_small);
+ DECLARE_DRIVER_INIT(timescan_5358_small);
+ DECLARE_DRIVER_INIT(shinobi3_5358);
+ DECLARE_DRIVER_INIT(goldnaxe_5797);
+ DECLARE_DRIVER_INIT(altbeas4_5521);
// video updates
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/segas18.h b/src/mame/includes/segas18.h
index 4edef635fd7..969468ec3a6 100644
--- a/src/mame/includes/segas18.h
+++ b/src/mame/includes/segas18.h
@@ -72,13 +72,13 @@ public:
}
// driver init
- void init_generic_shad();
- void init_generic_5874();
- void init_generic_5987();
- void init_ddcrew();
- void init_lghost();
- void init_wwally();
-
+ DECLARE_DRIVER_INIT(ddcrew);
+ DECLARE_DRIVER_INIT(lghost);
+ DECLARE_DRIVER_INIT(generic_shad);
+ DECLARE_DRIVER_INIT(generic_5874);
+ DECLARE_DRIVER_INIT(wwally);
+ DECLARE_DRIVER_INIT(generic_5987);
+
// memory mapping
void memory_mapper(sega_315_5195_mapper_device &mapper, UINT8 index);
UINT8 mapper_sound_r();
diff --git a/src/mame/includes/segas24.h b/src/mame/includes/segas24.h
index 18f41644188..f2107b728a5 100644
--- a/src/mame/includes/segas24.h
+++ b/src/mame/includes/segas24.h
@@ -94,6 +94,22 @@ public:
void irq_timer_sync();
void irq_timer_start(int old_tmode);
void reset_control_w(UINT8 data);
+ DECLARE_DRIVER_INIT(crkdown);
+ DECLARE_DRIVER_INIT(quizmeku);
+ DECLARE_DRIVER_INIT(qrouka);
+ DECLARE_DRIVER_INIT(roughrac);
+ DECLARE_DRIVER_INIT(qgh);
+ DECLARE_DRIVER_INIT(gground);
+ DECLARE_DRIVER_INIT(mahmajn2);
+ DECLARE_DRIVER_INIT(sspiritj);
+ DECLARE_DRIVER_INIT(mahmajn);
+ DECLARE_DRIVER_INIT(hotrod);
+ DECLARE_DRIVER_INIT(sspirits);
+ DECLARE_DRIVER_INIT(dcclub);
+ DECLARE_DRIVER_INIT(bnzabros);
+ DECLARE_DRIVER_INIT(dcclubfd);
+ DECLARE_DRIVER_INIT(qsww);
+ DECLARE_DRIVER_INIT(sgmast);
};
/*----------- defined in video/segas24.c -----------*/
diff --git a/src/mame/includes/segas32.h b/src/mame/includes/segas32.h
index aeea36a2e60..0efff950fd2 100644
--- a/src/mame/includes/segas32.h
+++ b/src/mame/includes/segas32.h
@@ -147,6 +147,29 @@ public:
DECLARE_WRITE16_MEMBER(f1en_comms_echo_w);
DECLARE_WRITE8_MEMBER(multipcm_bank_w);
DECLARE_WRITE8_MEMBER(scross_bank_w);
+ DECLARE_DRIVER_INIT(titlef);
+ DECLARE_DRIVER_INIT(slipstrm);
+ DECLARE_DRIVER_INIT(radm);
+ DECLARE_DRIVER_INIT(holo);
+ DECLARE_DRIVER_INIT(svf);
+ DECLARE_DRIVER_INIT(jleague);
+ DECLARE_DRIVER_INIT(arescue);
+ DECLARE_DRIVER_INIT(jpark);
+ DECLARE_DRIVER_INIT(ga2);
+ DECLARE_DRIVER_INIT(scross);
+ DECLARE_DRIVER_INIT(spidman);
+ DECLARE_DRIVER_INIT(sonicp);
+ DECLARE_DRIVER_INIT(f1en);
+ DECLARE_DRIVER_INIT(dbzvrvs);
+ DECLARE_DRIVER_INIT(brival);
+ DECLARE_DRIVER_INIT(harddunk);
+ DECLARE_DRIVER_INIT(arabfgt);
+ DECLARE_DRIVER_INIT(sonic);
+ DECLARE_DRIVER_INIT(alien3);
+ DECLARE_DRIVER_INIT(darkedge);
+ DECLARE_DRIVER_INIT(radr);
+ DECLARE_DRIVER_INIT(f1lap);
+ DECLARE_DRIVER_INIT(orunners);
};
diff --git a/src/mame/includes/segaxbd.h b/src/mame/includes/segaxbd.h
index 580a8db12f3..f1ce3802d9b 100644
--- a/src/mame/includes/segaxbd.h
+++ b/src/mame/includes/segaxbd.h
@@ -98,6 +98,13 @@ public:
// game-specific state
UINT16 * m_loffire_sync;
UINT8 m_lastsurv_mux;
+ DECLARE_DRIVER_INIT(generic_xboard);
+ DECLARE_DRIVER_INIT(loffire);
+ DECLARE_DRIVER_INIT(smgp);
+ DECLARE_DRIVER_INIT(aburner2);
+ DECLARE_DRIVER_INIT(gprider);
+ DECLARE_DRIVER_INIT(rascot);
+ DECLARE_DRIVER_INIT(lastsurv);
};
diff --git a/src/mame/includes/segaybd.h b/src/mame/includes/segaybd.h
index 5157e8992cc..7a6f2d448b7 100644
--- a/src/mame/includes/segaybd.h
+++ b/src/mame/includes/segaybd.h
@@ -73,6 +73,11 @@ public:
UINT8 m_vblank_irq_state;
UINT8 m_misc_io_data[0x10];
bitmap_ind16 * m_tmp_bitmap;
+ DECLARE_DRIVER_INIT(pdrift);
+ DECLARE_DRIVER_INIT(r360);
+ DECLARE_DRIVER_INIT(gforce2);
+ DECLARE_DRIVER_INIT(rchase);
+ DECLARE_DRIVER_INIT(gloc);
};
diff --git a/src/mame/includes/seibuspi.h b/src/mame/includes/seibuspi.h
index 4e0e671677a..75cd229d245 100644
--- a/src/mame/includes/seibuspi.h
+++ b/src/mame/includes/seibuspi.h
@@ -89,6 +89,19 @@ public:
DECLARE_READ8_MEMBER(flashrom_read);
DECLARE_WRITE8_MEMBER(flashrom_write);
DECLARE_WRITE32_MEMBER(sys386f2_eeprom_w);
+ DECLARE_DRIVER_INIT(batlball);
+ DECLARE_DRIVER_INIT(senkyu);
+ DECLARE_DRIVER_INIT(viprp1);
+ DECLARE_DRIVER_INIT(rfjet2k);
+ DECLARE_DRIVER_INIT(viprp1o);
+ DECLARE_DRIVER_INIT(rdft);
+ DECLARE_DRIVER_INIT(rfjet);
+ DECLARE_DRIVER_INIT(rdft22kc);
+ DECLARE_DRIVER_INIT(senkyua);
+ DECLARE_DRIVER_INIT(rdft2);
+ DECLARE_DRIVER_INIT(ejanhs);
+ DECLARE_DRIVER_INIT(sys386f2);
+ DECLARE_DRIVER_INIT(rdft2us);
};
diff --git a/src/mame/includes/senjyo.h b/src/mame/includes/senjyo.h
index d469fb98f35..7de6ddc617d 100644
--- a/src/mame/includes/senjyo.h
+++ b/src/mame/includes/senjyo.h
@@ -70,6 +70,10 @@ public:
DECLARE_WRITE8_MEMBER(senjyo_volume_w);
DECLARE_WRITE_LINE_MEMBER(sound_line_clock);
DECLARE_WRITE8_MEMBER(sound_cmd_w);
+ DECLARE_DRIVER_INIT(starfora);
+ DECLARE_DRIVER_INIT(senjyo);
+ DECLARE_DRIVER_INIT(starfore);
+ DECLARE_DRIVER_INIT(starforc);
};
diff --git a/src/mame/includes/seta.h b/src/mame/includes/seta.h
index 30eaf79eac0..fb2ae28ba31 100644
--- a/src/mame/includes/seta.h
+++ b/src/mame/includes/seta.h
@@ -158,6 +158,19 @@ public:
DECLARE_WRITE16_MEMBER(magspeed_lights_w);
DECLARE_READ8_MEMBER(dsw1_r);
DECLARE_READ8_MEMBER(dsw2_r);
+ DECLARE_DRIVER_INIT(downtown);
+ DECLARE_DRIVER_INIT(rezon);
+ DECLARE_DRIVER_INIT(twineagl);
+ DECLARE_DRIVER_INIT(zombraid);
+ DECLARE_DRIVER_INIT(crazyfgt);
+ DECLARE_DRIVER_INIT(inttoote);
+ DECLARE_DRIVER_INIT(metafox);
+ DECLARE_DRIVER_INIT(arbalest);
+ DECLARE_DRIVER_INIT(inttootea);
+ DECLARE_DRIVER_INIT(wiggie);
+ DECLARE_DRIVER_INIT(blandia);
+ DECLARE_DRIVER_INIT(kiwame);
+ DECLARE_DRIVER_INIT(eightfrc);
};
/*----------- defined in video/seta.c -----------*/
diff --git a/src/mame/includes/seta2.h b/src/mame/includes/seta2.h
index 65896b2e62e..fdfb3a1bf4c 100644
--- a/src/mame/includes/seta2.h
+++ b/src/mame/includes/seta2.h
@@ -62,6 +62,9 @@ public:
DECLARE_WRITE16_MEMBER(gundamex_eeprom_w);
DECLARE_READ32_MEMBER(oki_read);
DECLARE_WRITE32_MEMBER(oki_write);
+ DECLARE_DRIVER_INIT(funcube3);
+ DECLARE_DRIVER_INIT(funcube);
+ DECLARE_DRIVER_INIT(funcube2);
};
/*----------- defined in video/seta2.c -----------*/
diff --git a/src/mame/includes/shangha3.h b/src/mame/includes/shangha3.h
index c8767d0ce41..7b320b4dc70 100644
--- a/src/mame/includes/shangha3.h
+++ b/src/mame/includes/shangha3.h
@@ -24,6 +24,8 @@ public:
DECLARE_WRITE16_MEMBER(shangha3_flipscreen_w);
DECLARE_WRITE16_MEMBER(shangha3_gfxlist_addr_w);
DECLARE_WRITE16_MEMBER(shangha3_blitter_go_w);
+ DECLARE_DRIVER_INIT(shangha3);
+ DECLARE_DRIVER_INIT(heberpop);
};
diff --git a/src/mame/includes/shangkid.h b/src/mame/includes/shangkid.h
index 0adc0e4397b..a43e01d0d58 100644
--- a/src/mame/includes/shangkid.h
+++ b/src/mame/includes/shangkid.h
@@ -23,6 +23,8 @@ public:
DECLARE_WRITE8_MEMBER(chinhero_ay8910_porta_w);
DECLARE_WRITE8_MEMBER(shangkid_ay8910_porta_w);
DECLARE_WRITE8_MEMBER(ay8910_portb_w);
+ DECLARE_DRIVER_INIT(shangkid);
+ DECLARE_DRIVER_INIT(chinhero);
};
diff --git a/src/mame/includes/shootout.h b/src/mame/includes/shootout.h
index 678feaaf08d..433692d6ca9 100644
--- a/src/mame/includes/shootout.h
+++ b/src/mame/includes/shootout.h
@@ -20,6 +20,8 @@ public:
DECLARE_WRITE8_MEMBER(shootout_videoram_w);
DECLARE_WRITE8_MEMBER(shootout_textram_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(shootouj);
+ DECLARE_DRIVER_INIT(shootout);
};
diff --git a/src/mame/includes/sidearms.h b/src/mame/includes/sidearms.h
index 2b427c3412a..39f6c3145fa 100644
--- a/src/mame/includes/sidearms.h
+++ b/src/mame/includes/sidearms.h
@@ -42,6 +42,10 @@ public:
DECLARE_WRITE8_MEMBER(sidearms_gfxctrl_w);
DECLARE_WRITE8_MEMBER(sidearms_star_scrollx_w);
DECLARE_WRITE8_MEMBER(sidearms_star_scrolly_w);
+ DECLARE_DRIVER_INIT(dyger);
+ DECLARE_DRIVER_INIT(sidearms);
+ DECLARE_DRIVER_INIT(whizz);
+ DECLARE_DRIVER_INIT(turtship);
};
/*----------- defined in video/sidearms.c -----------*/
diff --git a/src/mame/includes/sidepckt.h b/src/mame/includes/sidepckt.h
index 9b84de90fad..b09a23bfe62 100644
--- a/src/mame/includes/sidepckt.h
+++ b/src/mame/includes/sidepckt.h
@@ -23,6 +23,8 @@ public:
DECLARE_WRITE8_MEMBER(sidepckt_videoram_w);
DECLARE_WRITE8_MEMBER(sidepckt_colorram_w);
DECLARE_WRITE8_MEMBER(sidepckt_flipscreen_w);
+ DECLARE_DRIVER_INIT(sidepckt);
+ DECLARE_DRIVER_INIT(sidepctj);
};
diff --git a/src/mame/includes/silkroad.h b/src/mame/includes/silkroad.h
index 8878c578fff..6d4aac9f770 100644
--- a/src/mame/includes/silkroad.h
+++ b/src/mame/includes/silkroad.h
@@ -23,6 +23,7 @@ public:
DECLARE_WRITE32_MEMBER(silkroad_fgram2_w);
DECLARE_WRITE32_MEMBER(silkroad_fgram3_w);
DECLARE_WRITE32_MEMBER(silk_6295_bank_w);
+ DECLARE_DRIVER_INIT(silkroad);
};
diff --git a/src/mame/includes/simpl156.h b/src/mame/includes/simpl156.h
index 1221adb05ec..4e5bc40d292 100644
--- a/src/mame/includes/simpl156.h
+++ b/src/mame/includes/simpl156.h
@@ -51,6 +51,12 @@ public:
DECLARE_READ32_MEMBER(prtytime_speedup_r);
DECLARE_READ32_MEMBER(charlien_speedup_r);
DECLARE_READ32_MEMBER(osman_speedup_r);
+ DECLARE_DRIVER_INIT(simpl156);
+ DECLARE_DRIVER_INIT(joemacr);
+ DECLARE_DRIVER_INIT(charlien);
+ DECLARE_DRIVER_INIT(prtytime);
+ DECLARE_DRIVER_INIT(osman);
+ DECLARE_DRIVER_INIT(chainrec);
};
diff --git a/src/mame/includes/skullxbo.h b/src/mame/includes/skullxbo.h
index 7dedd445184..5656b8cc642 100644
--- a/src/mame/includes/skullxbo.h
+++ b/src/mame/includes/skullxbo.h
@@ -14,6 +14,7 @@ public:
DECLARE_WRITE16_MEMBER(skullxbo_halt_until_hblank_0_w);
DECLARE_READ16_MEMBER(special_port1_r);
DECLARE_WRITE16_MEMBER(skullxbo_mobwr_w);
+ DECLARE_DRIVER_INIT(skullxbo);
};
diff --git a/src/mame/includes/skyfox.h b/src/mame/includes/skyfox.h
index a48eabbc1ff..5a87b1efcec 100644
--- a/src/mame/includes/skyfox.h
+++ b/src/mame/includes/skyfox.h
@@ -27,6 +27,7 @@ public:
DECLARE_READ8_MEMBER(skyfox_vregs_r);
DECLARE_WRITE8_MEMBER(skyfox_vregs_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ DECLARE_DRIVER_INIT(skyfox);
};
/*----------- defined in video/skyfox.c -----------*/
diff --git a/src/mame/includes/skykid.h b/src/mame/includes/skykid.h
index 802882a41bf..57f33fe8ee1 100644
--- a/src/mame/includes/skykid.h
+++ b/src/mame/includes/skykid.h
@@ -33,6 +33,7 @@ public:
DECLARE_WRITE8_MEMBER(skykid_scroll_x_w);
DECLARE_WRITE8_MEMBER(skykid_scroll_y_w);
DECLARE_WRITE8_MEMBER(skykid_flipscreen_priority_w);
+ DECLARE_DRIVER_INIT(skykid);
};
diff --git a/src/mame/includes/slapfght.h b/src/mame/includes/slapfght.h
index 0a9bb319e26..b0cfe900823 100644
--- a/src/mame/includes/slapfght.h
+++ b/src/mame/includes/slapfght.h
@@ -109,6 +109,14 @@ public:
DECLARE_WRITE8_MEMBER(slapfight_fixcol_w);
DECLARE_WRITE8_MEMBER(slapfight_flipscreen_w);
DECLARE_WRITE8_MEMBER(slapfight_palette_bank_w);
+ DECLARE_DRIVER_INIT(getstarj);
+ DECLARE_DRIVER_INIT(getstar);
+ DECLARE_DRIVER_INIT(gtstarb1);
+ DECLARE_DRIVER_INIT(tigerhb);
+ DECLARE_DRIVER_INIT(slapfigh);
+ DECLARE_DRIVER_INIT(perfrman);
+ DECLARE_DRIVER_INIT(gtstarb2);
+ DECLARE_DRIVER_INIT(tigerh);
};
diff --git a/src/mame/includes/slapshot.h b/src/mame/includes/slapshot.h
index 4619da4b237..e7a6648f2e9 100644
--- a/src/mame/includes/slapshot.h
+++ b/src/mame/includes/slapshot.h
@@ -61,6 +61,7 @@ public:
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_WRITE16_MEMBER(slapshot_msb_sound_w);
DECLARE_READ16_MEMBER(slapshot_msb_sound_r);
+ DECLARE_DRIVER_INIT(slapshot);
};
diff --git a/src/mame/includes/snes.h b/src/mame/includes/snes.h
index 8abb063a541..0a0e2bbfee7 100644
--- a/src/mame/includes/snes.h
+++ b/src/mame/includes/snes.h
@@ -490,6 +490,8 @@ public:
DECLARE_DIRECT_UPDATE_MEMBER(snes_spc_direct);
DECLARE_DIRECT_UPDATE_MEMBER(snes_direct);
+ DECLARE_DRIVER_INIT(snes);
+ DECLARE_DRIVER_INIT(snes_hirom);
};
/* Special chips, checked at init and used in memory handlers */
@@ -537,8 +539,6 @@ enum
/*----------- defined in machine/snes.c -----------*/
-extern DRIVER_INIT( snes );
-extern DRIVER_INIT( snes_hirom );
extern MACHINE_START( snes );
extern MACHINE_RESET( snes );
diff --git a/src/mame/includes/snk.h b/src/mame/includes/snk.h
index 70434c4b766..d24e045b512 100644
--- a/src/mame/includes/snk.h
+++ b/src/mame/includes/snk.h
@@ -140,6 +140,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(countryc_trackball_x);
DECLARE_CUSTOM_INPUT_MEMBER(countryc_trackball_y);
DECLARE_CUSTOM_INPUT_MEMBER(snk_bonus_r);
+ DECLARE_DRIVER_INIT(countryc);
};
diff --git a/src/mame/includes/snk68.h b/src/mame/includes/snk68.h
index 0145bf4100e..d659a289543 100644
--- a/src/mame/includes/snk68.h
+++ b/src/mame/includes/snk68.h
@@ -38,6 +38,7 @@ public:
DECLARE_WRITE16_MEMBER(pow_paletteram16_word_w);
DECLARE_WRITE8_MEMBER(D7759_write_port_0_w);
DECLARE_WRITE8_MEMBER(D7759_upd_reset_w);
+ DECLARE_DRIVER_INIT(searchar);
};
diff --git a/src/mame/includes/snowbros.h b/src/mame/includes/snowbros.h
index 87f712094ca..bb7c1aefd64 100644
--- a/src/mame/includes/snowbros.h
+++ b/src/mame/includes/snowbros.h
@@ -34,5 +34,12 @@ public:
DECLARE_READ16_MEMBER(cookbib3_read);
DECLARE_WRITE8_MEMBER(twinadv_oki_bank_w);
DECLARE_WRITE16_MEMBER(sb3_sound_w);
+ DECLARE_DRIVER_INIT(pzlbreak);
+ DECLARE_DRIVER_INIT(moremorp);
+ DECLARE_DRIVER_INIT(snowbro3);
+ DECLARE_DRIVER_INIT(cookbib3);
+ DECLARE_DRIVER_INIT(4in1boot);
+ DECLARE_DRIVER_INIT(3in1semi);
+ DECLARE_DRIVER_INIT(cookbib2);
};
diff --git a/src/mame/includes/splash.h b/src/mame/includes/splash.h
index 6eb5cb66a83..490db307fae 100644
--- a/src/mame/includes/splash.h
+++ b/src/mame/includes/splash.h
@@ -52,6 +52,11 @@ public:
DECLARE_WRITE8_MEMBER(msm2_interrupt_w);
DECLARE_WRITE8_MEMBER(msm2_data_w);
DECLARE_WRITE16_MEMBER(splash_vram_w);
+ DECLARE_DRIVER_INIT(splash10);
+ DECLARE_DRIVER_INIT(roldfrog);
+ DECLARE_DRIVER_INIT(funystrp);
+ DECLARE_DRIVER_INIT(splash);
+ DECLARE_DRIVER_INIT(rebus);
};
diff --git a/src/mame/includes/sprint2.h b/src/mame/includes/sprint2.h
index 143d0644ddb..b09af10cc41 100644
--- a/src/mame/includes/sprint2.h
+++ b/src/mame/includes/sprint2.h
@@ -58,6 +58,9 @@ public:
DECLARE_WRITE8_MEMBER(sprint2_noise_reset_w);
DECLARE_WRITE8_MEMBER(sprint2_skid1_w);
DECLARE_WRITE8_MEMBER(sprint2_skid2_w);
+ DECLARE_DRIVER_INIT(sprint1);
+ DECLARE_DRIVER_INIT(sprint2);
+ DECLARE_DRIVER_INIT(dominos);
};
diff --git a/src/mame/includes/sshangha.h b/src/mame/includes/sshangha.h
index 18b9c5c5691..957700ecef6 100644
--- a/src/mame/includes/sshangha.h
+++ b/src/mame/includes/sshangha.h
@@ -46,6 +46,7 @@ public:
DECLARE_WRITE16_MEMBER(paletteram16_xbgr_word_be_tilelow_w);
DECLARE_WRITE16_MEMBER(paletteram16_xbgr_word_be_tilehigh_w);
DECLARE_WRITE16_MEMBER(sshangha_video_w);
+ DECLARE_DRIVER_INIT(sshangha);
};
diff --git a/src/mame/includes/sslam.h b/src/mame/includes/sslam.h
index 473ecd6ac53..950ef05b8b3 100644
--- a/src/mame/includes/sslam.h
+++ b/src/mame/includes/sslam.h
@@ -42,6 +42,8 @@ public:
DECLARE_WRITE16_MEMBER(sslam_bg_tileram_w);
DECLARE_WRITE16_MEMBER(powerbls_bg_tileram_w);
DECLARE_WRITE16_MEMBER(sslam_snd_w);
+ DECLARE_DRIVER_INIT(sslam);
+ DECLARE_DRIVER_INIT(powerbls);
};
diff --git a/src/mame/includes/ssv.h b/src/mame/includes/ssv.h
index a36ebad7f86..fdf299844d2 100644
--- a/src/mame/includes/ssv.h
+++ b/src/mame/includes/ssv.h
@@ -98,6 +98,28 @@ public:
DECLARE_WRITE16_MEMBER(paletteram16_xrgb_swap_word_w);
DECLARE_READ16_MEMBER(gdfs_eeprom_r);
DECLARE_WRITE16_MEMBER(gdfs_eeprom_w);
+ DECLARE_DRIVER_INIT(gdfs);
+ DECLARE_DRIVER_INIT(sxyreac2);
+ DECLARE_DRIVER_INIT(hypreac2);
+ DECLARE_DRIVER_INIT(hypreact);
+ DECLARE_DRIVER_INIT(dynagear);
+ DECLARE_DRIVER_INIT(eaglshot);
+ DECLARE_DRIVER_INIT(srmp4);
+ DECLARE_DRIVER_INIT(srmp7);
+ DECLARE_DRIVER_INIT(keithlcy);
+ DECLARE_DRIVER_INIT(meosism);
+ DECLARE_DRIVER_INIT(vasara);
+ DECLARE_DRIVER_INIT(cairblad);
+ DECLARE_DRIVER_INIT(sxyreact);
+ DECLARE_DRIVER_INIT(janjans1);
+ DECLARE_DRIVER_INIT(ryorioh);
+ DECLARE_DRIVER_INIT(drifto94);
+ DECLARE_DRIVER_INIT(survarts);
+ DECLARE_DRIVER_INIT(ultrax);
+ DECLARE_DRIVER_INIT(stmblade);
+ DECLARE_DRIVER_INIT(jsk);
+ DECLARE_DRIVER_INIT(twineag2);
+ DECLARE_DRIVER_INIT(mslider);
};
/*----------- defined in video/ssv.c -----------*/
diff --git a/src/mame/includes/st0016.h b/src/mame/includes/st0016.h
index cc4ebdb299c..b8b424800b0 100644
--- a/src/mame/includes/st0016.h
+++ b/src/mame/includes/st0016.h
@@ -32,6 +32,10 @@ public:
DECLARE_READ8_MEMBER(st0016_dma_r);
DECLARE_WRITE8_MEMBER(st0016_vregs_w);
DECLARE_WRITE8_MEMBER(st0016_rom_bank_w);
+ DECLARE_DRIVER_INIT(nratechu);
+ DECLARE_DRIVER_INIT(mayjinsn);
+ DECLARE_DRIVER_INIT(mayjisn2);
+ DECLARE_DRIVER_INIT(renju);
};
#define ISMACS (st0016_game&0x80)
diff --git a/src/mame/includes/starfire.h b/src/mame/includes/starfire.h
index ed78c2fe43d..07c7f693ddf 100644
--- a/src/mame/includes/starfire.h
+++ b/src/mame/includes/starfire.h
@@ -40,6 +40,8 @@ public:
DECLARE_READ8_MEMBER(starfire_colorram_r);
DECLARE_WRITE8_MEMBER(starfire_videoram_w);
DECLARE_READ8_MEMBER(starfire_videoram_r);
+ DECLARE_DRIVER_INIT(starfire);
+ DECLARE_DRIVER_INIT(fireone);
};
/*----------- defined in video/starfire.c -----------*/
diff --git a/src/mame/includes/starwars.h b/src/mame/includes/starwars.h
index 0d848177d71..cf54bcc27df 100644
--- a/src/mame/includes/starwars.h
+++ b/src/mame/includes/starwars.h
@@ -59,6 +59,8 @@ public:
DECLARE_WRITE8_MEMBER(starwars_main_wr_w);
DECLARE_WRITE8_MEMBER(starwars_soundrst_w);
DECLARE_DIRECT_UPDATE_MEMBER(esb_setdirect);
+ DECLARE_DRIVER_INIT(esb);
+ DECLARE_DRIVER_INIT(starwars);
};
diff --git a/src/mame/includes/stfight.h b/src/mame/includes/stfight.h
index abaed4b91e8..7f034b8d1fe 100644
--- a/src/mame/includes/stfight.h
+++ b/src/mame/includes/stfight.h
@@ -35,13 +35,13 @@ public:
DECLARE_WRITE8_MEMBER(stfight_text_attr_w);
DECLARE_WRITE8_MEMBER(stfight_sprite_bank_w);
DECLARE_WRITE8_MEMBER(stfight_vh_latch_w);
+ DECLARE_DRIVER_INIT(stfight);
+ DECLARE_DRIVER_INIT(empcity);
};
/*----------- defined in machine/stfight.c -----------*/
-DRIVER_INIT( empcity );
-DRIVER_INIT( stfight );
MACHINE_RESET( stfight );
INTERRUPT_GEN( stfight_vb_interrupt );
void stfight_adpcm_int(device_t *device);
diff --git a/src/mame/includes/stlforce.h b/src/mame/includes/stlforce.h
index 46da26ac820..0401c70fb9b 100644
--- a/src/mame/includes/stlforce.h
+++ b/src/mame/includes/stlforce.h
@@ -36,6 +36,8 @@ public:
DECLARE_WRITE16_MEMBER(stlforce_tx_videoram_w);
DECLARE_WRITE16_MEMBER(eeprom_w);
DECLARE_WRITE16_MEMBER(oki_bank_w);
+ DECLARE_DRIVER_INIT(twinbrat);
+ DECLARE_DRIVER_INIT(stlforce);
};
diff --git a/src/mame/includes/strnskil.h b/src/mame/includes/strnskil.h
index 4fe25e82f03..eca0cfd95c6 100644
--- a/src/mame/includes/strnskil.h
+++ b/src/mame/includes/strnskil.h
@@ -25,6 +25,8 @@ public:
DECLARE_WRITE8_MEMBER(protection_w);
DECLARE_WRITE8_MEMBER(strnskil_videoram_w);
DECLARE_WRITE8_MEMBER(strnskil_scrl_ctrl_w);
+ DECLARE_DRIVER_INIT(banbam);
+ DECLARE_DRIVER_INIT(pettanp);
};
diff --git a/src/mame/includes/stv.h b/src/mame/includes/stv.h
index 18803b121bf..ffccd6a8fc7 100644
--- a/src/mame/includes/stv.h
+++ b/src/mame/includes/stv.h
@@ -144,6 +144,55 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(nmi_reset);
DECLARE_INPUT_CHANGED_MEMBER(tray_open);
DECLARE_INPUT_CHANGED_MEMBER(tray_close);
+ DECLARE_DRIVER_INIT(astrass);
+ DECLARE_DRIVER_INIT(batmanfr);
+ DECLARE_DRIVER_INIT(finlarch);
+ DECLARE_DRIVER_INIT(decathlt);
+ DECLARE_DRIVER_INIT(sanjeon);
+ DECLARE_DRIVER_INIT(puyosun);
+ DECLARE_DRIVER_INIT(winterht);
+ DECLARE_DRIVER_INIT(gaxeduel);
+ DECLARE_DRIVER_INIT(rsgun);
+ DECLARE_DRIVER_INIT(groovef);
+ DECLARE_DRIVER_INIT(sandor);
+ DECLARE_DRIVER_INIT(cottonbm);
+ DECLARE_DRIVER_INIT(smleague);
+ DECLARE_DRIVER_INIT(nameclv3);
+ DECLARE_DRIVER_INIT(danchiq);
+ DECLARE_DRIVER_INIT(hanagumi);
+ DECLARE_DRIVER_INIT(cotton2);
+ DECLARE_DRIVER_INIT(seabass);
+ DECLARE_DRIVER_INIT(stv);
+ DECLARE_DRIVER_INIT(thunt);
+ DECLARE_DRIVER_INIT(critcrsh);
+ DECLARE_DRIVER_INIT(stvmp);
+ DECLARE_DRIVER_INIT(sasissu);
+ DECLARE_DRIVER_INIT(dnmtdeka);
+ DECLARE_DRIVER_INIT(ffreveng);
+ DECLARE_DRIVER_INIT(fhboxers);
+ DECLARE_DRIVER_INIT(pblbeach);
+ DECLARE_DRIVER_INIT(sss);
+ DECLARE_DRIVER_INIT(diehard);
+ DECLARE_DRIVER_INIT(danchih);
+ DECLARE_DRIVER_INIT(shienryu);
+ DECLARE_DRIVER_INIT(elandore);
+ DECLARE_DRIVER_INIT(prikura);
+ DECLARE_DRIVER_INIT(maruchan);
+ DECLARE_DRIVER_INIT(colmns97);
+ DECLARE_DRIVER_INIT(grdforce);
+ DECLARE_DRIVER_INIT(suikoenb);
+ DECLARE_DRIVER_INIT(magzun);
+ DECLARE_DRIVER_INIT(shanhigw);
+ DECLARE_DRIVER_INIT(sokyugrt);
+ DECLARE_DRIVER_INIT(vfremix);
+ DECLARE_DRIVER_INIT(twcup98);
+ DECLARE_DRIVER_INIT(znpwfv);
+ DECLARE_DRIVER_INIT(othellos);
+ DECLARE_DRIVER_INIT(mausuke);
+
+ DECLARE_DRIVER_INIT(saturnus);
+ DECLARE_DRIVER_INIT(saturneu);
+ DECLARE_DRIVER_INIT(saturnjp);
};
#define MASTER_CLOCK_352 57272720
@@ -172,51 +221,11 @@ public:
#define IRQ_VDP1_END 1 << 13
#define IRQ_ABUS 1 << 15
-DRIVER_INIT ( stv );
/*----------- defined in drivers/stv.c -----------*/
void install_stvbios_speedups(running_machine &machine);
-DRIVER_INIT(mausuke);
-DRIVER_INIT(puyosun);
-DRIVER_INIT(shienryu);
-DRIVER_INIT(prikura);
-DRIVER_INIT(hanagumi);
-DRIVER_INIT(cottonbm);
-DRIVER_INIT(cotton2);
-DRIVER_INIT(fhboxers);
-DRIVER_INIT(dnmtdeka);
-DRIVER_INIT(groovef);
-DRIVER_INIT(danchih);
-DRIVER_INIT(astrass);
-DRIVER_INIT(thunt);
-DRIVER_INIT(grdforce);
-DRIVER_INIT(batmanfr);
-DRIVER_INIT(winterht);
-DRIVER_INIT(seabass);
-DRIVER_INIT(vfremix);
-DRIVER_INIT(diehard);
-DRIVER_INIT(sss);
-DRIVER_INIT(othellos);
-DRIVER_INIT(sasissu);
-DRIVER_INIT(gaxeduel);
-DRIVER_INIT(suikoenb);
-DRIVER_INIT(sokyugrt);
-DRIVER_INIT(znpwfv);
-DRIVER_INIT(twcup98);
-DRIVER_INIT(smleague);
-DRIVER_INIT(maruchan);
-DRIVER_INIT(sandor);
-DRIVER_INIT(colmns97);
-DRIVER_INIT(pblbeach);
-DRIVER_INIT(shanhigw);
-DRIVER_INIT(finlarch);
-DRIVER_INIT(elandore);
-DRIVER_INIT(rsgun);
-DRIVER_INIT(ffreveng);
-DRIVER_INIT(decathlt);
-DRIVER_INIT(nameclv3);
/*----------- defined in video/stvvdp1.c -----------*/
diff --git a/src/mame/includes/suna16.h b/src/mame/includes/suna16.h
index 68a6d4de33a..3664707cfc6 100644
--- a/src/mame/includes/suna16.h
+++ b/src/mame/includes/suna16.h
@@ -33,6 +33,7 @@ public:
DECLARE_WRITE8_MEMBER(bssoccer_DAC3_w);
DECLARE_WRITE8_MEMBER(bssoccer_DAC4_w);
DECLARE_WRITE8_MEMBER(bestbest_ay8910_port_a_w);
+ DECLARE_DRIVER_INIT(uballoon);
};
diff --git a/src/mame/includes/suna8.h b/src/mame/includes/suna8.h
index 8a5e2d46613..31872fd0eb2 100644
--- a/src/mame/includes/suna8.h
+++ b/src/mame/includes/suna8.h
@@ -80,6 +80,14 @@ public:
DECLARE_READ8_MEMBER(suna8_banked_spriteram_r);
DECLARE_WRITE8_MEMBER(suna8_spriteram_w);
DECLARE_WRITE8_MEMBER(suna8_banked_spriteram_w);
+ DECLARE_DRIVER_INIT(brickzn3);
+ DECLARE_DRIVER_INIT(starfigh);
+ DECLARE_DRIVER_INIT(hardhea2);
+ DECLARE_DRIVER_INIT(hardhedb);
+ DECLARE_DRIVER_INIT(sparkman);
+ DECLARE_DRIVER_INIT(brickzn);
+ DECLARE_DRIVER_INIT(hardhead);
+ DECLARE_DRIVER_INIT(suna8);
};
diff --git a/src/mame/includes/superchs.h b/src/mame/includes/superchs.h
index c1dbe2fa602..29ca298d48c 100644
--- a/src/mame/includes/superchs.h
+++ b/src/mame/includes/superchs.h
@@ -36,6 +36,7 @@ public:
DECLARE_WRITE32_MEMBER(superchs_stick_w);
DECLARE_READ32_MEMBER(main_cycle_r);
DECLARE_READ16_MEMBER(sub_cycle_r);
+ DECLARE_DRIVER_INIT(superchs);
};
diff --git a/src/mame/includes/superqix.h b/src/mame/includes/superqix.h
index dcf45ffb8d2..1f0cb680cc0 100644
--- a/src/mame/includes/superqix.h
+++ b/src/mame/includes/superqix.h
@@ -67,6 +67,9 @@ public:
DECLARE_READ8_MEMBER(bootleg_in0_r);
DECLARE_READ8_MEMBER(hotsmash_ay_port_a_r);
DECLARE_READ8_MEMBER(pbillian_ay_port_a_r);
+ DECLARE_DRIVER_INIT(sqix);
+ DECLARE_DRIVER_INIT(perestro);
+ DECLARE_DRIVER_INIT(sqixa);
};
diff --git a/src/mame/includes/suprloco.h b/src/mame/includes/suprloco.h
index b77ebd21275..99441b09afd 100644
--- a/src/mame/includes/suprloco.h
+++ b/src/mame/includes/suprloco.h
@@ -18,6 +18,7 @@ public:
DECLARE_WRITE8_MEMBER(suprloco_scrollram_w);
DECLARE_WRITE8_MEMBER(suprloco_control_w);
DECLARE_READ8_MEMBER(suprloco_control_r);
+ DECLARE_DRIVER_INIT(suprloco);
};
diff --git a/src/mame/includes/suprnova.h b/src/mame/includes/suprnova.h
index 005c7fd4fb5..04fc867404b 100644
--- a/src/mame/includes/suprnova.h
+++ b/src/mame/includes/suprnova.h
@@ -105,6 +105,25 @@ public:
DECLARE_WRITE32_MEMBER(skns_tilemapB_w);
DECLARE_WRITE32_MEMBER(skns_v3_regs_w);
DECLARE_CUSTOM_INPUT_MEMBER(paddle_r);
+ DECLARE_DRIVER_INIT(sengekis);
+ DECLARE_DRIVER_INIT(cyvern);
+ DECLARE_DRIVER_INIT(puzzloopa);
+ DECLARE_DRIVER_INIT(teljan);
+ DECLARE_DRIVER_INIT(panicstr);
+ DECLARE_DRIVER_INIT(puzzloope);
+ DECLARE_DRIVER_INIT(sengekij);
+ DECLARE_DRIVER_INIT(puzzloopj);
+ DECLARE_DRIVER_INIT(sarukani);
+ DECLARE_DRIVER_INIT(gutsn);
+ DECLARE_DRIVER_INIT(jjparad2);
+ DECLARE_DRIVER_INIT(galpans3);
+ DECLARE_DRIVER_INIT(jjparads);
+ DECLARE_DRIVER_INIT(galpans2);
+ DECLARE_DRIVER_INIT(galpanis);
+ DECLARE_DRIVER_INIT(puzzloopu);
+ DECLARE_DRIVER_INIT(senknow);
+ DECLARE_DRIVER_INIT(galpani4);
+ DECLARE_DRIVER_INIT(ryouran);
};
diff --git a/src/mame/includes/system1.h b/src/mame/includes/system1.h
index 0f3a488d77a..1e3aae7a0eb 100644
--- a/src/mame/includes/system1.h
+++ b/src/mame/includes/system1.h
@@ -63,6 +63,41 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(dakkochn_mux_data_r);
DECLARE_CUSTOM_INPUT_MEMBER(dakkochn_mux_status_r);
DECLARE_WRITE8_MEMBER(sound_control_w);
+ DECLARE_DRIVER_INIT(nobb);
+ DECLARE_DRIVER_INIT(wboy2);
+ DECLARE_DRIVER_INIT(imsorry);
+ DECLARE_DRIVER_INIT(pitfall2);
+ DECLARE_DRIVER_INIT(dakkochn);
+ DECLARE_DRIVER_INIT(bootleg);
+ DECLARE_DRIVER_INIT(wboysys2);
+ DECLARE_DRIVER_INIT(shtngmst);
+ DECLARE_DRIVER_INIT(wboyo);
+ DECLARE_DRIVER_INIT(swat);
+ DECLARE_DRIVER_INIT(regulus);
+ DECLARE_DRIVER_INIT(bank0c);
+ DECLARE_DRIVER_INIT(blockgal);
+ DECLARE_DRIVER_INIT(nob);
+ DECLARE_DRIVER_INIT(mrviking);
+ DECLARE_DRIVER_INIT(teddybb);
+ DECLARE_DRIVER_INIT(flicky);
+ DECLARE_DRIVER_INIT(bank44);
+ DECLARE_DRIVER_INIT(myherok);
+ DECLARE_DRIVER_INIT(wmatch);
+ DECLARE_DRIVER_INIT(bank00);
+ DECLARE_DRIVER_INIT(myheroj);
+ DECLARE_DRIVER_INIT(ufosensi);
+ DECLARE_DRIVER_INIT(nprinces);
+ DECLARE_DRIVER_INIT(wbml);
+ DECLARE_DRIVER_INIT(bootsys2);
+ DECLARE_DRIVER_INIT(bullfgtj);
+ DECLARE_DRIVER_INIT(wboy);
+ DECLARE_DRIVER_INIT(hvymetal);
+ DECLARE_DRIVER_INIT(gardiab);
+ DECLARE_DRIVER_INIT(4dwarrio);
+ DECLARE_DRIVER_INIT(choplift);
+ DECLARE_DRIVER_INIT(seganinj);
+ DECLARE_DRIVER_INIT(gardia);
+ DECLARE_DRIVER_INIT(spatter);
};
diff --git a/src/mame/includes/system16.h b/src/mame/includes/system16.h
index d0c15b2fa71..d27fe627e6f 100644
--- a/src/mame/includes/system16.h
+++ b/src/mame/includes/system16.h
@@ -151,6 +151,22 @@ public:
DECLARE_WRITE16_MEMBER(s16a_bootleg_fgscrollx_w);
DECLARE_WRITE16_MEMBER(s16a_bootleg_tilemapselect_w);
DECLARE_WRITE8_MEMBER(upd7759_bank_w);
+ DECLARE_DRIVER_INIT(passsht);
+ DECLARE_DRIVER_INIT(wb3bbl);
+ DECLARE_DRIVER_INIT(fpointbl);
+ DECLARE_DRIVER_INIT(eswatbl);
+ DECLARE_DRIVER_INIT(astormbl);
+ DECLARE_DRIVER_INIT(shdancbl);
+ DECLARE_DRIVER_INIT(dduxbl);
+ DECLARE_DRIVER_INIT(goldnaxeb2);
+ DECLARE_DRIVER_INIT(bayrouteb1);
+ DECLARE_DRIVER_INIT(beautyb);
+ DECLARE_DRIVER_INIT(mwalkbl);
+ DECLARE_DRIVER_INIT(bayrouteb2);
+ DECLARE_DRIVER_INIT(shinobl);
+ DECLARE_DRIVER_INIT(tturfbl);
+ DECLARE_DRIVER_INIT(goldnaxeb1);
+ DECLARE_DRIVER_INIT(common);
};
/*----------- defined in video/system16.c -----------*/
diff --git a/src/mame/includes/taito_b.h b/src/mame/includes/taito_b.h
index c54baaf52b8..fe0cb0305a3 100644
--- a/src/mame/includes/taito_b.h
+++ b/src/mame/includes/taito_b.h
@@ -60,6 +60,7 @@ public:
DECLARE_READ16_MEMBER(tc0180vcu_framebuffer_word_r);
DECLARE_WRITE16_MEMBER(tc0180vcu_framebuffer_word_w);
DECLARE_INPUT_CHANGED_MEMBER(realpunc_sensor);
+ DECLARE_DRIVER_INIT(taito_b);
};
diff --git a/src/mame/includes/taito_f2.h b/src/mame/includes/taito_f2.h
index ffffbdff4fd..b61fabfa874 100644
--- a/src/mame/includes/taito_f2.h
+++ b/src/mame/includes/taito_f2.h
@@ -99,6 +99,10 @@ public:
DECLARE_WRITE16_MEMBER(taitof2_spritebank_w);
DECLARE_WRITE16_MEMBER(koshien_spritebank_w);
DECLARE_WRITE8_MEMBER(cameltrya_porta_w);
+ DECLARE_DRIVER_INIT(driveout);
+ DECLARE_DRIVER_INIT(cameltry);
+ DECLARE_DRIVER_INIT(mjnquest);
+ DECLARE_DRIVER_INIT(finalb);
};
/*----------- defined in video/taito_f2.c -----------*/
diff --git a/src/mame/includes/taito_f3.h b/src/mame/includes/taito_f3.h
index 08a8ab9bec8..9c44b340366 100644
--- a/src/mame/includes/taito_f3.h
+++ b/src/mame/includes/taito_f3.h
@@ -220,6 +220,44 @@ public:
DECLARE_WRITE32_MEMBER(f3_palette_24bit_w);
DECLARE_CUSTOM_INPUT_MEMBER(f3_analog_r);
DECLARE_CUSTOM_INPUT_MEMBER(f3_coin_r);
+ DECLARE_DRIVER_INIT(commandw);
+ DECLARE_DRIVER_INIT(pbobble2);
+ DECLARE_DRIVER_INIT(puchicar);
+ DECLARE_DRIVER_INIT(intcup94);
+ DECLARE_DRIVER_INIT(landmakr);
+ DECLARE_DRIVER_INIT(twinqix);
+ DECLARE_DRIVER_INIT(elvactr);
+ DECLARE_DRIVER_INIT(arabianm);
+ DECLARE_DRIVER_INIT(bubsympb);
+ DECLARE_DRIVER_INIT(ktiger2);
+ DECLARE_DRIVER_INIT(lightbr);
+ DECLARE_DRIVER_INIT(gekirido);
+ DECLARE_DRIVER_INIT(arkretrn);
+ DECLARE_DRIVER_INIT(kirameki);
+ DECLARE_DRIVER_INIT(qtheater);
+ DECLARE_DRIVER_INIT(popnpop);
+ DECLARE_DRIVER_INIT(spcinvdj);
+ DECLARE_DRIVER_INIT(pbobbl2p);
+ DECLARE_DRIVER_INIT(landmkrp);
+ DECLARE_DRIVER_INIT(bubblem);
+ DECLARE_DRIVER_INIT(ridingf);
+ DECLARE_DRIVER_INIT(gseeker);
+ DECLARE_DRIVER_INIT(bubsymph);
+ DECLARE_DRIVER_INIT(hthero95);
+ DECLARE_DRIVER_INIT(gunlock);
+ DECLARE_DRIVER_INIT(pbobble4);
+ DECLARE_DRIVER_INIT(dariusg);
+ DECLARE_DRIVER_INIT(recalh);
+ DECLARE_DRIVER_INIT(kaiserkn);
+ DECLARE_DRIVER_INIT(spcinv95);
+ DECLARE_DRIVER_INIT(trstaroj);
+ DECLARE_DRIVER_INIT(ringrage);
+ DECLARE_DRIVER_INIT(cupfinal);
+ DECLARE_DRIVER_INIT(quizhuhu);
+ DECLARE_DRIVER_INIT(pbobble3);
+ DECLARE_DRIVER_INIT(cleopatr);
+ DECLARE_DRIVER_INIT(scfinals);
+ DECLARE_DRIVER_INIT(pbobbl2x);
};
diff --git a/src/mame/includes/taito_l.h b/src/mame/includes/taito_l.h
index 6c071579cb9..310e6fcfe43 100644
--- a/src/mame/includes/taito_l.h
+++ b/src/mame/includes/taito_l.h
@@ -103,6 +103,7 @@ public:
DECLARE_WRITE8_MEMBER(champwr_msm5205_stop_w);
DECLARE_WRITE8_MEMBER(champwr_msm5205_volume_w);
DECLARE_WRITE8_MEMBER(portA_w);
+ DECLARE_DRIVER_INIT(plottinga);
};
/*----------- defined in video/taito_l.c -----------*/
diff --git a/src/mame/includes/taito_z.h b/src/mame/includes/taito_z.h
index 83e39d9add9..b2e1b5c391a 100644
--- a/src/mame/includes/taito_z.h
+++ b/src/mame/includes/taito_z.h
@@ -71,6 +71,8 @@ public:
DECLARE_WRITE16_MEMBER(sci_spriteframe_w);
DECLARE_WRITE16_MEMBER(contcirc_out_w);
DECLARE_CUSTOM_INPUT_MEMBER(taitoz_pedal_r);
+ DECLARE_DRIVER_INIT(taitoz);
+ DECLARE_DRIVER_INIT(bshark);
};
/*----------- defined in video/taito_z.c -----------*/
diff --git a/src/mame/includes/taitojc.h b/src/mame/includes/taitojc.h
index 947c7282fa4..1515e1ed829 100644
--- a/src/mame/includes/taitojc.h
+++ b/src/mame/includes/taitojc.h
@@ -153,6 +153,9 @@ public:
DECLARE_READ32_MEMBER(taitojc_char_r);
DECLARE_WRITE32_MEMBER(taitojc_tile_w);
DECLARE_WRITE32_MEMBER(taitojc_char_w);
+ DECLARE_DRIVER_INIT(dendego2);
+ DECLARE_DRIVER_INIT(dangcurv);
+ DECLARE_DRIVER_INIT(taitojc);
};
diff --git a/src/mame/includes/taitosj.h b/src/mame/includes/taitosj.h
index e13bf3dc536..3039da4aa8b 100644
--- a/src/mame/includes/taitosj.h
+++ b/src/mame/includes/taitosj.h
@@ -80,6 +80,11 @@ public:
DECLARE_WRITE8_MEMBER(input_port_4_f0_w);
DECLARE_WRITE8_MEMBER(dac_out_w);
DECLARE_WRITE8_MEMBER(dac_vol_w);
+ DECLARE_DRIVER_INIT(alpinea);
+ DECLARE_DRIVER_INIT(alpine);
+ DECLARE_DRIVER_INIT(taitosj);
+ DECLARE_DRIVER_INIT(junglhbr);
+ DECLARE_DRIVER_INIT(spacecr);
};
diff --git a/src/mame/includes/tank8.h b/src/mame/includes/tank8.h
index 06b30b24c1c..6022d19cd39 100644
--- a/src/mame/includes/tank8.h
+++ b/src/mame/includes/tank8.h
@@ -54,6 +54,7 @@ public:
DECLARE_WRITE8_MEMBER(tank8_bug_w);
DECLARE_WRITE8_MEMBER(tank8_attract_w);
DECLARE_WRITE8_MEMBER(tank8_motor_w);
+ DECLARE_DRIVER_INIT(decode);
};
diff --git a/src/mame/includes/tatsumi.h b/src/mame/includes/tatsumi.h
index eb718d5e6e0..d2b1aebe83b 100644
--- a/src/mame/includes/tatsumi.h
+++ b/src/mame/includes/tatsumi.h
@@ -109,6 +109,9 @@ public:
DECLARE_WRITE16_MEMBER(cyclwarr_videoram0_w);
DECLARE_WRITE16_MEMBER(cyclwarr_videoram1_w);
DECLARE_WRITE16_MEMBER(roundup5_crt_w);
+ DECLARE_DRIVER_INIT(roundup5);
+ DECLARE_DRIVER_INIT(apache3);
+ DECLARE_DRIVER_INIT(cyclwarr);
};
diff --git a/src/mame/includes/tecmo.h b/src/mame/includes/tecmo.h
index a9474f739a2..0f064bfbb30 100644
--- a/src/mame/includes/tecmo.h
+++ b/src/mame/includes/tecmo.h
@@ -37,6 +37,10 @@ public:
DECLARE_WRITE8_MEMBER(tecmo_flipscreen_w);
DECLARE_WRITE8_MEMBER(tecmo_adpcm_start_w);
DECLARE_WRITE8_MEMBER(tecmo_adpcm_vol_w);
+ DECLARE_DRIVER_INIT(silkworm);
+ DECLARE_DRIVER_INIT(rygar);
+ DECLARE_DRIVER_INIT(backfirt);
+ DECLARE_DRIVER_INIT(gemini);
};
diff --git a/src/mame/includes/tecmosys.h b/src/mame/includes/tecmosys.h
index 26ce5c24455..a2a0e64815a 100644
--- a/src/mame/includes/tecmosys.h
+++ b/src/mame/includes/tecmosys.h
@@ -70,6 +70,9 @@ public:
DECLARE_WRITE16_MEMBER(bg2_tilemap_lineram_w);
DECLARE_READ16_MEMBER(eeprom_r);
DECLARE_WRITE16_MEMBER(eeprom_w);
+ DECLARE_DRIVER_INIT(tkdensha);
+ DECLARE_DRIVER_INIT(deroon);
+ DECLARE_DRIVER_INIT(tkdensho);
};
diff --git a/src/mame/includes/tehkanwc.h b/src/mame/includes/tehkanwc.h
index 1d6ce420253..b16f8015c21 100644
--- a/src/mame/includes/tehkanwc.h
+++ b/src/mame/includes/tehkanwc.h
@@ -42,6 +42,7 @@ public:
DECLARE_WRITE8_MEMBER(tehkanwc_portA_w);
DECLARE_WRITE8_MEMBER(tehkanwc_portB_w);
DECLARE_WRITE8_MEMBER(msm_reset_w);
+ DECLARE_DRIVER_INIT(teedoff);
};
diff --git a/src/mame/includes/terracre.h b/src/mame/includes/terracre.h
index e6290e801d0..98b50ef7c0c 100644
--- a/src/mame/includes/terracre.h
+++ b/src/mame/includes/terracre.h
@@ -28,6 +28,9 @@ public:
DECLARE_WRITE16_MEMBER(amazon_flipscreen_w);
DECLARE_WRITE16_MEMBER(amazon_scrolly_w);
DECLARE_WRITE16_MEMBER(amazon_scrollx_w);
+ DECLARE_DRIVER_INIT(amazon);
+ DECLARE_DRIVER_INIT(amatelas);
+ DECLARE_DRIVER_INIT(horekid);
};
diff --git a/src/mame/includes/tetrisp2.h b/src/mame/includes/tetrisp2.h
index 843beac0c56..c268a5a1ace 100644
--- a/src/mame/includes/tetrisp2.h
+++ b/src/mame/includes/tetrisp2.h
@@ -90,6 +90,11 @@ public:
DECLARE_WRITE16_MEMBER(rocknms_sub_vram_fg_w);
DECLARE_WRITE16_MEMBER(rocknms_sub_vram_rot_w);
DECLARE_CUSTOM_INPUT_MEMBER(rocknms_main2sub_status_r);
+ DECLARE_DRIVER_INIT(rockn2);
+ DECLARE_DRIVER_INIT(rockn1);
+ DECLARE_DRIVER_INIT(rockn);
+ DECLARE_DRIVER_INIT(rockn3);
+ DECLARE_DRIVER_INIT(rocknms);
};
class stepstag_state : public tetrisp2_state
@@ -107,6 +112,7 @@ public:
DECLARE_WRITE16_MEMBER(stepstag_soundlatch_word_w);
DECLARE_WRITE16_MEMBER(stepstag_leds_w);
DECLARE_WRITE16_MEMBER( stepstag_palette_w );
+ DECLARE_DRIVER_INIT(stepstag);
};
/*----------- defined in video/tetrisp2.c -----------*/
diff --git a/src/mame/includes/thepit.h b/src/mame/includes/thepit.h
index 6a1565eba8e..1d6087ce6b3 100644
--- a/src/mame/includes/thepit.h
+++ b/src/mame/includes/thepit.h
@@ -32,6 +32,7 @@ public:
DECLARE_WRITE8_MEMBER(thepit_flip_screen_y_w);
DECLARE_WRITE8_MEMBER(intrepid_graphics_bank_w);
DECLARE_READ8_MEMBER(thepit_input_port_0_r);
+ DECLARE_DRIVER_INIT(rtriv);
};
diff --git a/src/mame/includes/thief.h b/src/mame/includes/thief.h
index f8a64d5797c..434180db8eb 100644
--- a/src/mame/includes/thief.h
+++ b/src/mame/includes/thief.h
@@ -31,6 +31,7 @@ public:
DECLARE_READ8_MEMBER(thief_coprocessor_r);
DECLARE_WRITE8_MEMBER(thief_coprocessor_w);
DECLARE_WRITE8_MEMBER(tape_control_w);
+ DECLARE_DRIVER_INIT(thief);
};
diff --git a/src/mame/includes/thunderj.h b/src/mame/includes/thunderj.h
index 59a009784f8..9e20b46c0ed 100644
--- a/src/mame/includes/thunderj.h
+++ b/src/mame/includes/thunderj.h
@@ -17,6 +17,7 @@ public:
DECLARE_WRITE16_MEMBER(latch_w);
DECLARE_READ16_MEMBER(thunderj_atarivc_r);
DECLARE_WRITE16_MEMBER(thunderj_atarivc_w);
+ DECLARE_DRIVER_INIT(thunderj);
};
diff --git a/src/mame/includes/tigeroad.h b/src/mame/includes/tigeroad.h
index 26a9cccd2f6..b3d803d51e9 100644
--- a/src/mame/includes/tigeroad.h
+++ b/src/mame/includes/tigeroad.h
@@ -21,6 +21,8 @@ public:
DECLARE_WRITE16_MEMBER(tigeroad_videoctrl_w);
DECLARE_WRITE16_MEMBER(tigeroad_scroll_w);
DECLARE_WRITE8_MEMBER(msm5205_w);
+ DECLARE_DRIVER_INIT(f1dream);
+ DECLARE_DRIVER_INIT(tigeroad);
};
diff --git a/src/mame/includes/tmnt.h b/src/mame/includes/tmnt.h
index 2136941a9c8..d5d33a3b31e 100644
--- a/src/mame/includes/tmnt.h
+++ b/src/mame/includes/tmnt.h
@@ -116,6 +116,9 @@ public:
DECLARE_WRITE8_MEMBER(glfgreat_sound_w);
DECLARE_WRITE8_MEMBER(tmnt_upd_start_w);
DECLARE_READ8_MEMBER(tmnt_upd_busy_r);
+ DECLARE_DRIVER_INIT(mia);
+ DECLARE_DRIVER_INIT(tmnt);
+ DECLARE_DRIVER_INIT(cuebrick);
};
diff --git a/src/mame/includes/tnzs.h b/src/mame/includes/tnzs.h
index cc1e57064f1..2455c15447a 100644
--- a/src/mame/includes/tnzs.h
+++ b/src/mame/includes/tnzs.h
@@ -81,6 +81,16 @@ public:
DECLARE_READ8_MEMBER(tnzs_ramrom_bank_r);
DECLARE_WRITE8_MEMBER(tnzs_ramrom_bank_w);
+ DECLARE_DRIVER_INIT(arknoid2);
+ DECLARE_DRIVER_INIT(extrmatn);
+ DECLARE_DRIVER_INIT(drtoppel);
+ DECLARE_DRIVER_INIT(kabukiz);
+ DECLARE_DRIVER_INIT(plumpop);
+ DECLARE_DRIVER_INIT(insectx);
+ DECLARE_DRIVER_INIT(tnzs);
+ DECLARE_DRIVER_INIT(kageki);
+ DECLARE_DRIVER_INIT(chukatai);
+ DECLARE_DRIVER_INIT(tnzsb);
};
@@ -88,16 +98,6 @@ public:
INTERRUPT_GEN( arknoid2_interrupt );
-DRIVER_INIT( plumpop );
-DRIVER_INIT( extrmatn );
-DRIVER_INIT( arknoid2 );
-DRIVER_INIT( drtoppel );
-DRIVER_INIT( chukatai );
-DRIVER_INIT( tnzs );
-DRIVER_INIT( tnzsb );
-DRIVER_INIT( kabukiz );
-DRIVER_INIT( insectx );
-DRIVER_INIT( kageki );
MACHINE_START( tnzs );
MACHINE_RESET( tnzs );
diff --git a/src/mame/includes/toaplan1.h b/src/mame/includes/toaplan1.h
index 6be545488bc..99aa6bce182 100644
--- a/src/mame/includes/toaplan1.h
+++ b/src/mame/includes/toaplan1.h
@@ -125,6 +125,9 @@ public:
DECLARE_WRITE16_MEMBER(toaplan1_tileram16_w);
DECLARE_READ16_MEMBER(toaplan1_scroll_regs_r);
DECLARE_WRITE16_MEMBER(toaplan1_scroll_regs_w);
+ DECLARE_DRIVER_INIT(toaplan1);
+ DECLARE_DRIVER_INIT(demonwld);
+ DECLARE_DRIVER_INIT(vimana);
};
diff --git a/src/mame/includes/toaplan2.h b/src/mame/includes/toaplan2.h
index 4fc073404a8..effed083375 100644
--- a/src/mame/includes/toaplan2.h
+++ b/src/mame/includes/toaplan2.h
@@ -101,6 +101,14 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(c2map_r);
DECLARE_WRITE16_MEMBER(oki_bankswitch_w);
DECLARE_WRITE16_MEMBER(oki1_bankswitch_w);
+ DECLARE_DRIVER_INIT(bbakraid);
+ DECLARE_DRIVER_INIT(pipibibsbl);
+ DECLARE_DRIVER_INIT(dogyuun);
+ DECLARE_DRIVER_INIT(fixeight);
+ DECLARE_DRIVER_INIT(bgaregga);
+ DECLARE_DRIVER_INIT(fixeightbl);
+ DECLARE_DRIVER_INIT(vfive);
+ DECLARE_DRIVER_INIT(batrider);
};
/*----------- defined in video/toaplan2.c -----------*/
diff --git a/src/mame/includes/toki.h b/src/mame/includes/toki.h
index 4413c8a9ce9..53ec18b0230 100644
--- a/src/mame/includes/toki.h
+++ b/src/mame/includes/toki.h
@@ -31,6 +31,9 @@ public:
DECLARE_WRITE16_MEMBER(toki_background1_videoram16_w);
DECLARE_WRITE16_MEMBER(toki_background2_videoram16_w);
DECLARE_WRITE8_MEMBER(toki_adpcm_control_w);
+ DECLARE_DRIVER_INIT(tokib);
+ DECLARE_DRIVER_INIT(jujuba);
+ DECLARE_DRIVER_INIT(toki);
};
diff --git a/src/mame/includes/toobin.h b/src/mame/includes/toobin.h
index 0ee6ca334fd..e0b4097537f 100644
--- a/src/mame/includes/toobin.h
+++ b/src/mame/includes/toobin.h
@@ -19,6 +19,7 @@ public:
bitmap_ind16 m_pfbitmap;
DECLARE_WRITE16_MEMBER(interrupt_scan_w);
DECLARE_READ16_MEMBER(special_port1_r);
+ DECLARE_DRIVER_INIT(toobin);
};
diff --git a/src/mame/includes/trackfld.h b/src/mame/includes/trackfld.h
index fbfa6a8e75b..b218f37f90b 100644
--- a/src/mame/includes/trackfld.h
+++ b/src/mame/includes/trackfld.h
@@ -47,6 +47,10 @@ public:
DECLARE_READ8_MEMBER(trackfld_speech_r);
DECLARE_WRITE8_MEMBER(trackfld_VLM5030_control_w);
+ DECLARE_DRIVER_INIT(trackfld);
+ DECLARE_DRIVER_INIT(atlantol);
+ DECLARE_DRIVER_INIT(wizzquiz);
+ DECLARE_DRIVER_INIT(mastkin);
};
diff --git a/src/mame/includes/travrusa.h b/src/mame/includes/travrusa.h
index ce60c8e12a8..213ca911839 100644
--- a/src/mame/includes/travrusa.h
+++ b/src/mame/includes/travrusa.h
@@ -17,6 +17,8 @@ public:
DECLARE_WRITE8_MEMBER(travrusa_scroll_x_low_w);
DECLARE_WRITE8_MEMBER(travrusa_scroll_x_high_w);
DECLARE_WRITE8_MEMBER(travrusa_flipscreen_w);
+ DECLARE_DRIVER_INIT(shtridra);
+ DECLARE_DRIVER_INIT(motorace);
};
/*----------- defined in video/travrusa.c -----------*/
diff --git a/src/mame/includes/triplhnt.h b/src/mame/includes/triplhnt.h
index cbddabca136..115bfc394dc 100644
--- a/src/mame/includes/triplhnt.h
+++ b/src/mame/includes/triplhnt.h
@@ -46,6 +46,7 @@ public:
DECLARE_READ8_MEMBER(triplhnt_input_port_4_r);
DECLARE_READ8_MEMBER(triplhnt_misc_r);
DECLARE_READ8_MEMBER(triplhnt_da_latch_r);
+ DECLARE_DRIVER_INIT(triplhnt);
};
diff --git a/src/mame/includes/trucocl.h b/src/mame/includes/trucocl.h
index d3271d720bf..aa6b42250e3 100644
--- a/src/mame/includes/trucocl.h
+++ b/src/mame/includes/trucocl.h
@@ -17,6 +17,7 @@ public:
DECLARE_WRITE8_MEMBER(trucocl_videoram_w);
DECLARE_WRITE8_MEMBER(trucocl_colorram_w);
DECLARE_WRITE8_MEMBER(audio_dac_w);
+ DECLARE_DRIVER_INIT(trucocl);
};
diff --git a/src/mame/includes/tumbleb.h b/src/mame/includes/tumbleb.h
index 9dc3f687486..7ff57dd0052 100644
--- a/src/mame/includes/tumbleb.h
+++ b/src/mame/includes/tumbleb.h
@@ -61,6 +61,17 @@ public:
DECLARE_WRITE16_MEMBER(pangpang_pf1_data_w);
DECLARE_WRITE16_MEMBER(pangpang_pf2_data_w);
DECLARE_WRITE16_MEMBER(tumbleb2_soundmcu_w);
+ DECLARE_DRIVER_INIT(dquizgo);
+ DECLARE_DRIVER_INIT(jumpkids);
+ DECLARE_DRIVER_INIT(htchctch);
+ DECLARE_DRIVER_INIT(wlstar);
+ DECLARE_DRIVER_INIT(suprtrio);
+ DECLARE_DRIVER_INIT(tumblepb);
+ DECLARE_DRIVER_INIT(bcstory);
+ DECLARE_DRIVER_INIT(wondl96);
+ DECLARE_DRIVER_INIT(tumbleb2);
+ DECLARE_DRIVER_INIT(chokchok);
+ DECLARE_DRIVER_INIT(fncywld);
};
/*----------- defined in video/tumbleb.c -----------*/
diff --git a/src/mame/includes/tumblep.h b/src/mame/includes/tumblep.h
index 16fdd8456fe..d0abad85e73 100644
--- a/src/mame/includes/tumblep.h
+++ b/src/mame/includes/tumblep.h
@@ -28,6 +28,7 @@ public:
DECLARE_WRITE16_MEMBER(jumppop_sound_w);
DECLARE_READ16_MEMBER(tumblepop_controls_r);
DECLARE_WRITE16_MEMBER(tumblep_oki_w);
+ DECLARE_DRIVER_INIT(tumblep);
};
diff --git a/src/mame/includes/turbo.h b/src/mame/includes/turbo.h
index 8d37eb1f044..5e7b0e76cf9 100644
--- a/src/mame/includes/turbo.h
+++ b/src/mame/includes/turbo.h
@@ -119,6 +119,8 @@ public:
DECLARE_WRITE8_MEMBER(buckrog_ppi1c_w);
DECLARE_READ8_MEMBER(turbo_analog_r);
DECLARE_WRITE8_MEMBER(buckrog_i8255_0_w);
+ DECLARE_DRIVER_INIT(buckrog_enc);
+ DECLARE_DRIVER_INIT(turbo_enc);
};
diff --git a/src/mame/includes/twin16.h b/src/mame/includes/twin16.h
index a8eb1df618a..8c1c99400ae 100644
--- a/src/mame/includes/twin16.h
+++ b/src/mame/includes/twin16.h
@@ -54,6 +54,9 @@ public:
DECLARE_READ8_MEMBER(twin16_upd_busy_r);
DECLARE_WRITE8_MEMBER(twin16_upd_reset_w);
DECLARE_WRITE8_MEMBER(twin16_upd_start_w);
+ DECLARE_DRIVER_INIT(fround);
+ DECLARE_DRIVER_INIT(twin16);
+ DECLARE_DRIVER_INIT(cuebrickj);
};
diff --git a/src/mame/includes/twincobr.h b/src/mame/includes/twincobr.h
index 6872ddd54ee..22a244857de 100644
--- a/src/mame/includes/twincobr.h
+++ b/src/mame/includes/twincobr.h
@@ -97,6 +97,7 @@ public:
DECLARE_WRITE8_MEMBER(wardner_videoram_w);
DECLARE_READ8_MEMBER(wardner_sprite_r);
DECLARE_WRITE8_MEMBER(wardner_sprite_w);
+ DECLARE_DRIVER_INIT(twincobr);
};
diff --git a/src/mame/includes/undrfire.h b/src/mame/includes/undrfire.h
index c3e2d24b766..3fb824e9bfd 100644
--- a/src/mame/includes/undrfire.h
+++ b/src/mame/includes/undrfire.h
@@ -40,6 +40,8 @@ public:
DECLARE_READ32_MEMBER(cbombers_adc_r);
DECLARE_WRITE32_MEMBER(cbombers_adc_w);
DECLARE_CUSTOM_INPUT_MEMBER(frame_counter_r);
+ DECLARE_DRIVER_INIT(undrfire);
+ DECLARE_DRIVER_INIT(cbombers);
};
diff --git a/src/mame/includes/vaportra.h b/src/mame/includes/vaportra.h
index 4cd2bd83279..477bc65540a 100644
--- a/src/mame/includes/vaportra.h
+++ b/src/mame/includes/vaportra.h
@@ -34,6 +34,7 @@ public:
DECLARE_WRITE16_MEMBER(vaportra_priority_w);
DECLARE_WRITE16_MEMBER(vaportra_palette_24bit_rg_w);
DECLARE_WRITE16_MEMBER(vaportra_palette_24bit_b_w);
+ DECLARE_DRIVER_INIT(vaportra);
};
diff --git a/src/mame/includes/vectrex.h b/src/mame/includes/vectrex.h
index eef512dedb7..11361470757 100644
--- a/src/mame/includes/vectrex.h
+++ b/src/mame/includes/vectrex.h
@@ -66,6 +66,7 @@ public:
DECLARE_READ8_MEMBER(vectrex_via_r);
DECLARE_WRITE8_MEMBER(vectrex_via_w);
DECLARE_WRITE8_MEMBER(raaspec_led_w);
+ DECLARE_DRIVER_INIT(vectrex);
};
@@ -80,7 +81,6 @@ READ8_DEVICE_HANDLER (vectrex_via_pa_r);
READ8_DEVICE_HANDLER(vectrex_via_pb_r );
void vectrex_via_irq (device_t *device, int level);
-DRIVER_INIT( vectrex );
/* for spectrum 1+ */
READ8_DEVICE_HANDLER( vectrex_s1_via_pb_r );
diff --git a/src/mame/includes/vendetta.h b/src/mame/includes/vendetta.h
index c029b660e5b..7c0db36d538 100644
--- a/src/mame/includes/vendetta.h
+++ b/src/mame/includes/vendetta.h
@@ -39,6 +39,8 @@ public:
DECLARE_WRITE8_MEMBER(z80_irq_w);
DECLARE_READ8_MEMBER(vendetta_sound_interrupt_r);
DECLARE_READ8_MEMBER(vendetta_sound_r);
+ DECLARE_DRIVER_INIT(vendetta);
+ DECLARE_DRIVER_INIT(esckids);
};
/*----------- defined in video/vendetta.c -----------*/
diff --git a/src/mame/includes/vindictr.h b/src/mame/includes/vindictr.h
index 889577350cb..3659ebff345 100644
--- a/src/mame/includes/vindictr.h
+++ b/src/mame/includes/vindictr.h
@@ -16,6 +16,7 @@ public:
UINT16 m_playfield_xscroll;
UINT16 m_playfield_yscroll;
DECLARE_READ16_MEMBER(port1_r);
+ DECLARE_DRIVER_INIT(vindictr);
};
diff --git a/src/mame/includes/vsnes.h b/src/mame/includes/vsnes.h
index ef7a055d988..17121705ae6 100644
--- a/src/mame/includes/vsnes.h
+++ b/src/mame/includes/vsnes.h
@@ -77,6 +77,20 @@ public:
DECLARE_READ8_MEMBER(psg2_4015_r);
DECLARE_WRITE8_MEMBER(psg2_4015_w);
DECLARE_WRITE8_MEMBER(psg2_4017_w);
+ DECLARE_DRIVER_INIT(vskonami);
+ DECLARE_DRIVER_INIT(vsvram);
+ DECLARE_DRIVER_INIT(bnglngby);
+ DECLARE_DRIVER_INIT(drmario);
+ DECLARE_DRIVER_INIT(MMC3);
+ DECLARE_DRIVER_INIT(vsfdf);
+ DECLARE_DRIVER_INIT(tkoboxng);
+ DECLARE_DRIVER_INIT(vsgun);
+ DECLARE_DRIVER_INIT(supxevs);
+ DECLARE_DRIVER_INIT(vsgshoe);
+ DECLARE_DRIVER_INIT(vsnormal);
+ DECLARE_DRIVER_INIT(platoon);
+ DECLARE_DRIVER_INIT(rbibb);
+ DECLARE_DRIVER_INIT(vsdual);
};
@@ -100,18 +114,4 @@ MACHINE_RESET( vsdual );
MACHINE_START( vsnes );
MACHINE_START( vsdual );
-DRIVER_INIT( vsnormal );
-DRIVER_INIT( vsgun );
-DRIVER_INIT( vskonami );
-DRIVER_INIT( vsvram );
-DRIVER_INIT( drmario );
-DRIVER_INIT( rbibb );
-DRIVER_INIT( tkoboxng );
-DRIVER_INIT( MMC3 );
-DRIVER_INIT( platoon );
-DRIVER_INIT( supxevs );
-DRIVER_INIT( bnglngby );
-DRIVER_INIT( vsgshoe );
-DRIVER_INIT( vsfdf );
-DRIVER_INIT( vsdual );
diff --git a/src/mame/includes/warpwarp.h b/src/mame/includes/warpwarp.h
index aaf82f2cda1..311b65b783c 100644
--- a/src/mame/includes/warpwarp.h
+++ b/src/mame/includes/warpwarp.h
@@ -29,6 +29,13 @@ public:
DECLARE_WRITE8_MEMBER(warpwarp_videoram_w);
DECLARE_READ8_MEMBER(warpwarp_dsw1_r);
DECLARE_READ8_MEMBER(warpwarp_vol_r);
+ DECLARE_DRIVER_INIT(navarone);
+ DECLARE_DRIVER_INIT(geebee);
+ DECLARE_DRIVER_INIT(kaitein);
+ DECLARE_DRIVER_INIT(warpwarp);
+ DECLARE_DRIVER_INIT(sos);
+ DECLARE_DRIVER_INIT(kaitei);
+ DECLARE_DRIVER_INIT(bombbee);
};
diff --git a/src/mame/includes/wecleman.h b/src/mame/includes/wecleman.h
index 9176ceebefd..3c46c377f5e 100644
--- a/src/mame/includes/wecleman.h
+++ b/src/mame/includes/wecleman.h
@@ -67,6 +67,8 @@ public:
DECLARE_WRITE8_MEMBER(hotchase_2_k007232_w);
DECLARE_READ8_MEMBER(hotchase_3_k007232_r);
DECLARE_WRITE8_MEMBER(hotchase_3_k007232_w);
+ DECLARE_DRIVER_INIT(wecleman);
+ DECLARE_DRIVER_INIT(hotchase);
};
diff --git a/src/mame/includes/welltris.h b/src/mame/includes/welltris.h
index 76e76fc1008..3a2234a6af6 100644
--- a/src/mame/includes/welltris.h
+++ b/src/mame/includes/welltris.h
@@ -31,6 +31,8 @@ public:
DECLARE_WRITE16_MEMBER(welltris_charvideoram_w);
void setbank(int num, int bank);
DECLARE_CUSTOM_INPUT_MEMBER(pending_sound_r);
+ DECLARE_DRIVER_INIT(quiz18k);
+ DECLARE_DRIVER_INIT(welltris);
};
diff --git a/src/mame/includes/wgp.h b/src/mame/includes/wgp.h
index fa26105f308..b9eaab153c9 100644
--- a/src/mame/includes/wgp.h
+++ b/src/mame/includes/wgp.h
@@ -59,6 +59,8 @@ public:
DECLARE_WRITE16_MEMBER(wgp_pivram_word_w);
DECLARE_READ16_MEMBER(wgp_piv_ctrl_word_r);
DECLARE_WRITE16_MEMBER(wgp_piv_ctrl_word_w);
+ DECLARE_DRIVER_INIT(wgp);
+ DECLARE_DRIVER_INIT(wgp2);
};
diff --git a/src/mame/includes/williams.h b/src/mame/includes/williams.h
index 74c7f8ec087..bd3a097caf1 100644
--- a/src/mame/includes/williams.h
+++ b/src/mame/includes/williams.h
@@ -72,6 +72,24 @@ public:
DECLARE_WRITE8_MEMBER(williams_blitter_w);
DECLARE_WRITE8_MEMBER(williams2_blit_window_enable_w);
DECLARE_CUSTOM_INPUT_MEMBER(williams_mux_r);
+ DECLARE_DRIVER_INIT(sinistar);
+ DECLARE_DRIVER_INIT(blaster);
+ DECLARE_DRIVER_INIT(stargate);
+ DECLARE_DRIVER_INIT(playball);
+ DECLARE_DRIVER_INIT(defender);
+ DECLARE_DRIVER_INIT(mayday);
+ DECLARE_DRIVER_INIT(mysticm);
+ DECLARE_DRIVER_INIT(lottofun);
+ DECLARE_DRIVER_INIT(alienaru);
+ DECLARE_DRIVER_INIT(defndjeu);
+ DECLARE_DRIVER_INIT(spdball);
+ DECLARE_DRIVER_INIT(inferno);
+ DECLARE_DRIVER_INIT(splat);
+ DECLARE_DRIVER_INIT(joust);
+ DECLARE_DRIVER_INIT(alienar);
+ DECLARE_DRIVER_INIT(tshoot);
+ DECLARE_DRIVER_INIT(robotron);
+ DECLARE_DRIVER_INIT(bubbles);
};
@@ -83,6 +101,7 @@ public:
m_cvsd_sound(*this, "cvsd") { }
required_device<williams_cvsd_sound_device> m_cvsd_sound;
+ DECLARE_DRIVER_INIT(joust2);
};
/*----------- defined in drivers/williams.c -----------*/
diff --git a/src/mame/includes/wiz.h b/src/mame/includes/wiz.h
index 3811c0000de..2575ba254bd 100644
--- a/src/mame/includes/wiz.h
+++ b/src/mame/includes/wiz.h
@@ -42,6 +42,9 @@ public:
DECLARE_WRITE8_MEMBER(wiz_char_bank_select_w);
DECLARE_WRITE8_MEMBER(wiz_flipx_w);
DECLARE_WRITE8_MEMBER(wiz_flipy_w);
+ DECLARE_DRIVER_INIT(wiz);
+ DECLARE_DRIVER_INIT(scion);
+ DECLARE_DRIVER_INIT(stinger);
};
diff --git a/src/mame/includes/xexex.h b/src/mame/includes/xexex.h
index e75b6c4f077..b32f78346a0 100644
--- a/src/mame/includes/xexex.h
+++ b/src/mame/includes/xexex.h
@@ -60,6 +60,7 @@ public:
DECLARE_WRITE16_MEMBER(sound_irq_w);
DECLARE_READ16_MEMBER(sound_status_r);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
+ DECLARE_DRIVER_INIT(xexex);
};
diff --git a/src/mame/includes/xorworld.h b/src/mame/includes/xorworld.h
index 74a03778235..b3861d2afd2 100644
--- a/src/mame/includes/xorworld.h
+++ b/src/mame/includes/xorworld.h
@@ -15,6 +15,7 @@ public:
DECLARE_WRITE16_MEMBER(eeprom_chip_select_w);
DECLARE_WRITE16_MEMBER(eeprom_serial_clock_w);
DECLARE_WRITE16_MEMBER(eeprom_data_w);
+ DECLARE_DRIVER_INIT(xorworld);
};
diff --git a/src/mame/includes/xybots.h b/src/mame/includes/xybots.h
index 6ce280fab92..253e53c08ab 100644
--- a/src/mame/includes/xybots.h
+++ b/src/mame/includes/xybots.h
@@ -14,6 +14,7 @@ public:
UINT16 m_h256;
DECLARE_READ16_MEMBER(special_port1_r);
+ DECLARE_DRIVER_INIT(xybots);
};
diff --git a/src/mame/includes/yunsun16.h b/src/mame/includes/yunsun16.h
index f491e9f46fc..2084ff0ec45 100644
--- a/src/mame/includes/yunsun16.h
+++ b/src/mame/includes/yunsun16.h
@@ -37,6 +37,7 @@ public:
DECLARE_WRITE16_MEMBER(magicbub_sound_command_w);
DECLARE_WRITE16_MEMBER(yunsun16_vram_0_w);
DECLARE_WRITE16_MEMBER(yunsun16_vram_1_w);
+ DECLARE_DRIVER_INIT(magicbub);
};
diff --git a/src/mame/includes/zaxxon.h b/src/mame/includes/zaxxon.h
index cd40e3c8659..bd5e579f700 100644
--- a/src/mame/includes/zaxxon.h
+++ b/src/mame/includes/zaxxon.h
@@ -55,6 +55,10 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(zaxxon_coin_r);
DECLARE_INPUT_CHANGED_MEMBER(service_switch);
DECLARE_INPUT_CHANGED_MEMBER(zaxxon_coin_inserted);
+ DECLARE_DRIVER_INIT(razmataz);
+ DECLARE_DRIVER_INIT(futspy);
+ DECLARE_DRIVER_INIT(zaxxonj);
+ DECLARE_DRIVER_INIT(szaxxon);
};
diff --git a/src/mame/machine/beezer.c b/src/mame/machine/beezer.c
index 5c2ff564dac..d7d037d1b88 100644
--- a/src/mame/machine/beezer.c
+++ b/src/mame/machine/beezer.c
@@ -156,11 +156,10 @@ static WRITE8_DEVICE_HANDLER( b_via_1_pb_w )
// popmessage("via1 pb low write of 0x%02x is not supported! contact mamedev!", data&0x1f);
}
-DRIVER_INIT( beezer )
+DRIVER_INIT_MEMBER(beezer_state,beezer)
{
- beezer_state *state = machine.driver_data<beezer_state>();
- state->m_pbus = 0;
- state->m_banklatch = 0;
+ m_pbus = 0;
+ m_banklatch = 0;
}
WRITE8_MEMBER(beezer_state::beezer_bankswitch_w)
diff --git a/src/mame/machine/cclimber.c b/src/mame/machine/cclimber.c
index 91436bed849..d7aa9e54f9d 100644
--- a/src/mame/machine/cclimber.c
+++ b/src/mame/machine/cclimber.c
@@ -30,7 +30,7 @@ static void cclimber_decode(running_machine &machine, const UINT8 convtable[8][1
}
}
-DRIVER_INIT( cclimber )
+DRIVER_INIT_MEMBER(cclimber_state,cclimber)
{
static const UINT8 convtable[8][16] =
{
@@ -45,10 +45,10 @@ DRIVER_INIT( cclimber )
{ -1, -1,0x54,0x01,0x15,0x40,0x45,0x41,0x51,0x04,0x50,0x05,0x11,0x44,0x10,0x14 }
};
- cclimber_decode(machine, convtable);
+ cclimber_decode(machine(), convtable);
}
-DRIVER_INIT( cclimberj )
+DRIVER_INIT_MEMBER(cclimber_state,cclimberj)
{
static const UINT8 convtable[8][16] =
{
@@ -62,13 +62,13 @@ DRIVER_INIT( cclimberj )
{ 0x55,0x50,0x15,0x10,0x01,0x04,0x41,0x44,0x45,0x40,0x05,0x00,0x11,0x14,0x51,0x54 },
};
- cclimber_decode(machine, convtable);
+ cclimber_decode(machine(), convtable);
}
-DRIVER_INIT( ckongb )
+DRIVER_INIT_MEMBER(cclimber_state,ckongb)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A = 0x0000;A < 0x6000;A++) /* all the program ROMs are encrypted */
{
@@ -88,10 +88,10 @@ static void cannonb_patch(running_machine &machine)
}
#endif
-DRIVER_INIT( cannonb )
+DRIVER_INIT_MEMBER(cclimber_state,cannonb)
{
int A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A = 0x0000;A < 0x1000;A++) /* only first ROM is encrypted */
{
@@ -109,14 +109,14 @@ DRIVER_INIT( cannonb )
}
#if CANNONB_HACK
- cannonb_patch(machine);
+ cannonb_patch(machine());
#endif
}
-DRIVER_INIT( cannonb2 )
+DRIVER_INIT_MEMBER(cclimber_state,cannonb2)
{
#if CANNONB_HACK
- cannonb_patch(machine);
+ cannonb_patch(machine());
#endif
}
diff --git a/src/mame/machine/cps2crpt.c b/src/mame/machine/cps2crpt.c
index 00a1b47189f..0fe9125bdbd 100644
--- a/src/mame/machine/cps2crpt.c
+++ b/src/mame/machine/cps2crpt.c
@@ -990,9 +990,9 @@ static const struct game_keys keys_table[] =
-DRIVER_INIT( cps2crpt )
+DRIVER_INIT_MEMBER(cps_state,cps2crpt)
{
- const char *gamename = machine.system().name;
+ const char *gamename = machine().system().name;
const struct game_keys *k = &keys_table[0];
while (k->name)
@@ -1000,7 +1000,7 @@ DRIVER_INIT( cps2crpt )
if (strcmp(k->name, gamename) == 0)
{
// we have a proper key so use it to decrypt
- cps2_decrypt(machine, k->keys, k->upper_limit ? k->upper_limit : 0x400000);
+ cps2_decrypt(machine(), k->keys, k->upper_limit ? k->upper_limit : 0x400000);
break;
}
diff --git a/src/mame/machine/dec0.c b/src/mame/machine/dec0.c
index b47ef52bbf3..f9e93dd00ce 100644
--- a/src/mame/machine/dec0.c
+++ b/src/mame/machine/dec0.c
@@ -358,14 +358,13 @@ static void h6280_decrypt(running_machine &machine, const char *cputag)
RAM[i] = (RAM[i] & 0x7e) | ((RAM[i] & 0x1) << 7) | ((RAM[i] & 0x80) >> 7);
}
-DRIVER_INIT( hippodrm )
+DRIVER_INIT_MEMBER(dec0_state,hippodrm)
{
- UINT8 *RAM = machine.root_device().memregion("sub")->base();
- dec0_state *state = machine.driver_data<dec0_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x180000, 0x180fff, read16_delegate(FUNC(dec0_state::hippodrm_68000_share_r),state), write16_delegate(FUNC(dec0_state::hippodrm_68000_share_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xffc800, 0xffcfff, write16_delegate(FUNC(dec0_state::sprite_mirror_w),state));
+ UINT8 *RAM = machine().root_device().memregion("sub")->base();
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x180000, 0x180fff, read16_delegate(FUNC(dec0_state::hippodrm_68000_share_r),this), write16_delegate(FUNC(dec0_state::hippodrm_68000_share_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xffc800, 0xffcfff, write16_delegate(FUNC(dec0_state::sprite_mirror_w),this));
- h6280_decrypt(machine, "sub");
+ h6280_decrypt(machine(), "sub");
/* The protection cpu has additional memory mapped protection! */
RAM[0x189] = 0x60; /* RTS prot area */
@@ -374,37 +373,33 @@ DRIVER_INIT( hippodrm )
RAM[0x21a] = 0x60; /* RTS prot area */
}
-DRIVER_INIT( slyspy )
+DRIVER_INIT_MEMBER(dec0_state,slyspy)
{
- UINT8 *RAM = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("audiocpu")->base();
- h6280_decrypt(machine, "audiocpu");
+ h6280_decrypt(machine(), "audiocpu");
/* Slyspy sound cpu has some protection */
RAM[0xf2d] = 0xea;
RAM[0xf2e] = 0xea;
}
-DRIVER_INIT( robocop )
+DRIVER_INIT_MEMBER(dec0_state,robocop)
{
- dec0_state *state = machine.driver_data<dec0_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x180000, 0x180fff, read16_delegate(FUNC(dec0_state::robocop_68000_share_r),state), write16_delegate(FUNC(dec0_state::robocop_68000_share_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x180000, 0x180fff, read16_delegate(FUNC(dec0_state::robocop_68000_share_r),this), write16_delegate(FUNC(dec0_state::robocop_68000_share_w),this));
}
-DRIVER_INIT( baddudes )
+DRIVER_INIT_MEMBER(dec0_state,baddudes)
{
- dec0_state *state = machine.driver_data<dec0_state>();
- state->m_GAME = 2;
+ m_GAME = 2;
}
-DRIVER_INIT( hbarrel )
+DRIVER_INIT_MEMBER(dec0_state,hbarrel)
{
- dec0_state *state = machine.driver_data<dec0_state>();
- state->m_GAME = 1;
+ m_GAME = 1;
}
-DRIVER_INIT( birdtry )
+DRIVER_INIT_MEMBER(dec0_state,birdtry)
{
- dec0_state *state = machine.driver_data<dec0_state>();
- state->m_GAME=3;
+ m_GAME=3;
}
diff --git a/src/mame/machine/decocass.h b/src/mame/machine/decocass.h
index 28c062e4598..b7a59867438 100644
--- a/src/mame/machine/decocass.h
+++ b/src/mame/machine/decocass.h
@@ -116,6 +116,9 @@ public:
device_t *m_audiocpu;
device_t *m_mcu;
device_t *m_cassette;
+ DECLARE_DRIVER_INIT(decocass);
+ DECLARE_DRIVER_INIT(decocrom);
+ DECLARE_DRIVER_INIT(cdsteljn);
};
diff --git a/src/mame/machine/gaelco2.c b/src/mame/machine/gaelco2.c
index cc014cf14f9..c68e7110665 100644
--- a/src/mame/machine/gaelco2.c
+++ b/src/mame/machine/gaelco2.c
@@ -41,7 +41,7 @@ static void gaelco2_ROM16_split_gfx(running_machine &machine, const char *src_re
***************************************************************************/
-DRIVER_INIT( alighunt )
+DRIVER_INIT_MEMBER(gaelco2_state,alighunt)
{
/*
For "gfx2" we have this memory map:
@@ -62,20 +62,20 @@ DRIVER_INIT( alighunt )
*/
/* split ROM u48 */
- gaelco2_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0000000, 0x0400000, 0x0000000, 0x0400000);
+ gaelco2_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0000000, 0x0400000, 0x0000000, 0x0400000);
/* split ROM u47 */
- gaelco2_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0400000, 0x0400000, 0x0200000, 0x0600000);
+ gaelco2_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0400000, 0x0400000, 0x0200000, 0x0600000);
/* split ROM u50 */
- gaelco2_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0800000, 0x0400000, 0x0800000, 0x0c00000);
+ gaelco2_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0800000, 0x0400000, 0x0800000, 0x0c00000);
/* split ROM u49 */
- gaelco2_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0c00000, 0x0400000, 0x0a00000, 0x0e00000);
+ gaelco2_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0c00000, 0x0400000, 0x0a00000, 0x0e00000);
}
-DRIVER_INIT( touchgo )
+DRIVER_INIT_MEMBER(gaelco2_state,touchgo)
{
/*
For "gfx2" we have this memory map:
@@ -93,17 +93,17 @@ DRIVER_INIT( touchgo )
*/
/* split ROM ic65 */
- gaelco2_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0000000, 0x0400000, 0x0000000, 0x0400000);
+ gaelco2_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0000000, 0x0400000, 0x0000000, 0x0400000);
/* split ROM ic66 */
- gaelco2_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0400000, 0x0200000, 0x0200000, 0x0600000);
+ gaelco2_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0400000, 0x0200000, 0x0200000, 0x0600000);
/* split ROM ic67 */
- gaelco2_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0800000, 0x0400000, 0x0800000, 0x0c00000);
+ gaelco2_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0800000, 0x0400000, 0x0800000, 0x0c00000);
}
-DRIVER_INIT( snowboar )
+DRIVER_INIT_MEMBER(gaelco2_state,snowboar)
{
/*
For "gfx2" we have this memory map:
@@ -121,13 +121,13 @@ DRIVER_INIT( snowboar )
*/
/* split ROM sb44 */
- gaelco2_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0000000, 0x0400000, 0x0000000, 0x0400000);
+ gaelco2_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0000000, 0x0400000, 0x0000000, 0x0400000);
/* split ROM sb45 */
- gaelco2_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0400000, 0x0400000, 0x0200000, 0x0600000);
+ gaelco2_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0400000, 0x0400000, 0x0200000, 0x0600000);
/* split ROM sb46 */
- gaelco2_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0800000, 0x0400000, 0x0800000, 0x0c00000);
+ gaelco2_ROM16_split_gfx(machine(), "gfx2", "gfx1", 0x0800000, 0x0400000, 0x0800000, 0x0c00000);
}
/***************************************************************************
@@ -176,10 +176,9 @@ WRITE16_MEMBER(gaelco2_state::touchgo_coin_w)
***************************************************************************/
-DRIVER_INIT( bang )
+DRIVER_INIT_MEMBER(gaelco2_state,bang)
{
- gaelco2_state *state = machine.driver_data<gaelco2_state>();
- state->m_clr_gun_int = 0;
+ m_clr_gun_int = 0;
}
WRITE16_MEMBER(gaelco2_state::bang_clr_gun_int_w)
diff --git a/src/mame/machine/galaxold.c b/src/mame/machine/galaxold.c
index fd64b760692..fef06e6c2bc 100644
--- a/src/mame/machine/galaxold.c
+++ b/src/mame/machine/galaxold.c
@@ -164,13 +164,13 @@ WRITE8_MEMBER(galaxold_state::zigzag_sillyprotection_w)
}
}
-DRIVER_INIT( zigzag )
+DRIVER_INIT_MEMBER(galaxold_state,zigzag)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 2, &RAM[0x2000], 0x1000);
- machine.root_device().membank("bank2")->configure_entries(0, 2, &RAM[0x2000], 0x1000);
- machine.root_device().membank("bank1")->set_entry(0);
- machine.root_device().membank("bank2")->set_entry(1);
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 2, &RAM[0x2000], 0x1000);
+ machine().root_device().membank("bank2")->configure_entries(0, 2, &RAM[0x2000], 0x1000);
+ machine().root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank2")->set_entry(1);
}
@@ -191,10 +191,10 @@ READ8_MEMBER(galaxold_state::dingoe_3001_r)
}
-DRIVER_INIT( dingoe )
+DRIVER_INIT_MEMBER(galaxold_state,dingoe)
{
offs_t i;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (i = 0; i < 0x3000; i++)
{
@@ -217,7 +217,7 @@ DRIVER_INIT( dingoe )
rom[i] = BITSWAP8(rom[i],7,6,5,0,3,2,1,4);
}
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x3001, 0x3001, FUNC(dingoe_3001_r)); /* Protection check */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x3001, 0x3001, FUNC(dingoe_3001_r)); /* Protection check */
}
#endif
@@ -263,22 +263,22 @@ CUSTOM_INPUT_MEMBER(galaxold_state::_4in1_fake_port_r)
}
#ifdef UNUSED_FUNCTION
-DRIVER_INIT( pisces )
+DRIVER_INIT_MEMBER(galaxold_state,pisces)
{
/* the coin lockout was replaced */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x6002, 0x6002, FUNC(galaxold_gfxbank_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x6002, 0x6002, FUNC(galaxold_gfxbank_w));
}
-DRIVER_INIT( checkmaj )
+DRIVER_INIT_MEMBER(galaxold_state,checkmaj)
{
/* for the title screen */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x3800, 0x3800, FUNC(checkmaj_protection_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x3800, 0x3800, FUNC(checkmaj_protection_r));
}
-DRIVER_INIT( dingo )
+DRIVER_INIT_MEMBER(galaxold_state,dingo)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x3000, 0x3000, FUNC(dingo_3000_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x3035, 0x3035, FUNC(dingo_3035_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x3000, 0x3000, FUNC(dingo_3000_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x3035, 0x3035, FUNC(dingo_3035_r));
}
@@ -294,15 +294,15 @@ static UINT8 decode_mooncrst(UINT8 data,offs_t addr)
return res;
}
-DRIVER_INIT( mooncrsu )
+DRIVER_INIT_MEMBER(galaxold_state,mooncrsu)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xa000, 0xa002, FUNC(galaxold_gfxbank_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xa000, 0xa002, FUNC(galaxold_gfxbank_w));
}
-DRIVER_INIT( mooncrst )
+DRIVER_INIT_MEMBER(galaxold_state,mooncrst)
{
- offs_t i, len = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ offs_t i, len = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (i = 0;i < len;i++)
@@ -311,17 +311,17 @@ DRIVER_INIT( mooncrst )
DRIVER_INIT_CALL(mooncrsu);
}
-DRIVER_INIT( mooncrgx )
+DRIVER_INIT_MEMBER(galaxold_state,mooncrgx)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x6000, 0x6002, FUNC(galaxold_gfxbank_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x6000, 0x6002, FUNC(galaxold_gfxbank_w));
}
-DRIVER_INIT( moonqsr )
+DRIVER_INIT_MEMBER(galaxold_state,moonqsr)
{
offs_t i;
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
- UINT8 *decrypt = auto_alloc_array(machine, UINT8, 0x8000);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
+ UINT8 *decrypt = auto_alloc_array(machine(), UINT8, 0x8000);
space->set_decrypted_region(0x0000, 0x7fff, decrypt);
@@ -329,7 +329,7 @@ DRIVER_INIT( moonqsr )
decrypt[i] = decode_mooncrst(rom[i],i);
}
-DRIVER_INIT( checkman )
+DRIVER_INIT_MEMBER(galaxold_state,checkman)
{
/*
Encryption Table
@@ -378,8 +378,8 @@ Pin layout is such that links can replace the PAL if encryption is not used.
{ 1,4,1,4 }
};
- offs_t i, len = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ offs_t i, len = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (i = 0; i < len; i++)
@@ -395,23 +395,22 @@ Pin layout is such that links can replace the PAL if encryption is not used.
}
#endif
-DRIVER_INIT( 4in1 )
+DRIVER_INIT_MEMBER(galaxold_state,4in1)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- offs_t i, len = state->memregion("maincpu")->bytes();
- UINT8 *RAM = state->memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ offs_t i, len = memregion("maincpu")->bytes();
+ UINT8 *RAM = memregion("maincpu")->base();
/* Decrypt Program Roms */
for (i = 0; i < len; i++)
RAM[i] = RAM[i] ^ (i & 0xff);
/* games are banked at 0x0000 - 0x3fff */
- state->membank("bank1")->configure_entries(0, 4, &RAM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &RAM[0x10000], 0x4000);
- state->_4in1_bank_w(*space, 0, 0); /* set the initial CPU bank */
+ _4in1_bank_w(*space, 0, 0); /* set the initial CPU bank */
- state_save_register_global(machine, state->m__4in1_bank);
+ state_save_register_global(machine(), m__4in1_bank);
}
INTERRUPT_GEN( hunchbks_vh_interrupt )
@@ -419,19 +418,18 @@ INTERRUPT_GEN( hunchbks_vh_interrupt )
generic_pulse_irq_line_and_vector(device,0,0x03,1);
}
-DRIVER_INIT( ladybugg )
+DRIVER_INIT_MEMBER(galaxold_state,ladybugg)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
/* Doesn't actually use the bank, but it mustn't have a coin lock! */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x6002, 0x6002, write8_delegate(FUNC(galaxold_state::galaxold_gfxbank_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x6002, 0x6002, write8_delegate(FUNC(galaxold_state::galaxold_gfxbank_w),this));
}
-DRIVER_INIT( bullsdrtg )
+DRIVER_INIT_MEMBER(galaxold_state,bullsdrtg)
{
int i;
// patch char supposed to be space
- UINT8 *gfxrom = machine.root_device().memregion("gfx1")->base();
+ UINT8 *gfxrom = machine().root_device().memregion("gfx1")->base();
for (i = 0; i < 8; i++)
{
gfxrom[i] = 0;
diff --git a/src/mame/machine/irobot.c b/src/mame/machine/irobot.c
index a7f6440b8ab..350eb7249fa 100644
--- a/src/mame/machine/irobot.c
+++ b/src/mame/machine/irobot.c
@@ -402,17 +402,16 @@ static void load_oproms(running_machine &machine)
/* Init mathbox (only called once) */
-DRIVER_INIT( irobot )
+DRIVER_INIT_MEMBER(irobot_state,irobot)
{
- irobot_state *state = machine.driver_data<irobot_state>();
int i;
for (i = 0; i < 16; i++)
{
- state->m_irmb_stack[i] = &state->m_mbops[0];
- state->m_irmb_regs[i] = 0;
+ m_irmb_stack[i] = &m_mbops[0];
+ m_irmb_regs[i] = 0;
}
- state->m_irmb_latch=0;
- load_oproms(machine);
+ m_irmb_latch=0;
+ load_oproms(machine());
}
TIMER_DEVICE_CALLBACK( irobot_irmb_done_callback )
diff --git a/src/mame/machine/kaneko16.c b/src/mame/machine/kaneko16.c
index 3d32a3d2c87..72b766bc3e1 100644
--- a/src/mame/machine/kaneko16.c
+++ b/src/mame/machine/kaneko16.c
@@ -128,10 +128,10 @@ static const UINT8 toybox_mcu_decryption_table_alt[0x100] = {
// I use a byteswapped MCU data rom to make the transfers to the 68k side easier
// not sure if it's all 100% endian safe
-DRIVER_INIT( decrypt_toybox_rom )
+DRIVER_INIT_MEMBER(kaneko16_state,decrypt_toybox_rom)
{
- UINT8 *src = (UINT8 *)machine.root_device().memregion("mcudata" )->base();
+ UINT8 *src = (UINT8 *)machine().root_device().memregion("mcudata" )->base();
int i;
@@ -144,7 +144,7 @@ DRIVER_INIT( decrypt_toybox_rom )
{
FILE *fp;
char filename[256];
- sprintf(filename,"%s.mcudata", machine.system().name);
+ sprintf(filename,"%s.mcudata", machine().system().name);
fp=fopen(filename, "w+b");
if (fp)
{
@@ -155,10 +155,10 @@ DRIVER_INIT( decrypt_toybox_rom )
#endif
}
-DRIVER_INIT( decrypt_toybox_rom_alt )
+DRIVER_INIT_MEMBER(kaneko16_state,decrypt_toybox_rom_alt)
{
- UINT8 *src = (UINT8 *)machine.root_device().memregion("mcudata" )->base();
+ UINT8 *src = (UINT8 *)machine().root_device().memregion("mcudata" )->base();
int i;
diff --git a/src/mame/machine/mega32x.c b/src/mame/machine/mega32x.c
index 8658a854cc7..91ae35ddee9 100644
--- a/src/mame/machine/mega32x.c
+++ b/src/mame/machine/mega32x.c
@@ -1641,16 +1641,16 @@ ADDRESS_MAP_END
-DRIVER_INIT( _32x )
+DRIVER_INIT_MEMBER(_32x_state,_32x)
{
- _32x_dram0 = auto_alloc_array(machine, UINT16, 0x40000/2);
- _32x_dram1 = auto_alloc_array(machine, UINT16, 0x40000/2);
+ _32x_dram0 = auto_alloc_array(machine(), UINT16, 0x40000/2);
+ _32x_dram1 = auto_alloc_array(machine(), UINT16, 0x40000/2);
memset(_32x_dram0, 0x00, 0x40000);
memset(_32x_dram1, 0x00, 0x40000);
- _32x_palette_lookup = auto_alloc_array(machine, UINT16, 0x200/2);
- _32x_palette = auto_alloc_array(machine, UINT16, 0x200/2);
+ _32x_palette_lookup = auto_alloc_array(machine(), UINT16, 0x200/2);
+ _32x_palette = auto_alloc_array(machine(), UINT16, 0x200/2);
memset(_32x_palette_lookup, 0x00, 0x200);
memset(_32x_palette, 0x00, 0x200);
@@ -1663,24 +1663,24 @@ DRIVER_INIT( _32x )
if (_32x_adapter_enabled == 0)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_rom(0x0000000, 0x03fffff, machine.root_device().memregion("gamecart")->base());
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x000070, 0x000073, FUNC(_32x_68k_hint_vector_r), FUNC(_32x_68k_hint_vector_w)); // h interrupt vector
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_rom(0x0000000, 0x03fffff, machine().root_device().memregion("gamecart")->base());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x000070, 0x000073, FUNC(_32x_68k_hint_vector_r), FUNC(_32x_68k_hint_vector_w)); // h interrupt vector
};
a15100_reg = 0x0000;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15100, 0xa15101, FUNC(_32x_68k_a15100_r), FUNC(_32x_68k_a15100_w)); // framebuffer control regs
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15102, 0xa15103, FUNC(_32x_68k_a15102_r), FUNC(_32x_68k_a15102_w)); // send irq to sh2
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15104, 0xa15105, FUNC(_32x_68k_a15104_r), FUNC(_32x_68k_a15104_w)); // 68k BANK rom set
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15106, 0xa15107, FUNC(_32x_68k_a15106_r), FUNC(_32x_68k_a15106_w)); // dreq stuff
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15108, 0xa15113, FUNC(_32x_dreq_common_r), FUNC(_32x_dreq_common_w)); // dreq src / dst / length /fifo
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15100, 0xa15101, FUNC(_32x_68k_a15100_r), FUNC(_32x_68k_a15100_w)); // framebuffer control regs
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15102, 0xa15103, FUNC(_32x_68k_a15102_r), FUNC(_32x_68k_a15102_w)); // send irq to sh2
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15104, 0xa15105, FUNC(_32x_68k_a15104_r), FUNC(_32x_68k_a15104_w)); // 68k BANK rom set
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15106, 0xa15107, FUNC(_32x_68k_a15106_r), FUNC(_32x_68k_a15106_w)); // dreq stuff
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15108, 0xa15113, FUNC(_32x_dreq_common_r), FUNC(_32x_dreq_common_w)); // dreq src / dst / length /fifo
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa1511a, 0xa1511b, FUNC(_32x_68k_a1511a_r), FUNC(_32x_68k_a1511a_w)); // SEGA TV
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa1511a, 0xa1511b, FUNC(_32x_68k_a1511a_r), FUNC(_32x_68k_a1511a_w)); // SEGA TV
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15120, 0xa1512f, FUNC(_32x_68k_commsram_r), FUNC(_32x_68k_commsram_w)); // comms reg 0-7
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15130, 0xa1513f, FUNC(_32x_pwm_r), FUNC(_32x_68k_pwm_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15120, 0xa1512f, FUNC(_32x_68k_commsram_r), FUNC(_32x_68k_commsram_w)); // comms reg 0-7
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xa15130, 0xa1513f, FUNC(_32x_pwm_r), FUNC(_32x_68k_pwm_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x0a130ec, 0x0a130ef, FUNC(_32x_68k_MARS_r)); // system ID
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x0a130ec, 0x0a130ef, FUNC(_32x_68k_MARS_r)); // system ID
/* Interrupts are masked / disabled at first */
@@ -1705,10 +1705,10 @@ DRIVER_INIT( _32x )
_32x_240mode = 0;
// checking if these help brutal, they don't.
- sh2drc_set_options(machine.device("32x_master_sh2"), SH2DRC_COMPATIBLE_OPTIONS);
- sh2drc_set_options(machine.device("32x_slave_sh2"), SH2DRC_COMPATIBLE_OPTIONS);
+ sh2drc_set_options(machine().device("32x_master_sh2"), SH2DRC_COMPATIBLE_OPTIONS);
+ sh2drc_set_options(machine().device("32x_slave_sh2"), SH2DRC_COMPATIBLE_OPTIONS);
- DRIVER_INIT_CALL(megadriv);
+ init_megadriv();
}
void _32x_check_irqs(running_machine& machine)
diff --git a/src/mame/machine/megadriv.c b/src/mame/machine/megadriv.c
index 6f1d9fe84a6..b26e6df841d 100644
--- a/src/mame/machine/megadriv.c
+++ b/src/mame/machine/megadriv.c
@@ -1451,13 +1451,13 @@ static void megadriv_init_common(running_machine &machine)
}
-DRIVER_INIT( megadriv_c2 )
+DRIVER_INIT_MEMBER(md_base_state,megadriv_c2)
{
genvdp_use_cram = 0;
genesis_always_irq6 = 1;
genesis_other_hacks = 0;
- megadriv_init_common(machine);
+ megadriv_init_common(machine());
hazemdchoice_megadrive_region_export = 1;
hazemdchoice_megadrive_region_pal = 0;
hazemdchoice_megadriv_framerate = 60;
@@ -1465,43 +1465,43 @@ DRIVER_INIT( megadriv_c2 )
-DRIVER_INIT( megadriv )
+DRIVER_INIT_MEMBER(md_base_state,megadriv)
{
genvdp_use_cram = 1;
genesis_always_irq6 = 0;
genesis_other_hacks = 1;
- megadriv_init_common(machine);
+ megadriv_init_common(machine());
hazemdchoice_megadrive_region_export = 1;
hazemdchoice_megadrive_region_pal = 0;
hazemdchoice_megadriv_framerate = 60;
}
-DRIVER_INIT( megadrij )
+DRIVER_INIT_MEMBER(md_base_state,megadrij)
{
genvdp_use_cram = 1;
genesis_always_irq6 = 0;
genesis_other_hacks = 1;
- megadriv_init_common(machine);
+ megadriv_init_common(machine());
hazemdchoice_megadrive_region_export = 0;
hazemdchoice_megadrive_region_pal = 0;
hazemdchoice_megadriv_framerate = 60;
}
-DRIVER_INIT( megadrie )
+DRIVER_INIT_MEMBER(md_base_state,megadrie)
{
genvdp_use_cram = 1;
genesis_always_irq6 = 0;
genesis_other_hacks = 1;
- megadriv_init_common(machine);
+ megadriv_init_common(machine());
hazemdchoice_megadrive_region_export = 1;
hazemdchoice_megadrive_region_pal = 1;
hazemdchoice_megadriv_framerate = 50;
}
-DRIVER_INIT( mpnew )
+DRIVER_INIT_MEMBER(md_base_state,mpnew)
{
DRIVER_INIT_CALL(megadrij);
megadrive_io_read_data_port_ptr = megadrive_io_read_data_port_3button;
diff --git a/src/mame/machine/mhavoc.c b/src/mame/machine/mhavoc.c
index d5d9b283e12..b21b382edfe 100644
--- a/src/mame/machine/mhavoc.c
+++ b/src/mame/machine/mhavoc.c
@@ -322,11 +322,10 @@ WRITE8_MEMBER(mhavoc_state::mhavocrv_speech_strobe_w)
*
*************************************/
-DRIVER_INIT( mhavocrv )
+DRIVER_INIT_MEMBER(mhavoc_state,mhavocrv)
{
/* install the speech support that was only optionally stuffed for use */
/* in the Return to Vax hack */
- mhavoc_state *state = machine.driver_data<mhavoc_state>();
- machine.device("gamma")->memory().space(AS_PROGRAM)->install_write_handler(0x5800, 0x5800, write8_delegate(FUNC(mhavoc_state::mhavocrv_speech_data_w),state));
- machine.device("gamma")->memory().space(AS_PROGRAM)->install_write_handler(0x5900, 0x5900, write8_delegate(FUNC(mhavoc_state::mhavocrv_speech_strobe_w),state));
+ machine().device("gamma")->memory().space(AS_PROGRAM)->install_write_handler(0x5800, 0x5800, write8_delegate(FUNC(mhavoc_state::mhavocrv_speech_data_w),this));
+ machine().device("gamma")->memory().space(AS_PROGRAM)->install_write_handler(0x5900, 0x5900, write8_delegate(FUNC(mhavoc_state::mhavocrv_speech_strobe_w),this));
}
diff --git a/src/mame/machine/micro3d.c b/src/mame/machine/micro3d.c
index a779d2002b3..c6f37dd8cde 100644
--- a/src/mame/machine/micro3d.c
+++ b/src/mame/machine/micro3d.c
@@ -603,15 +603,14 @@ WRITE32_MEMBER(micro3d_state::drmath_intr2_ack)
*
*************************************/
-DRIVER_INIT( micro3d )
+DRIVER_INIT_MEMBER(micro3d_state,micro3d)
{
- micro3d_state *state = machine.driver_data<micro3d_state>();
- address_space *space = machine.device("drmath")->memory().space(AS_DATA);
+ address_space *space = machine().device("drmath")->memory().space(AS_DATA);
- i8051_set_serial_tx_callback(machine.device("audiocpu"), data_from_i8031);
- i8051_set_serial_rx_callback(machine.device("audiocpu"), data_to_i8031);
+ i8051_set_serial_tx_callback(machine().device("audiocpu"), data_from_i8031);
+ i8051_set_serial_rx_callback(machine().device("audiocpu"), data_to_i8031);
- state->m_duart68681 = machine.device("duart68681");
+ m_duart68681 = machine().device("duart68681");
/* The Am29000 program seems to rely on RAM from 0x00470000 onwards being
non-zero on a reset, otherwise the 3D object data doesn't get uploaded! */
@@ -620,17 +619,16 @@ DRIVER_INIT( micro3d )
/* TODO? BOTSS crashes when starting the final stage because the 68000
overwrites memory in use by the Am29000. Slowing down the 68000 slightly
avoids this */
- machine.device("maincpu")->set_clock_scale(0.945f);
+ machine().device("maincpu")->set_clock_scale(0.945f);
}
-DRIVER_INIT( botss )
+DRIVER_INIT_MEMBER(micro3d_state,botss)
{
- micro3d_state *state = machine.driver_data<micro3d_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* Required to pass the hardware version check */
- space->install_read_handler(0x140000, 0x140001, read16_delegate(FUNC(micro3d_state::botss_140000_r),state));
- space->install_read_handler(0x180000, 0x180001, read16_delegate(FUNC(micro3d_state::botss_180000_r),state));
+ space->install_read_handler(0x140000, 0x140001, read16_delegate(FUNC(micro3d_state::botss_140000_r),this));
+ space->install_read_handler(0x180000, 0x180001, read16_delegate(FUNC(micro3d_state::botss_180000_r),this));
DRIVER_INIT_CALL(micro3d);
}
diff --git a/src/mame/machine/midtunit.c b/src/mame/machine/midtunit.c
index a1aec861cf5..da07ac9b435 100644
--- a/src/mame/machine/midtunit.c
+++ b/src/mame/machine/midtunit.c
@@ -453,24 +453,22 @@ static void init_tunit_generic(running_machine &machine, int sound)
*
*************************************/
-DRIVER_INIT( mktunit )
+DRIVER_INIT_MEMBER(midtunit_state,mktunit)
{
/* common init */
- init_tunit_generic(machine, SOUND_ADPCM);
+ init_tunit_generic(machine(), SOUND_ADPCM);
/* protection */
- midtunit_state *state = machine.driver_data<midtunit_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x1b00000, 0x1b6ffff, read16_delegate(FUNC(midtunit_state::mk_prot_r),state), write16_delegate(FUNC(midtunit_state::mk_prot_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x1b00000, 0x1b6ffff, read16_delegate(FUNC(midtunit_state::mk_prot_r),this), write16_delegate(FUNC(midtunit_state::mk_prot_w),this));
/* sound chip protection (hidden RAM) */
- machine.device("adpcm:cpu")->memory().space(AS_PROGRAM)->install_ram(0xfb9c, 0xfbc6);
+ machine().device("adpcm:cpu")->memory().space(AS_PROGRAM)->install_ram(0xfb9c, 0xfbc6);
}
-DRIVER_INIT( mkturbo )
+DRIVER_INIT_MEMBER(midtunit_state,mkturbo)
{
/* protection */
- midtunit_state *state = machine.driver_data<midtunit_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfffff400, 0xfffff40f, read16_delegate(FUNC(midtunit_state::mkturbo_prot_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfffff400, 0xfffff40f, read16_delegate(FUNC(midtunit_state::mkturbo_prot_r),this));
DRIVER_INIT_CALL(mktunit);
}
@@ -501,36 +499,35 @@ static void init_nbajam_common(running_machine &machine, int te_protection)
machine.device("adpcm:cpu")->memory().space(AS_PROGRAM)->install_ram(0xfbec, 0xfc16);
}
-DRIVER_INIT( nbajam )
+DRIVER_INIT_MEMBER(midtunit_state,nbajam)
{
- init_nbajam_common(machine, 0);
+ init_nbajam_common(machine(), 0);
}
-DRIVER_INIT( nbajamte )
+DRIVER_INIT_MEMBER(midtunit_state,nbajamte)
{
- init_nbajam_common(machine, 1);
+ init_nbajam_common(machine(), 1);
}
-DRIVER_INIT( jdreddp )
+DRIVER_INIT_MEMBER(midtunit_state,jdreddp)
{
/* common init */
- init_tunit_generic(machine, SOUND_ADPCM_LARGE);
+ init_tunit_generic(machine(), SOUND_ADPCM_LARGE);
/* looks like the watchdog needs to be disabled */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x01d81060, 0x01d8107f);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x01d81060, 0x01d8107f);
/* protection */
- midtunit_state *state = machine.driver_data<midtunit_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x1b00000, 0x1bfffff, read16_delegate(FUNC(midtunit_state::jdredd_prot_r),state), write16_delegate(FUNC(midtunit_state::jdredd_prot_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x1b00000, 0x1bfffff, read16_delegate(FUNC(midtunit_state::jdredd_prot_r),this), write16_delegate(FUNC(midtunit_state::jdredd_prot_w),this));
/* sound chip protection (hidden RAM) */
- machine.device("adpcm:cpu")->memory().space(AS_PROGRAM)->install_read_bank(0xfbcf, 0xfbf9, "bank7");
- machine.device("adpcm:cpu")->memory().space(AS_PROGRAM)->install_write_bank(0xfbcf, 0xfbf9, "bank9");
- state->membank("adpcm:bank9")->set_base(auto_alloc_array(machine, UINT8, 0x80));
+ machine().device("adpcm:cpu")->memory().space(AS_PROGRAM)->install_read_bank(0xfbcf, 0xfbf9, "bank7");
+ machine().device("adpcm:cpu")->memory().space(AS_PROGRAM)->install_write_bank(0xfbcf, 0xfbf9, "bank9");
+ membank("adpcm:bank9")->set_base(auto_alloc_array(machine(), UINT8, 0x80));
#if ENABLE_ALL_JDREDD_LEVELS
/* how about the final levels? */
- jdredd_hack = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xFFBA7FF0, 0xFFBA7FFf, FUNC(jdredd_hack_r));
+ jdredd_hack = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xFFBA7FF0, 0xFFBA7FFf, FUNC(jdredd_hack_r));
#endif
}
@@ -544,21 +541,20 @@ DRIVER_INIT( jdreddp )
*
*************************************/
-DRIVER_INIT( mk2 )
+DRIVER_INIT_MEMBER(midtunit_state,mk2)
{
/* common init */
- init_tunit_generic(machine, SOUND_DCS);
+ init_tunit_generic(machine(), SOUND_DCS);
midtunit_gfx_rom_large = 1;
/* protection */
- midtunit_state *state = machine.driver_data<midtunit_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00f20c60, 0x00f20c7f, write16_delegate(FUNC(midtunit_state::mk2_prot_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00f42820, 0x00f4283f, write16_delegate(FUNC(midtunit_state::mk2_prot_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01a190e0, 0x01a190ff, read16_delegate(FUNC(midtunit_state::mk2_prot_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01a191c0, 0x01a191df, read16_delegate(FUNC(midtunit_state::mk2_prot_shift_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01a3d0c0, 0x01a3d0ff, read16_delegate(FUNC(midtunit_state::mk2_prot_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01d9d1e0, 0x01d9d1ff, read16_delegate(FUNC(midtunit_state::mk2_prot_const_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01def920, 0x01def93f, read16_delegate(FUNC(midtunit_state::mk2_prot_const_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00f20c60, 0x00f20c7f, write16_delegate(FUNC(midtunit_state::mk2_prot_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00f42820, 0x00f4283f, write16_delegate(FUNC(midtunit_state::mk2_prot_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01a190e0, 0x01a190ff, read16_delegate(FUNC(midtunit_state::mk2_prot_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01a191c0, 0x01a191df, read16_delegate(FUNC(midtunit_state::mk2_prot_shift_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01a3d0c0, 0x01a3d0ff, read16_delegate(FUNC(midtunit_state::mk2_prot_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01d9d1e0, 0x01d9d1ff, read16_delegate(FUNC(midtunit_state::mk2_prot_const_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x01def920, 0x01def93f, read16_delegate(FUNC(midtunit_state::mk2_prot_const_r),this));
}
diff --git a/src/mame/machine/midwunit.c b/src/mame/machine/midwunit.c
index 09db75547d1..be935773217 100644
--- a/src/mame/machine/midwunit.c
+++ b/src/mame/machine/midwunit.c
@@ -222,57 +222,55 @@ static void init_mk3_common(running_machine &machine)
midway_serial_pic_init(machine, 528);
}
-DRIVER_INIT( mk3 )
+DRIVER_INIT_MEMBER(midwunit_state,mk3)
{
- init_mk3_common(machine);
+ init_mk3_common(machine());
}
-DRIVER_INIT( mk3r20 )
+DRIVER_INIT_MEMBER(midwunit_state,mk3r20)
{
- init_mk3_common(machine);
+ init_mk3_common(machine());
}
-DRIVER_INIT( mk3r10 )
+DRIVER_INIT_MEMBER(midwunit_state,mk3r10)
{
- init_mk3_common(machine);
+ init_mk3_common(machine());
}
-DRIVER_INIT( umk3 )
+DRIVER_INIT_MEMBER(midwunit_state,umk3)
{
- midwunit_state *state = machine.driver_data<midwunit_state>();
- init_mk3_common(machine);
- state->m_umk3_palette = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0106a060, 0x0106a09f, write16_delegate(FUNC(midwunit_state::umk3_palette_hack_w),state));
+ init_mk3_common(machine());
+ m_umk3_palette = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0106a060, 0x0106a09f, write16_delegate(FUNC(midwunit_state::umk3_palette_hack_w),this));
}
-DRIVER_INIT( umk3r11 )
+DRIVER_INIT_MEMBER(midwunit_state,umk3r11)
{
- midwunit_state *state = machine.driver_data<midwunit_state>();
- init_mk3_common(machine);
- state->m_umk3_palette = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0106a060, 0x0106a09f,write16_delegate(FUNC(midwunit_state::umk3_palette_hack_w),state));
+ init_mk3_common(machine());
+ m_umk3_palette = machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0106a060, 0x0106a09f,write16_delegate(FUNC(midwunit_state::umk3_palette_hack_w),this));
}
/********************** 2 On 2 Open Ice Challenge **********************/
-DRIVER_INIT( openice )
+DRIVER_INIT_MEMBER(midwunit_state,openice)
{
/* common init */
- init_wunit_generic(machine);
+ init_wunit_generic(machine());
/* serial prefixes 438, 528 */
- midway_serial_pic_init(machine, 528);
+ midway_serial_pic_init(machine(), 528);
}
/********************** NBA Hangtime & NBA Maximum Hangtime **********************/
-DRIVER_INIT( nbahangt )
+DRIVER_INIT_MEMBER(midwunit_state,nbahangt)
{
/* common init */
- init_wunit_generic(machine);
+ init_wunit_generic(machine());
/* serial prefixes 459, 470, 528 */
- midway_serial_pic_init(machine, 528);
+ midway_serial_pic_init(machine(), 528);
}
@@ -327,29 +325,28 @@ WRITE16_MEMBER(midwunit_state::wwfmania_io_0_w)
logerror("Changed I/O swiching to %d\n", data);
}
-DRIVER_INIT( wwfmania )
+DRIVER_INIT_MEMBER(midwunit_state,wwfmania)
{
/* common init */
- init_wunit_generic(machine);
+ init_wunit_generic(machine());
/* enable I/O shuffling */
- midwunit_state *state = machine.driver_data<midwunit_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x01800000, 0x0180000f, write16_delegate(FUNC(midwunit_state::wwfmania_io_0_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x01800000, 0x0180000f, write16_delegate(FUNC(midwunit_state::wwfmania_io_0_w),this));
/* serial prefixes 430, 528 */
- midway_serial_pic_init(machine, 528);
+ midway_serial_pic_init(machine(), 528);
}
/********************** Rampage World Tour **********************/
-DRIVER_INIT( rmpgwt )
+DRIVER_INIT_MEMBER(midwunit_state,rmpgwt)
{
/* common init */
- init_wunit_generic(machine);
+ init_wunit_generic(machine());
/* serial prefixes 465, 528 */
- midway_serial_pic_init(machine, 528);
+ midway_serial_pic_init(machine(), 528);
}
diff --git a/src/mame/machine/midxunit.c b/src/mame/machine/midxunit.c
index 2ca359796ef..c72acdc74c0 100644
--- a/src/mame/machine/midxunit.c
+++ b/src/mame/machine/midxunit.c
@@ -289,35 +289,34 @@ WRITE16_MEMBER(midxunit_state::midxunit_uart_w)
/********************** Revolution X **********************/
-DRIVER_INIT( revx )
+DRIVER_INIT_MEMBER(midxunit_state,revx)
{
- midxunit_state *state = machine.driver_data<midxunit_state>();
UINT8 *base;
int i, j, len;
/* register for state saving */
- register_state_saving(machine);
+ register_state_saving(machine());
/* load the graphics ROMs -- quadruples */
- midtunit_gfx_rom = base = state->memregion("gfx1")->base();
- len = state->memregion("gfx1")->bytes();
+ midtunit_gfx_rom = base = memregion("gfx1")->base();
+ len = memregion("gfx1")->bytes();
for (i = 0; i < len / 0x200000; i++)
{
- memcpy(state->m_decode_memory, base, 0x200000);
+ memcpy(m_decode_memory, base, 0x200000);
for (j = 0; j < 0x80000; j++)
{
- *base++ = state->m_decode_memory[0x000000 + j];
- *base++ = state->m_decode_memory[0x080000 + j];
- *base++ = state->m_decode_memory[0x100000 + j];
- *base++ = state->m_decode_memory[0x180000 + j];
+ *base++ = m_decode_memory[0x000000 + j];
+ *base++ = m_decode_memory[0x080000 + j];
+ *base++ = m_decode_memory[0x100000 + j];
+ *base++ = m_decode_memory[0x180000 + j];
}
}
/* init sound */
- dcs_init(machine);
+ dcs_init(machine());
/* serial prefixes 419, 420 */
- midway_serial_pic_init(machine, 419);
+ midway_serial_pic_init(machine(), 419);
}
diff --git a/src/mame/machine/midyunit.c b/src/mame/machine/midyunit.c
index a6013dde815..b2954df200c 100644
--- a/src/mame/machine/midyunit.c
+++ b/src/mame/machine/midyunit.c
@@ -329,10 +329,10 @@ static void init_generic(running_machine &machine, int bpp, int sound, int prot_
*
*************************************/
-DRIVER_INIT( narc )
+DRIVER_INIT_MEMBER(midyunit_state,narc)
{
/* common init */
- init_generic(machine, 8, SOUND_NARC, 0xcdff, 0xce29);
+ init_generic(machine(), 8, SOUND_NARC, 0xcdff, 0xce29);
}
@@ -348,9 +348,8 @@ DRIVER_INIT( narc )
/********************** Trog **************************/
-DRIVER_INIT( trog )
+DRIVER_INIT_MEMBER(midyunit_state,trog)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
/* protection */
static const struct protection_data trog_protection_data =
{
@@ -360,27 +359,26 @@ DRIVER_INIT( trog )
0x3000, 0x1000,
0x0000, 0x0000, 0x2000, 0x3000, 0x1000, 0x1000, 0x2000 }
};
- state->m_prot_data = &trog_protection_data;
+ m_prot_data = &trog_protection_data;
/* common init */
- init_generic(machine, 4, SOUND_CVSD_SMALL, 0x9eaf, 0x9ed9);
+ init_generic(machine(), 4, SOUND_CVSD_SMALL, 0x9eaf, 0x9ed9);
}
/********************** Smash TV **********************/
-DRIVER_INIT( smashtv )
+DRIVER_INIT_MEMBER(midyunit_state,smashtv)
{
/* common init */
- init_generic(machine, 6, SOUND_CVSD_SMALL, 0x9cf6, 0x9d21);
+ init_generic(machine(), 6, SOUND_CVSD_SMALL, 0x9cf6, 0x9d21);
}
/********************** High Impact Football **********************/
-DRIVER_INIT( hiimpact )
+DRIVER_INIT_MEMBER(midyunit_state,hiimpact)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
/* protection */
static const struct protection_data hiimpact_protection_data =
{
@@ -388,18 +386,17 @@ DRIVER_INIT( hiimpact )
{ 0x2000, 0x4000, 0x4000, 0x0000, 0x6000, 0x6000, 0x2000, 0x4000,
0x2000, 0x4000, 0x2000, 0x0000, 0x4000, 0x6000, 0x2000 }
};
- state->m_prot_data = &hiimpact_protection_data;
+ m_prot_data = &hiimpact_protection_data;
/* common init */
- init_generic(machine, 6, SOUND_CVSD, 0x9b79, 0x9ba3);
+ init_generic(machine(), 6, SOUND_CVSD, 0x9b79, 0x9ba3);
}
/********************** Super High Impact Football **********************/
-DRIVER_INIT( shimpact )
+DRIVER_INIT_MEMBER(midyunit_state,shimpact)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
/* protection */
static const struct protection_data shimpact_protection_data =
{
@@ -407,27 +404,26 @@ DRIVER_INIT( shimpact )
{ 0x0000, 0x4000, 0x2000, 0x5000, 0x2000, 0x1000, 0x4000, 0x6000,
0x3000, 0x0000, 0x2000, 0x5000, 0x5000, 0x5000, 0x2000 }
};
- state->m_prot_data = &shimpact_protection_data;
+ m_prot_data = &shimpact_protection_data;
/* common init */
- init_generic(machine, 6, SOUND_CVSD, 0x9c06, 0x9c15);
+ init_generic(machine(), 6, SOUND_CVSD, 0x9c06, 0x9c15);
}
/********************** Strike Force **********************/
-DRIVER_INIT( strkforc )
+DRIVER_INIT_MEMBER(midyunit_state,strkforc)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
/* protection */
static const struct protection_data strkforc_protection_data =
{
{ 0x1234 }
};
- state->m_prot_data = &strkforc_protection_data;
+ m_prot_data = &strkforc_protection_data;
/* common init */
- init_generic(machine, 4, SOUND_CVSD_SMALL, 0x9f7d, 0x9fa7);
+ init_generic(machine(), 4, SOUND_CVSD_SMALL, 0x9f7d, 0x9fa7);
}
@@ -443,9 +439,8 @@ DRIVER_INIT( strkforc )
/********************** Mortal Kombat **********************/
-DRIVER_INIT( mkyunit )
+DRIVER_INIT_MEMBER(midyunit_state,mkyunit)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
/* protection */
static const struct protection_data mk_protection_data =
{
@@ -454,16 +449,16 @@ DRIVER_INIT( mkyunit )
0x8600, 0x7600, 0x8600, 0x8600, 0x9600, 0xd600, 0x6600, 0xb600,
0xd600, 0xe600, 0xf600, 0x7600, 0xb600, 0xa600, 0x3600 }
};
- state->m_prot_data = &mk_protection_data;
+ m_prot_data = &mk_protection_data;
/* common init */
- init_generic(machine, 6, SOUND_ADPCM, 0xfb9c, 0xfbc6);
+ init_generic(machine(), 6, SOUND_ADPCM, 0xfb9c, 0xfbc6);
}
-DRIVER_INIT( mkyawdim )
+DRIVER_INIT_MEMBER(midyunit_state,mkyawdim)
{
/* common init */
- init_generic(machine, 6, SOUND_YAWDIM, 0, 0);
+ init_generic(machine(), 6, SOUND_YAWDIM, 0, 0);
}
@@ -480,11 +475,10 @@ READ16_MEMBER(midyunit_state::mkturbo_prot_r)
return machine().rand();
}
-DRIVER_INIT( mkyturbo )
+DRIVER_INIT_MEMBER(midyunit_state,mkyturbo)
{
/* protection */
- midyunit_state *state = machine.driver_data<midyunit_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfffff400, 0xfffff40f, read16_delegate(FUNC(midyunit_state::mkturbo_prot_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xfffff400, 0xfffff40f, read16_delegate(FUNC(midyunit_state::mkturbo_prot_r),this));
DRIVER_INIT_CALL(mkyunit);
}
@@ -514,18 +508,17 @@ static void term2_init_common(running_machine &machine, write16_delegate hack_w)
state->m_t2_hack_mem = machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x010aa0e0, 0x010aa0ff, hack_w);
}
-DRIVER_INIT( term2 ) { midyunit_state *state = machine.driver_data<midyunit_state>();term2_init_common(machine, write16_delegate(FUNC(midyunit_state::term2_hack_w),state)); }
-DRIVER_INIT( term2la3 ) { midyunit_state *state = machine.driver_data<midyunit_state>();term2_init_common(machine, write16_delegate(FUNC(midyunit_state::term2la3_hack_w),state)); }
-DRIVER_INIT( term2la2 ) { midyunit_state *state = machine.driver_data<midyunit_state>();term2_init_common(machine, write16_delegate(FUNC(midyunit_state::term2la2_hack_w),state)); }
-DRIVER_INIT( term2la1 ) { midyunit_state *state = machine.driver_data<midyunit_state>();term2_init_common(machine, write16_delegate(FUNC(midyunit_state::term2la1_hack_w),state)); }
+DRIVER_INIT_MEMBER(midyunit_state,term2) { term2_init_common(machine(), write16_delegate(FUNC(midyunit_state::term2_hack_w),this)); }
+DRIVER_INIT_MEMBER(midyunit_state,term2la3) { term2_init_common(machine(), write16_delegate(FUNC(midyunit_state::term2la3_hack_w),this)); }
+DRIVER_INIT_MEMBER(midyunit_state,term2la2) { term2_init_common(machine(), write16_delegate(FUNC(midyunit_state::term2la2_hack_w),this)); }
+DRIVER_INIT_MEMBER(midyunit_state,term2la1) { term2_init_common(machine(), write16_delegate(FUNC(midyunit_state::term2la1_hack_w),this)); }
/********************** Total Carnage **********************/
-DRIVER_INIT( totcarn )
+DRIVER_INIT_MEMBER(midyunit_state,totcarn)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
/* protection */
static const struct protection_data totcarn_protection_data =
{
@@ -533,10 +526,10 @@ DRIVER_INIT( totcarn )
{ 0x4a00, 0x6a00, 0xda00, 0x6a00, 0x9a00, 0x4a00, 0x2a00, 0x9a00, 0x1a00,
0x8a00, 0xaa00 }
};
- state->m_prot_data = &totcarn_protection_data;
+ m_prot_data = &totcarn_protection_data;
/* common init */
- init_generic(machine, 6, SOUND_ADPCM, 0xfc04, 0xfc2e);
+ init_generic(machine(), 6, SOUND_ADPCM, 0xfc04, 0xfc2e);
}
diff --git a/src/mame/machine/namcos1.c b/src/mame/machine/namcos1.c
index 4688342c0ef..c4824f5de7c 100644
--- a/src/mame/machine/namcos1.c
+++ b/src/mame/machine/namcos1.c
@@ -1008,117 +1008,117 @@ static void namcos1_driver_init( running_machine &machine, const struct namcos1_
/*******************************************************************************
* Shadowland / Youkai Douchuuki specific *
*******************************************************************************/
-DRIVER_INIT( shadowld )
+DRIVER_INIT_MEMBER(namcos1_state,shadowld)
{
- namcos1_driver_init(machine, NULL);
+ namcos1_driver_init(machine(), NULL);
}
/*******************************************************************************
* Dragon Spirit specific (CUS136) *
*******************************************************************************/
-DRIVER_INIT( dspirit )
+DRIVER_INIT_MEMBER(namcos1_state,dspirit)
{
static const struct namcos1_specific dspirit_specific=
{
key_type1_r,key_type1_w, 0x36
};
- namcos1_driver_init(machine, &dspirit_specific);
+ namcos1_driver_init(machine(), &dspirit_specific);
}
/*******************************************************************************
* World Court specific (CUS143) *
*******************************************************************************/
-DRIVER_INIT( wldcourt )
+DRIVER_INIT_MEMBER(namcos1_state,wldcourt)
{
static const struct namcos1_specific worldcourt_specific=
{
key_type1_r,key_type1_w, 0x35
};
- namcos1_driver_init(machine, &worldcourt_specific);
+ namcos1_driver_init(machine(), &worldcourt_specific);
}
/*******************************************************************************
* Blazer specific (CUS144) *
*******************************************************************************/
-DRIVER_INIT( blazer )
+DRIVER_INIT_MEMBER(namcos1_state,blazer)
{
static const struct namcos1_specific blazer_specific=
{
key_type1_r,key_type1_w, 0x13
};
- namcos1_driver_init(machine, &blazer_specific);
+ namcos1_driver_init(machine(), &blazer_specific);
}
/*******************************************************************************
* Puzzle Club specific *
*******************************************************************************/
-DRIVER_INIT( puzlclub )
+DRIVER_INIT_MEMBER(namcos1_state,puzlclub)
{
static const struct namcos1_specific puzlclub_specific=
{
key_type1_r,key_type1_w, 0x35
};
- namcos1_driver_init(machine, &puzlclub_specific);
+ namcos1_driver_init(machine(), &puzlclub_specific);
}
/*******************************************************************************
* Pac-Mania specific (CUS151) *
*******************************************************************************/
-DRIVER_INIT( pacmania )
+DRIVER_INIT_MEMBER(namcos1_state,pacmania)
{
static const struct namcos1_specific pacmania_specific=
{
key_type2_r,key_type2_w, 0x12
};
- namcos1_driver_init(machine, &pacmania_specific);
+ namcos1_driver_init(machine(), &pacmania_specific);
}
/*******************************************************************************
* Alice in Wonderland / Marchen Maze specific (CUS152) *
*******************************************************************************/
-DRIVER_INIT( alice )
+DRIVER_INIT_MEMBER(namcos1_state,alice)
{
static const struct namcos1_specific alice_specific=
{
key_type2_r,key_type2_w, 0x25
};
- namcos1_driver_init(machine, &alice_specific);
+ namcos1_driver_init(machine(), &alice_specific);
}
/*******************************************************************************
* Galaga '88 specific (CUS153) *
*******************************************************************************/
-DRIVER_INIT( galaga88 )
+DRIVER_INIT_MEMBER(namcos1_state,galaga88)
{
static const struct namcos1_specific galaga88_specific=
{
key_type2_r,key_type2_w, 0x31
};
- namcos1_driver_init(machine, &galaga88_specific);
+ namcos1_driver_init(machine(), &galaga88_specific);
}
/*******************************************************************************
* World Stadium specific (CUS154) *
*******************************************************************************/
-DRIVER_INIT( ws )
+DRIVER_INIT_MEMBER(namcos1_state,ws)
{
static const struct namcos1_specific ws_specific=
{
key_type2_r,key_type2_w, 0x07
};
- namcos1_driver_init(machine, &ws_specific);
+ namcos1_driver_init(machine(), &ws_specific);
}
/*******************************************************************************
* Bakutotsu Kijuutei specific (CUS155) *
*******************************************************************************/
-DRIVER_INIT( bakutotu )
+DRIVER_INIT_MEMBER(namcos1_state,bakutotu)
{
static const struct namcos1_specific bakutotu_specific=
{
key_type2_r,key_type2_w, 0x22
};
- namcos1_driver_init(machine, &bakutotu_specific);
+ namcos1_driver_init(machine(), &bakutotu_specific);
#if 0
// resolves CPU deadlocks caused by sloppy coding(see driver\namcos1.c)
@@ -1126,7 +1126,7 @@ DRIVER_INIT( bakutotu )
static const UINT8 target[8] = {0x34,0x37,0x35,0x37,0x96,0x00,0x2e,0xed};
UINT8 *rombase, *srcptr, *endptr, *scanptr;
- rombase = machine.root_device().memregion("user1")->base();
+ rombase = machine().root_device().memregion("user1")->base();
srcptr = rombase + 0x1e000;
endptr = srcptr + 0xa000;
@@ -1149,123 +1149,123 @@ DRIVER_INIT( bakutotu )
/*******************************************************************************
* Splatter House specific (CUS181) *
*******************************************************************************/
-DRIVER_INIT( splatter )
+DRIVER_INIT_MEMBER(namcos1_state,splatter)
{
static const struct namcos1_specific splatter_specific=
{
key_type3_r,key_type3_w, 181, 3, 4,-1,-1,-1,-1
};
- namcos1_driver_init(machine, &splatter_specific);
+ namcos1_driver_init(machine(), &splatter_specific);
}
/*******************************************************************************
* Rompers specific (CUS182) *
*******************************************************************************/
-DRIVER_INIT( rompers )
+DRIVER_INIT_MEMBER(namcos1_state,rompers)
{
static const struct namcos1_specific rompers_specific=
{
key_type3_r,key_type3_w, 182, 7,-1,-1,-1,-1,-1
};
- namcos1_driver_init(machine, &rompers_specific);
+ namcos1_driver_init(machine(), &rompers_specific);
}
/*******************************************************************************
* Blast Off specific (CUS183) *
*******************************************************************************/
-DRIVER_INIT( blastoff )
+DRIVER_INIT_MEMBER(namcos1_state,blastoff)
{
static const struct namcos1_specific blastoff_specific=
{
key_type3_r,key_type3_w, 183, 0, 7, 3, 5,-1,-1
};
- namcos1_driver_init(machine, &blastoff_specific);
+ namcos1_driver_init(machine(), &blastoff_specific);
}
/*******************************************************************************
* World Stadium '89 specific (CUS184) *
*******************************************************************************/
-DRIVER_INIT( ws89 )
+DRIVER_INIT_MEMBER(namcos1_state,ws89)
{
static const struct namcos1_specific ws89_specific=
{
key_type3_r,key_type3_w, 184, 2,-1,-1,-1,-1,-1
};
- namcos1_driver_init(machine, &ws89_specific);
+ namcos1_driver_init(machine(), &ws89_specific);
}
/*******************************************************************************
* Tank Force specific (CUS185) *
*******************************************************************************/
-DRIVER_INIT( tankfrce )
+DRIVER_INIT_MEMBER(namcos1_state,tankfrce)
{
static const struct namcos1_specific tankfrce_specific=
{
key_type3_r,key_type3_w, 185, 5,-1, 1,-1, 2,-1
};
- namcos1_driver_init(machine, &tankfrce_specific);
+ namcos1_driver_init(machine(), &tankfrce_specific);
}
-DRIVER_INIT( tankfrc4 )
+DRIVER_INIT_MEMBER(namcos1_state,tankfrc4)
{
static const struct namcos1_specific tankfrce_specific=
{
key_type3_r,key_type3_w, 185, 5,-1, 1,-1, 2,-1
};
- namcos1_driver_init(machine, &tankfrce_specific);
+ namcos1_driver_init(machine(), &tankfrce_specific);
- machine.device("mcu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x1400, 0x1401, FUNC(faceoff_inputs_r));
+ machine().device("mcu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x1400, 0x1401, FUNC(faceoff_inputs_r));
}
/*******************************************************************************
* Dangerous Seed specific (CUS308) *
*******************************************************************************/
-DRIVER_INIT( dangseed )
+DRIVER_INIT_MEMBER(namcos1_state,dangseed)
{
static const struct namcos1_specific dangseed_specific=
{
key_type3_r,key_type3_w, 308, 6,-1, 5,-1, 0, 4
};
- namcos1_driver_init(machine, &dangseed_specific);
+ namcos1_driver_init(machine(), &dangseed_specific);
}
/*******************************************************************************
* Pistol Daimyo no Bouken specific (CUS309) *
*******************************************************************************/
-DRIVER_INIT( pistoldm )
+DRIVER_INIT_MEMBER(namcos1_state,pistoldm)
{
static const struct namcos1_specific pistoldm_specific=
{
key_type3_r,key_type3_w, 309, 1, 2, 0,-1, 4,-1
};
- namcos1_driver_init(machine, &pistoldm_specific);
+ namcos1_driver_init(machine(), &pistoldm_specific);
}
/*******************************************************************************
* World Stadium '90 specific (CUS310) *
*******************************************************************************/
-DRIVER_INIT( ws90 )
+DRIVER_INIT_MEMBER(namcos1_state,ws90)
{
static const struct namcos1_specific ws90_specific=
{
key_type3_r,key_type3_w, 310, 4,-1, 7,-1, 3,-1
};
- namcos1_driver_init(machine, &ws90_specific);
+ namcos1_driver_init(machine(), &ws90_specific);
}
/*******************************************************************************
* Souko Ban DX specific (CUS311) *
*******************************************************************************/
-DRIVER_INIT( soukobdx )
+DRIVER_INIT_MEMBER(namcos1_state,soukobdx)
{
static const struct namcos1_specific soukobdx_specific=
{
key_type3_r,key_type3_w, 311, 2, 3/*?*/, 0,-1, 4,-1
};
- namcos1_driver_init(machine, &soukobdx_specific);
+ namcos1_driver_init(machine(), &soukobdx_specific);
}
@@ -1305,10 +1305,10 @@ static READ8_HANDLER( quester_paddle_r )
}
}
-DRIVER_INIT( quester )
+DRIVER_INIT_MEMBER(namcos1_state,quester)
{
- namcos1_driver_init(machine, NULL);
- machine.device("mcu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x1400, 0x1401, FUNC(quester_paddle_r));
+ namcos1_driver_init(machine(), NULL);
+ machine().device("mcu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x1400, 0x1401, FUNC(quester_paddle_r));
}
@@ -1394,10 +1394,10 @@ static READ8_HANDLER( berabohm_buttons_r )
}
}
-DRIVER_INIT( berabohm )
+DRIVER_INIT_MEMBER(namcos1_state,berabohm)
{
- namcos1_driver_init(machine, NULL);
- machine.device("mcu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x1400, 0x1401, FUNC(berabohm_buttons_r));
+ namcos1_driver_init(machine(), NULL);
+ machine().device("mcu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x1400, 0x1401, FUNC(berabohm_buttons_r));
}
@@ -1464,8 +1464,8 @@ static READ8_HANDLER( faceoff_inputs_r )
}
}
-DRIVER_INIT( faceoff )
+DRIVER_INIT_MEMBER(namcos1_state,faceoff)
{
- namcos1_driver_init(machine, NULL);
- machine.device("mcu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x1400, 0x1401, FUNC(faceoff_inputs_r));
+ namcos1_driver_init(machine(), NULL);
+ machine().device("mcu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x1400, 0x1401, FUNC(faceoff_inputs_r));
}
diff --git a/src/mame/machine/naomi.c b/src/mame/machine/naomi.c
index 863c82f9237..0b9d3ea9daf 100644
--- a/src/mame/machine/naomi.c
+++ b/src/mame/machine/naomi.c
@@ -20,6 +20,7 @@ hotd2o: bp 0xc0ba1f6, modify work RAM 0xc9c35a8 to be zero, bpclear
#include "emu.h"
#include "includes/naomi.h"
+#include "includes/dc.h"
UINT64 *naomi_ram64;
int jvsboard_type;
@@ -190,53 +191,53 @@ static void create_pic_from_retdat(running_machine& machine)
}
}
-DRIVER_INIT(naomi)
+DRIVER_INIT_MEMBER(dc_state,naomi)
{
- //machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2ad238, 0xc2ad23f, FUNC(naomi_biose_idle_skip_r)); // rev e bios
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2b0600, 0xc2b0607, FUNC(naomi_biosh_idle_skip_r)); // rev h bios
+ //machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2ad238, 0xc2ad23f, FUNC(naomi_biose_idle_skip_r)); // rev e bios
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2b0600, 0xc2b0607, FUNC(naomi_biosh_idle_skip_r)); // rev h bios
jvsboard_type = JVSBD_DEFAULT;
actel_id = 0xffff;
- create_pic_from_retdat(machine);
+ create_pic_from_retdat(machine());
}
-DRIVER_INIT(naomi2)
+DRIVER_INIT_MEMBER(dc_state,naomi2)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2b0600, 0xc2b0607, FUNC(naomi2_biose_idle_skip_r)); // rev e bios
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2b0600, 0xc2b0607, FUNC(naomi2_biose_idle_skip_r)); // rev e bios
jvsboard_type = JVSBD_DEFAULT;
actel_id = 0xffff;
- create_pic_from_retdat(machine);
+ create_pic_from_retdat(machine());
}
-DRIVER_INIT(naomi_mp)
+DRIVER_INIT_MEMBER(dc_state,naomi_mp)
{
- //machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2ad238, 0xc2ad23f, FUNC(naomi_biose_idle_skip_r)); // rev e bios
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2b0600, 0xc2b0607, FUNC(naomi_biosh_idle_skip_r)); // rev h bios
+ //machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2ad238, 0xc2ad23f, FUNC(naomi_biose_idle_skip_r)); // rev e bios
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2b0600, 0xc2b0607, FUNC(naomi_biosh_idle_skip_r)); // rev h bios
jvsboard_type = JVSBD_MAHJONG;
actel_id = 0xffff;
- create_pic_from_retdat(machine);
+ create_pic_from_retdat(machine());
}
-DRIVER_INIT(naomigd)
+DRIVER_INIT_MEMBER(dc_state,naomigd)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2ad238, 0xc2ad23f, FUNC(naomi_biose_idle_skip_r)); // rev e bios
- //machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2b0600, 0xc2b0607, FUNC(naomi_biosh_idle_skip_r)); // rev h bios
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2ad238, 0xc2ad23f, FUNC(naomi_biose_idle_skip_r)); // rev e bios
+ //machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2b0600, 0xc2b0607, FUNC(naomi_biosh_idle_skip_r)); // rev h bios
jvsboard_type = JVSBD_DEFAULT;
actel_id = 0xffff;
- create_pic_from_retdat(machine);
+ create_pic_from_retdat(machine());
}
-DRIVER_INIT(naomigd_mp)
+DRIVER_INIT_MEMBER(dc_state,naomigd_mp)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2ad238, 0xc2ad23f, FUNC(naomi_biose_idle_skip_r)); // rev e bios
- //machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2b0600, 0xc2b0607, FUNC(naomi_biosh_idle_skip_r)); // rev h bios
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2ad238, 0xc2ad23f, FUNC(naomi_biose_idle_skip_r)); // rev e bios
+ //machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc2b0600, 0xc2b0607, FUNC(naomi_biosh_idle_skip_r)); // rev h bios
jvsboard_type = JVSBD_MAHJONG;
actel_id = 0xffff;
- create_pic_from_retdat(machine);
+ create_pic_from_retdat(machine());
}
@@ -248,9 +249,9 @@ static READ64_HANDLER( naomigd_ggxxsla_idle_skip_r )
return naomi_ram64[0x1aae18/8];
}
-DRIVER_INIT( ggxxsla )
+DRIVER_INIT_MEMBER(dc_state,ggxxsla)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc1aae18, 0xc1aae1f, FUNC(naomigd_ggxxsla_idle_skip_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc1aae18, 0xc1aae1f, FUNC(naomigd_ggxxsla_idle_skip_r));
DRIVER_INIT_CALL(naomigd);
}
@@ -263,9 +264,9 @@ static READ64_HANDLER( naomigd_ggxx_idle_skip_r )
}
-DRIVER_INIT( ggxx )
+DRIVER_INIT_MEMBER(dc_state,ggxx)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc1837b8, 0xc1837bf, FUNC(naomigd_ggxx_idle_skip_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc1837b8, 0xc1837bf, FUNC(naomigd_ggxx_idle_skip_r));
DRIVER_INIT_CALL(naomigd);
}
@@ -279,9 +280,9 @@ static READ64_HANDLER( naomigd_ggxxrl_idle_skip_r )
return naomi_ram64[0x18d6c8/8];
}
-DRIVER_INIT( ggxxrl )
+DRIVER_INIT_MEMBER(dc_state,ggxxrl)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc18d6c8, 0xc18d6cf, FUNC(naomigd_ggxxrl_idle_skip_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc18d6c8, 0xc18d6cf, FUNC(naomigd_ggxxrl_idle_skip_r));
DRIVER_INIT_CALL(naomigd);
}
@@ -294,38 +295,38 @@ static READ64_HANDLER( naomigd_sfz3ugd_idle_skip_r )
return naomi_ram64[0x5dc900/8];
}
-DRIVER_INIT( sfz3ugd )
+DRIVER_INIT_MEMBER(dc_state,sfz3ugd)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc5dc900, 0xc5dc907, FUNC(naomigd_sfz3ugd_idle_skip_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xc5dc900, 0xc5dc907, FUNC(naomigd_sfz3ugd_idle_skip_r));
DRIVER_INIT_CALL(naomigd);
}
-DRIVER_INIT( qmegamis )
+DRIVER_INIT_MEMBER(dc_state,qmegamis)
{
DRIVER_INIT_CALL(naomi);
actel_id = 0; //FIXME: correct value
}
-DRIVER_INIT( mvsc2 )
+DRIVER_INIT_MEMBER(dc_state,mvsc2)
{
DRIVER_INIT_CALL(naomi);
actel_id = 0; //FIXME: correct value
}
-DRIVER_INIT( gram2000 )
+DRIVER_INIT_MEMBER(dc_state,gram2000)
{
DRIVER_INIT_CALL(naomi);
actel_id = 0; //FIXME: correct value
}
-DRIVER_INIT( vf4evoct )
+DRIVER_INIT_MEMBER(dc_state,vf4evoct)
{
DRIVER_INIT_CALL(naomi2);
actel_id = 0; //FIXME: correct value
}
-DRIVER_INIT( kick4csh )
+DRIVER_INIT_MEMBER(dc_state,kick4csh)
{
DRIVER_INIT_CALL(naomi);
actel_id = 0; //FIXME: correct value
@@ -342,9 +343,9 @@ static READ64_HANDLER( hotd2_idle_skip_r )
return naomi_ram64[0xa25fb8/8];
}
-DRIVER_INIT( hotd2 )
+DRIVER_INIT_MEMBER(dc_state,hotd2)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xca25fb8, 0xca25fbf, FUNC(hotd2_idle_skip_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xca25fb8, 0xca25fbf, FUNC(hotd2_idle_skip_r));
}
// f355 PC=0xc065f7c RAM=0xc26dafc
diff --git a/src/mame/machine/pcecommn.c b/src/mame/machine/pcecommn.c
index 5735b0c4841..8fe305176b5 100644
--- a/src/mame/machine/pcecommn.c
+++ b/src/mame/machine/pcecommn.c
@@ -19,7 +19,7 @@ static int joystick_data_select; /* which nibble of joystick data we want
static UINT8 (*pce_joystick_readinputport_callback)(running_machine &) = NULL;
-DRIVER_INIT( pce ) {
+void init_pce() {
pce.io_port_options = PCE_JOY_SIG | CONST_SIG;
}
diff --git a/src/mame/machine/pcecommn.h b/src/mame/machine/pcecommn.h
index 4ec9bb07e64..089984f8c0b 100644
--- a/src/mame/machine/pcecommn.h
+++ b/src/mame/machine/pcecommn.h
@@ -27,7 +27,7 @@ struct pce_struct
UINT8 io_port_options; /*driver-specific options for the PCE*/
};
extern struct pce_struct pce;
-DRIVER_INIT( pce );
+void init_pce();
MACHINE_RESET( pce );
void pce_set_joystick_readinputport_callback( UINT8 (*joy_read)(running_machine &));
diff --git a/src/mame/machine/pgmprot.c b/src/mame/machine/pgmprot.c
index 6f7dbc73ffa..91d2fad3c7a 100644
--- a/src/mame/machine/pgmprot.c
+++ b/src/mame/machine/pgmprot.c
@@ -146,33 +146,32 @@ WRITE16_HANDLER( pgm_asic3_reg_w )
/* Oriental Legend INIT */
-DRIVER_INIT( orlegend )
+DRIVER_INIT_MEMBER(pgm_asic3_state,orlegend)
{
- pgm_asic3_state *state = machine.driver_data<pgm_asic3_state>();
- pgm_basic_init(machine);
-
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xC0400e, 0xC0400f, FUNC(pgm_asic3_r), FUNC(pgm_asic3_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xC04000, 0xC04001, FUNC(pgm_asic3_reg_w));
-
- state->m_asic3_reg = 0;
- state->m_asic3_latch[0] = 0;
- state->m_asic3_latch[1] = 0;
- state->m_asic3_latch[2] = 0;
- state->m_asic3_x = 0;
- state->m_asic3_y = 0;
- state->m_asic3_z = 0;
- state->m_asic3_h1 = 0;
- state->m_asic3_h2 = 0;
- state->m_asic3_hold = 0;
-
- state->save_item(NAME(state->m_asic3_reg));
- state->save_item(NAME(state->m_asic3_latch));
- state->save_item(NAME(state->m_asic3_x));
- state->save_item(NAME(state->m_asic3_y));
- state->save_item(NAME(state->m_asic3_z));
- state->save_item(NAME(state->m_asic3_h1));
- state->save_item(NAME(state->m_asic3_h2));
- state->save_item(NAME(state->m_asic3_hold));
+ pgm_basic_init(machine());
+
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xC0400e, 0xC0400f, FUNC(pgm_asic3_r), FUNC(pgm_asic3_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xC04000, 0xC04001, FUNC(pgm_asic3_reg_w));
+
+ m_asic3_reg = 0;
+ m_asic3_latch[0] = 0;
+ m_asic3_latch[1] = 0;
+ m_asic3_latch[2] = 0;
+ m_asic3_x = 0;
+ m_asic3_y = 0;
+ m_asic3_z = 0;
+ m_asic3_h1 = 0;
+ m_asic3_h2 = 0;
+ m_asic3_hold = 0;
+
+ save_item(NAME(m_asic3_reg));
+ save_item(NAME(m_asic3_latch));
+ save_item(NAME(m_asic3_x));
+ save_item(NAME(m_asic3_y));
+ save_item(NAME(m_asic3_z));
+ save_item(NAME(m_asic3_h1));
+ save_item(NAME(m_asic3_h2));
+ save_item(NAME(m_asic3_hold));
}
diff --git a/src/mame/machine/pgmprot1.c b/src/mame/machine/pgmprot1.c
index e8ece4aed02..8d1aae37be0 100644
--- a/src/mame/machine/pgmprot1.c
+++ b/src/mame/machine/pgmprot1.c
@@ -281,22 +281,22 @@ static READ16_HANDLER( kovsh_fake_region_r )
return share16[BYTE_XOR_LE(offset << 1)];
}
-DRIVER_INIT( photoy2k )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,photoy2k)
{
- pgm_basic_init(machine);
- pgm_photoy2k_decrypt(machine);
- pgm_arm7_type1_latch_init(machine);
+ pgm_basic_init(machine());
+ pgm_photoy2k_decrypt(machine());
+ pgm_arm7_type1_latch_init(machine());
/* we only have a china internal ROM dumped for now.. allow region to be changed for debugging (to ensure all alt titles / regions can be seen) */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
}
-DRIVER_INIT( kovsh )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,kovsh)
{
- pgm_basic_init(machine);
- pgm_kovsh_decrypt(machine);
- pgm_arm7_type1_latch_init(machine);
+ pgm_basic_init(machine());
+ pgm_kovsh_decrypt(machine());
+ pgm_arm7_type1_latch_init(machine());
/* we only have a china internal ROM dumped for now.. allow region to be changed for debugging (to ensure all alt titles / regions can be seen) */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
}
/* Fake remapping of ASIC commands to the ones used by KOVSH due to the lack of the real ARM rom for this set */
@@ -361,26 +361,26 @@ WRITE16_HANDLER( kovshp_asic27a_write_word )
}
-DRIVER_INIT( kovshp )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,kovshp)
{
- pgm_basic_init(machine);
- pgm_kovshp_decrypt(machine);
- pgm_arm7_type1_latch_init(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x500000, 0x500005, FUNC(kovshp_asic27a_write_word));
+ pgm_basic_init(machine());
+ pgm_kovshp_decrypt(machine());
+ pgm_arm7_type1_latch_init(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x500000, 0x500005, FUNC(kovshp_asic27a_write_word));
}
/* bootleg inits */
-DRIVER_INIT( kovshxas )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,kovshxas)
{
- pgm_basic_init(machine);
-// pgm_kovshp_decrypt(machine);
- pgm_arm7_type1_latch_init(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x500000, 0x500005, FUNC(kovshp_asic27a_write_word));
+ pgm_basic_init(machine());
+// pgm_kovshp_decrypt(machine());
+ pgm_arm7_type1_latch_init(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x500000, 0x500005, FUNC(kovshp_asic27a_write_word));
}
static void pgm_decode_kovlsqh2_tiles( running_machine &machine )
@@ -467,46 +467,46 @@ static void pgm_decode_kovqhsgs2_program( running_machine &machine )
}
-DRIVER_INIT( kovlsqh2 )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,kovlsqh2)
{
- pgm_decode_kovqhsgs2_program(machine);
- pgm_decode_kovlsqh2_tiles(machine);
-
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x0000000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x0800000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x1000000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x1800000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x2000000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x2800000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprmask")->base() + 0x0000000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprmask")->base() + 0x0800000);
-
- pgm_decode_kovlsqh2_samples(machine);
- pgm_basic_init(machine);
- pgm_arm7_type1_latch_init(machine);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x500000, 0x500005, FUNC(kovshp_asic27a_write_word));
+ pgm_decode_kovqhsgs2_program(machine());
+ pgm_decode_kovlsqh2_tiles(machine());
+
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x0000000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x0800000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x1000000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x1800000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x2000000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x2800000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprmask")->base() + 0x0000000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprmask")->base() + 0x0800000);
+
+ pgm_decode_kovlsqh2_samples(machine());
+ pgm_basic_init(machine());
+ pgm_arm7_type1_latch_init(machine());
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x500000, 0x500005, FUNC(kovshp_asic27a_write_word));
}
-DRIVER_INIT( kovqhsgs )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,kovqhsgs)
{
- pgm_decode_kovqhsgs_program(machine);
- pgm_decode_kovlsqh2_tiles(machine);
-
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x0000000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x0800000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x1000000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x1800000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x2000000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprcol")->base() + 0x2800000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprmask")->base() + 0x0000000);
- pgm_decode_kovlsqh2_sprites(machine, machine.root_device().memregion("sprmask")->base() + 0x0800000);
-
- pgm_decode_kovlsqh2_samples(machine);
- pgm_basic_init(machine);
- pgm_arm7_type1_latch_init(machine);
+ pgm_decode_kovqhsgs_program(machine());
+ pgm_decode_kovlsqh2_tiles(machine());
+
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x0000000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x0800000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x1000000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x1800000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x2000000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprcol")->base() + 0x2800000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprmask")->base() + 0x0000000);
+ pgm_decode_kovlsqh2_sprites(machine(), machine().root_device().memregion("sprmask")->base() + 0x0800000);
+
+ pgm_decode_kovlsqh2_samples(machine());
+ pgm_basic_init(machine());
+ pgm_arm7_type1_latch_init(machine());
/* we only have a china internal ROM dumped for now.. allow region to be changed for debugging (to ensure all alt titles / regions can be seen) */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0008, 0x4f0009, FUNC(kovsh_fake_region_r));
}
/*
@@ -1408,124 +1408,114 @@ static READ16_HANDLER( pstars_arm7_type1_sim_protram_r )
}
-DRIVER_INIT( ddp3 )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,ddp3)
{
- pgm_arm_type1_state *state = machine.driver_data<pgm_arm_type1_state>();
- pgm_basic_init(machine, false);
- pgm_py2k2_decrypt(machine); // yes, it's the same as photo y2k2
- state->arm_sim_handler = command_handler_ddp3;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
+ pgm_basic_init(machine(), false);
+ pgm_py2k2_decrypt(machine()); // yes, it's the same as photo y2k2
+ arm_sim_handler = command_handler_ddp3;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
}
-DRIVER_INIT( ket )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,ket)
{
- pgm_arm_type1_state *state = machine.driver_data<pgm_arm_type1_state>();
- pgm_basic_init(machine, false);
- pgm_ket_decrypt(machine);
- state->arm_sim_handler = command_handler_ddp3;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x400000, 0x400005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
+ pgm_basic_init(machine(), false);
+ pgm_ket_decrypt(machine());
+ arm_sim_handler = command_handler_ddp3;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x400000, 0x400005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
}
-DRIVER_INIT( espgal )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,espgal)
{
- pgm_basic_init(machine, false);
- pgm_espgal_decrypt(machine);
- pgm_arm_type1_state *state = machine.driver_data<pgm_arm_type1_state>();
- state->arm_sim_handler = command_handler_ddp3;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x400000, 0x400005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
+ pgm_basic_init(machine(), false);
+ pgm_espgal_decrypt(machine());
+ arm_sim_handler = command_handler_ddp3;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x400000, 0x400005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
}
-DRIVER_INIT( puzzli2 )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,puzzli2)
{
- pgm_arm_type1_state *state = machine.driver_data<pgm_arm_type1_state>();
- pgm_basic_init(machine);
- pgm_puzzli2_decrypt(machine);
- state->arm_sim_handler = command_handler_puzzli2;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pgm_arm7_type1_sim_protram_r));
- state->m_irq4_disabled = 1; // // doesn't like this irq??
+ pgm_basic_init(machine());
+ pgm_puzzli2_decrypt(machine());
+ arm_sim_handler = command_handler_puzzli2;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pgm_arm7_type1_sim_protram_r));
+ m_irq4_disabled = 1; // // doesn't like this irq??
}
-DRIVER_INIT( py2k2 )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,py2k2)
{
- pgm_arm_type1_state *state = machine.driver_data<pgm_arm_type1_state>();
- pgm_basic_init(machine);
- pgm_py2k2_decrypt(machine);
- state->arm_sim_handler = command_handler_py2k2;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pgm_arm7_type1_sim_protram_r));
+ pgm_basic_init(machine());
+ pgm_py2k2_decrypt(machine());
+ arm_sim_handler = command_handler_py2k2;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pgm_arm7_type1_sim_protram_r));
}
-DRIVER_INIT( pstar )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,pstar)
{
- pgm_arm_type1_state *state = machine.driver_data<pgm_arm_type1_state>();
-
- pgm_basic_init(machine);
- pgm_pstar_decrypt(machine);
- pgm_arm7_type1_latch_init(machine);
-
- state->m_pstar_e7_value = 0;
- state->m_pstar_b1_value = 0;
- state->m_pstar_ce_value = 0;
- state->m_extra_ram[0] = 0;
- state->m_extra_ram[1] = 0;
- state->m_extra_ram[2] = 0;
- memset(state->m_slots, 0, 16 * sizeof(UINT32));
-
- state->arm_sim_handler = command_handler_pstars;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pstars_arm7_type1_sim_protram_r));
-
- state->save_item(NAME(state->m_pstar_e7_value));
- state->save_item(NAME(state->m_pstar_b1_value));
- state->save_item(NAME(state->m_pstar_ce_value));
- state->save_item(NAME(state->m_extra_ram));
+ pgm_basic_init(machine());
+ pgm_pstar_decrypt(machine());
+ pgm_arm7_type1_latch_init(machine());
+
+ m_pstar_e7_value = 0;
+ m_pstar_b1_value = 0;
+ m_pstar_ce_value = 0;
+ m_extra_ram[0] = 0;
+ m_extra_ram[1] = 0;
+ m_extra_ram[2] = 0;
+ memset(m_slots, 0, 16 * sizeof(UINT32));
+
+ arm_sim_handler = command_handler_pstars;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pstars_arm7_type1_sim_protram_r));
+
+ save_item(NAME(m_pstar_e7_value));
+ save_item(NAME(m_pstar_b1_value));
+ save_item(NAME(m_pstar_ce_value));
+ save_item(NAME(m_extra_ram));
}
-DRIVER_INIT( kov )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,kov)
{
- pgm_arm_type1_state *state = machine.driver_data<pgm_arm_type1_state>();
- pgm_basic_init(machine);
- pgm_kov_decrypt(machine);
- pgm_arm7_type1_latch_init(machine);
- state->m_curslots = 0;
- state->m_kov_c0_value = 0;
- state->m_kov_cb_value = 0;
- state->m_kov_fe_value = 0;
- state->arm_sim_handler = command_handler_kov;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pgm_arm7_type1_sim_protram_r));
+ pgm_basic_init(machine());
+ pgm_kov_decrypt(machine());
+ pgm_arm7_type1_latch_init(machine());
+ m_curslots = 0;
+ m_kov_c0_value = 0;
+ m_kov_cb_value = 0;
+ m_kov_fe_value = 0;
+ arm_sim_handler = command_handler_kov;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pgm_arm7_type1_sim_protram_r));
}
-DRIVER_INIT( kovboot )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,kovboot)
{
- pgm_arm_type1_state *state = machine.driver_data<pgm_arm_type1_state>();
- pgm_basic_init(machine);
-// pgm_kov_decrypt(machine);
- pgm_arm7_type1_latch_init(machine);
- state->m_curslots = 0;
- state->m_kov_c0_value = 0;
- state->m_kov_cb_value = 0;
- state->m_kov_fe_value = 0;
- state->arm_sim_handler = command_handler_kov;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pgm_arm7_type1_sim_protram_r));
+ pgm_basic_init(machine());
+// pgm_kov_decrypt(machine());
+ pgm_arm7_type1_latch_init(machine());
+ m_curslots = 0;
+ m_kov_c0_value = 0;
+ m_kov_cb_value = 0;
+ m_kov_fe_value = 0;
+ arm_sim_handler = command_handler_kov;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pgm_arm7_type1_sim_protram_r));
}
-DRIVER_INIT( oldsplus )
+DRIVER_INIT_MEMBER(pgm_arm_type1_state,oldsplus)
{
- pgm_arm_type1_state *state = machine.driver_data<pgm_arm_type1_state>();
- pgm_basic_init(machine);
- pgm_oldsplus_decrypt(machine);
- pgm_arm7_type1_latch_init(machine);
- memset(state->m_extra_ram, 0, 0x100 * sizeof(UINT16));
- memset(state->m_slots, 0, 0x100 * sizeof(UINT32));
- state->arm_sim_handler = command_handler_oldsplus;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pgm_arm7_type1_sim_protram_r));
- state_save_register_global_array(machine, state->m_extra_ram);
- state_save_register_global_array(machine, state->m_slots);
+ pgm_basic_init(machine());
+ pgm_oldsplus_decrypt(machine());
+ pgm_arm7_type1_latch_init(machine());
+ memset(m_extra_ram, 0, 0x100 * sizeof(UINT16));
+ memset(m_slots, 0, 0x100 * sizeof(UINT32));
+ arm_sim_handler = command_handler_oldsplus;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x500000, 0x500005, FUNC(pgm_arm7_type1_sim_r), FUNC(pgm_arm7_type1_sim_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x4f0000, 0x4f003f, FUNC(pgm_arm7_type1_sim_protram_r));
+ state_save_register_global_array(machine(), m_extra_ram);
+ state_save_register_global_array(machine(), m_slots);
}
INPUT_PORTS_START( photoy2k )
diff --git a/src/mame/machine/pgmprot2.c b/src/mame/machine/pgmprot2.c
index 2bf37b6ba78..1682119a32e 100644
--- a/src/mame/machine/pgmprot2.c
+++ b/src/mame/machine/pgmprot2.c
@@ -182,27 +182,27 @@ static WRITE32_HANDLER( kov2_arm_region_w )
COMBINE_DATA(&state->m_arm7_shareram[0x138/4]);
}
-DRIVER_INIT( kov2 )
+DRIVER_INIT_MEMBER(pgm_arm_type2_state,kov2)
{
- pgm_basic_init(machine);
- pgm_kov2_decrypt(machine);
- kov2_latch_init(machine);
+ pgm_basic_init(machine());
+ pgm_kov2_decrypt(machine());
+ kov2_latch_init(machine());
// we only have a HK internal ROM dumped for now, allow us to override that for debugging purposes.
- machine.device("prot")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x48000138, 0x4800013b, FUNC(kov2_arm_region_w));
+ machine().device("prot")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x48000138, 0x4800013b, FUNC(kov2_arm_region_w));
}
-DRIVER_INIT( kov2p )
+DRIVER_INIT_MEMBER(pgm_arm_type2_state,kov2p)
{
// this hacks the identification of the kov2 rom to return the string required for kov2p
// this isn't guaranteed to work properly (and definitely wouldn't on real hardware due to the internal
// ROM uploading the encryption table) The internal ROM should be dumped properly.
- pgm_basic_init(machine);
- pgm_kov2p_decrypt(machine);
- kov2_latch_init(machine);
+ pgm_basic_init(machine());
+ pgm_kov2p_decrypt(machine());
+ kov2_latch_init(machine());
- UINT8 *mem8 = (UINT8 *)machine.root_device().memregion("user1")->base();
+ UINT8 *mem8 = (UINT8 *)machine().root_device().memregion("user1")->base();
mem8[0xDE] = 0xC0;
mem8[0xDF] = 0x46;
mem8[0x4ED8] = 0xA8;// B0
@@ -223,7 +223,7 @@ DRIVER_INIT( kov2p )
mem8[0x1FFFFD] = 0x99;
// we only have a HK internal ROM dumped for now, allow us to override that for debugging purposes.
- machine.device("prot")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x48000138, 0x4800013b, FUNC(kov2_arm_region_w));
+ machine().device("prot")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x48000138, 0x4800013b, FUNC(kov2_arm_region_w));
}
static WRITE32_HANDLER( martmast_arm_region_w )
@@ -236,14 +236,14 @@ static WRITE32_HANDLER( martmast_arm_region_w )
}
-DRIVER_INIT( martmast )
+DRIVER_INIT_MEMBER(pgm_arm_type2_state,martmast)
{
- pgm_basic_init(machine);
- pgm_mm_decrypt(machine);
- kov2_latch_init(machine);
+ pgm_basic_init(machine());
+ pgm_mm_decrypt(machine());
+ kov2_latch_init(machine());
// we only have a USA / CHINA internal ROMs dumped for now, allow us to override that for debugging purposes.
- machine.device("prot")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x48000138, 0x4800013b, FUNC(martmast_arm_region_w));
+ machine().device("prot")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x48000138, 0x4800013b, FUNC(martmast_arm_region_w));
}
@@ -291,32 +291,32 @@ static READ16_HANDLER( ddp2_main_speedup_r )
}
-DRIVER_INIT( ddp2 )
+DRIVER_INIT_MEMBER(pgm_arm_type2_state,ddp2)
{
- pgm_basic_init(machine);
- pgm_ddp2_decrypt(machine);
- kov2_latch_init(machine);
+ pgm_basic_init(machine());
+ pgm_ddp2_decrypt(machine());
+ kov2_latch_init(machine());
// we only have a Japan internal ROM dumped for now, allow us to override that for debugging purposes.
- machine.device("prot")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x48000000, 0x48000003, FUNC(ddp2_arm_region_w));
+ machine().device("prot")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x48000000, 0x48000003, FUNC(ddp2_arm_region_w));
- machine.device("prot")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x1800300c, 0x1800300f, FUNC(ddp2_speedup_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x80ee54, 0x80ee55, FUNC(ddp2_main_speedup_r));
+ machine().device("prot")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x1800300c, 0x1800300f, FUNC(ddp2_speedup_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x80ee54, 0x80ee55, FUNC(ddp2_main_speedup_r));
}
-DRIVER_INIT( dw2001 )
+DRIVER_INIT_MEMBER(pgm_arm_type2_state,dw2001)
{
- pgm_basic_init(machine);
- kov2_latch_init(machine);
- pgm_mm_decrypt(machine); // encryption is the same as martial masters
+ pgm_basic_init(machine());
+ kov2_latch_init(machine());
+ pgm_mm_decrypt(machine()); // encryption is the same as martial masters
}
-DRIVER_INIT( dwpc )
+DRIVER_INIT_MEMBER(pgm_arm_type2_state,dwpc)
{
- pgm_basic_init(machine);
- kov2_latch_init(machine);
- pgm_mm_decrypt(machine); // encryption is the same as martial masters
+ pgm_basic_init(machine());
+ kov2_latch_init(machine());
+ pgm_mm_decrypt(machine()); // encryption is the same as martial masters
}
INPUT_PORTS_START( ddp2 )
diff --git a/src/mame/machine/pgmprot3.c b/src/mame/machine/pgmprot3.c
index ae6b5064af3..fc911b2ab20 100644
--- a/src/mame/machine/pgmprot3.c
+++ b/src/mame/machine/pgmprot3.c
@@ -235,35 +235,35 @@ static void svg_latch_init( running_machine &machine )
}
-DRIVER_INIT( theglad )
+DRIVER_INIT_MEMBER(pgm_arm_type3_state,theglad)
{
- svg_basic_init(machine);
- pgm_theglad_decrypt(machine);
- svg_latch_init(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ svg_basic_init(machine());
+ pgm_theglad_decrypt(machine());
+ svg_latch_init(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-DRIVER_INIT( svg )
+DRIVER_INIT_MEMBER(pgm_arm_type3_state,svg)
{
- svg_basic_init(machine);
- pgm_svg_decrypt(machine);
- svg_latch_init(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ svg_basic_init(machine());
+ pgm_svg_decrypt(machine());
+ svg_latch_init(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-DRIVER_INIT( svgpcb )
+DRIVER_INIT_MEMBER(pgm_arm_type3_state,svgpcb)
{
- svg_basic_init(machine);
- pgm_svgpcb_decrypt(machine);
- svg_latch_init(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ svg_basic_init(machine());
+ pgm_svgpcb_decrypt(machine());
+ svg_latch_init(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
-DRIVER_INIT( killbldp )
+DRIVER_INIT_MEMBER(pgm_arm_type3_state,killbldp)
{
- svg_basic_init(machine);
- pgm_killbldp_decrypt(machine);
- svg_latch_init(machine);
+ svg_basic_init(machine());
+ pgm_killbldp_decrypt(machine());
+ svg_latch_init(machine());
}
static READ32_HANDLER( dmnfrnt_speedup_r )
@@ -284,38 +284,36 @@ static READ16_HANDLER( dmnfrnt_main_speedup_r )
return data;
}
-DRIVER_INIT( dmnfrnt )
+DRIVER_INIT_MEMBER(pgm_arm_type3_state,dmnfrnt)
{
- pgm_arm_type3_state *state = machine.driver_data<pgm_arm_type3_state>();
-
- svg_basic_init(machine);
- pgm_dfront_decrypt(machine);
- svg_latch_init(machine);
+ svg_basic_init(machine());
+ pgm_dfront_decrypt(machine());
+ svg_latch_init(machine());
/* put some fake code for the ARM here ... */
- pgm_create_dummy_internal_arm_region(machine);
+ pgm_create_dummy_internal_arm_region(machine());
- machine.device("prot")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x18000444, 0x18000447, FUNC(dmnfrnt_speedup_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x80a03c, 0x80a03d, FUNC(dmnfrnt_main_speedup_r));
+ machine().device("prot")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x18000444, 0x18000447, FUNC(dmnfrnt_speedup_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x80a03c, 0x80a03d, FUNC(dmnfrnt_main_speedup_r));
- state->m_svg_ram_sel = 1;
+ m_svg_ram_sel = 1;
// the internal rom probably also supplies the region here
// we have to copy it to both shared ram regions because it reads from a different one before the attract story?
// could be a timing error? or shared ram behavior isn't how we think it is?
UINT16 *share16;
- share16 = (UINT16 *)(state->m_svg_shareram[1]);
+ share16 = (UINT16 *)(m_svg_shareram[1]);
share16[0x158/2] = 0x0005;
- share16 = (UINT16 *)(state->m_svg_shareram[0]);
+ share16 = (UINT16 *)(m_svg_shareram[0]);
share16[0x158/2] = 0x0005;
}
-DRIVER_INIT( happy6 )
+DRIVER_INIT_MEMBER(pgm_arm_type3_state,happy6)
{
- svg_basic_init(machine);
- pgm_happy6_decrypt(machine);
- svg_latch_init(machine);
- pgm_create_dummy_internal_arm_region(machine);
+ svg_basic_init(machine());
+ pgm_happy6_decrypt(machine());
+ svg_latch_init(machine());
+ pgm_create_dummy_internal_arm_region(machine());
}
diff --git a/src/mame/machine/pgmprot4.c b/src/mame/machine/pgmprot4.c
index cbca59c7daa..1e2de8a0e77 100644
--- a/src/mame/machine/pgmprot4.c
+++ b/src/mame/machine/pgmprot4.c
@@ -369,26 +369,24 @@ static MACHINE_RESET( killbld )
-DRIVER_INIT( killbld )
+DRIVER_INIT_MEMBER(pgm_022_025_state,killbld)
{
- pgm_022_025_state *state = machine.driver_data<pgm_022_025_state>();
-
- pgm_basic_init(machine);
- pgm_killbld_decrypt(machine);
-
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xd40000, 0xd40003, FUNC(killbld_igs025_prot_r), FUNC(killbld_igs025_prot_w));
-
- state->m_kb_cmd = 0;
- state->m_kb_reg = 0;
- state->m_kb_ptr = 0;
- state->m_kb_region_sequence_position = 0;
- memset(state->m_kb_regs, 0, 0x10 * sizeof(UINT32));
-
- state->save_item(NAME(state->m_kb_region_sequence_position));
- state->save_item(NAME(state->m_kb_cmd));
- state->save_item(NAME(state->m_kb_reg));
- state->save_item(NAME(state->m_kb_ptr));
- state->save_item(NAME(state->m_kb_regs));
+ pgm_basic_init(machine());
+ pgm_killbld_decrypt(machine());
+
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xd40000, 0xd40003, FUNC(killbld_igs025_prot_r), FUNC(killbld_igs025_prot_w));
+
+ m_kb_cmd = 0;
+ m_kb_reg = 0;
+ m_kb_ptr = 0;
+ m_kb_region_sequence_position = 0;
+ memset(m_kb_regs, 0, 0x10 * sizeof(UINT32));
+
+ save_item(NAME(m_kb_region_sequence_position));
+ save_item(NAME(m_kb_cmd));
+ save_item(NAME(m_kb_reg));
+ save_item(NAME(m_kb_ptr));
+ save_item(NAME(m_kb_regs));
}
static MACHINE_RESET( dw3 )
@@ -525,26 +523,24 @@ static READ16_HANDLER( drgw3_igs025_prot_r )
}
-DRIVER_INIT( drgw3 )
+DRIVER_INIT_MEMBER(pgm_022_025_state,drgw3)
{
- pgm_basic_init(machine);
+ pgm_basic_init(machine());
/*
- pgm_022_025_state *state = machine.driver_data<pgm_022_025_state>();
-
{
int x;
- UINT16 *RAMDUMP = (UINT16*)state->memregion("user2")->base();
+ UINT16 *RAMDUMP = (UINT16*)memregion("user2")->base();
for (x=0;x<(0x4000/2);x++)
{
- state->m_sharedprotram[x] = RAMDUMP[x];
- if((x>=0x100)&&(x<0x110)) printf("data 0x%4x, offset:%x\n",state->m_sharedprotram[x],x);
+ m_sharedprotram[x] = RAMDUMP[x];
+ if((x>=0x100)&&(x<0x110)) printf("data 0x%4x, offset:%x\n",m_sharedprotram[x],x);
}
}
*/
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xDA5610, 0xDA5613, FUNC(drgw3_igs025_prot_r), FUNC(drgw3_igs025_prot_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xDA5610, 0xDA5613, FUNC(drgw3_igs025_prot_r), FUNC(drgw3_igs025_prot_w));
- pgm_dw3_decrypt(machine);
+ pgm_dw3_decrypt(machine());
}
diff --git a/src/mame/machine/pgmprot5.c b/src/mame/machine/pgmprot5.c
index dfff316b4f8..9385032dd99 100644
--- a/src/mame/machine/pgmprot5.c
+++ b/src/mame/machine/pgmprot5.c
@@ -64,10 +64,10 @@ static void drgwld2_common_init(running_machine &machine)
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xd80000, 0xd80003, FUNC(dw2_d80000_r));
}
-DRIVER_INIT( drgw2 )
+DRIVER_INIT_MEMBER(pgm_state,drgw2)
{ /* incomplete? */
- UINT16 *mem16 = (UINT16 *)machine.root_device().memregion("maincpu")->base();
- drgwld2_common_init(machine);
+ UINT16 *mem16 = (UINT16 *)machine().root_device().memregion("maincpu")->base();
+ drgwld2_common_init(machine());
/* These ROM patches are not hacks, the protection device
overlays the normal ROM code, this has been confirmed on a real PCB
although some addresses may be missing */
@@ -76,20 +76,20 @@ DRIVER_INIT( drgw2 )
mem16[0x1311ce / 2] = 0x4e93;
}
-DRIVER_INIT( dw2v100x )
+DRIVER_INIT_MEMBER(pgm_state,dw2v100x)
{
- UINT16 *mem16 = (UINT16 *)machine.root_device().memregion("maincpu")->base();
- drgwld2_common_init(machine);
+ UINT16 *mem16 = (UINT16 *)machine().root_device().memregion("maincpu")->base();
+ drgwld2_common_init(machine());
mem16[0x131084 / 2] = 0x4e93;
mem16[(0x131084+0xa6) / 2] = 0x4e93;
mem16[(0x131084+0x136) / 2] = 0x4e93;
}
-DRIVER_INIT( drgw2c )
+DRIVER_INIT_MEMBER(pgm_state,drgw2c)
{
- UINT16 *mem16 = (UINT16 *)machine.root_device().memregion("maincpu")->base();
- drgwld2_common_init(machine);
+ UINT16 *mem16 = (UINT16 *)machine().root_device().memregion("maincpu")->base();
+ drgwld2_common_init(machine());
/* These ROM patches are not hacks, the protection device
overlays the normal ROM code, this has been confirmed on a real PCB
although some addresses may be missing */
@@ -98,10 +98,10 @@ DRIVER_INIT( drgw2c )
mem16[0x1304f2 / 2] = 0x4e93;
}
-DRIVER_INIT( drgw2j )
+DRIVER_INIT_MEMBER(pgm_state,drgw2j)
{
- UINT16 *mem16 = (UINT16 *)machine.root_device().memregion("maincpu")->base();
- drgwld2_common_init(machine);
+ UINT16 *mem16 = (UINT16 *)machine().root_device().memregion("maincpu")->base();
+ drgwld2_common_init(machine());
/* These ROM patches are not hacks, the protection device
overlays the normal ROM code, this has been confirmed on a real PCB
although some addresses may be missing */
diff --git a/src/mame/machine/pgmprot6.c b/src/mame/machine/pgmprot6.c
index e103a5eb846..37dea95b2e2 100644
--- a/src/mame/machine/pgmprot6.c
+++ b/src/mame/machine/pgmprot6.c
@@ -192,25 +192,24 @@ static READ16_HANDLER( olds_prot_swap_r )
}
-DRIVER_INIT( olds )
+DRIVER_INIT_MEMBER(pgm_028_025_state,olds)
{
- pgm_028_025_state *state = machine.driver_data<pgm_028_025_state>();
- pgm_basic_init(machine);
-
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xdcb400, 0xdcb403, FUNC(olds_r), FUNC(olds_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x8178f4, 0x8178f5, FUNC(olds_prot_swap_r));
-
- state->m_kb_cmd = 0;
- state->m_kb_reg = 0;
- state->m_kb_ptr = 0;
- state->m_olds_bs = 0;
- state->m_olds_cmd3 = 0;
-
- state->save_item(NAME(state->m_kb_cmd));
- state->save_item(NAME(state->m_kb_reg));
- state->save_item(NAME(state->m_kb_ptr));
- state->save_item(NAME(state->m_olds_bs));
- state->save_item(NAME(state->m_olds_cmd3));
+ pgm_basic_init(machine());
+
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xdcb400, 0xdcb403, FUNC(olds_r), FUNC(olds_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x8178f4, 0x8178f5, FUNC(olds_prot_swap_r));
+
+ m_kb_cmd = 0;
+ m_kb_reg = 0;
+ m_kb_ptr = 0;
+ m_olds_bs = 0;
+ m_olds_cmd3 = 0;
+
+ save_item(NAME(m_kb_cmd));
+ save_item(NAME(m_kb_reg));
+ save_item(NAME(m_kb_ptr));
+ save_item(NAME(m_olds_bs));
+ save_item(NAME(m_olds_cmd3));
}
static ADDRESS_MAP_START( olds_mem, AS_PROGRAM, 16, pgm_028_025_state )
diff --git a/src/mame/machine/playch10.c b/src/mame/machine/playch10.c
index c2ea172f415..6bbc859d9ee 100644
--- a/src/mame/machine/playch10.c
+++ b/src/mame/machine/playch10.c
@@ -410,16 +410,15 @@ static void set_videoram_bank( running_machine &machine, int first, int count, i
*
*************************************/
-DRIVER_INIT( playch10 )
+DRIVER_INIT_MEMBER(playch10_state,playch10)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- state->m_vram = NULL;
+ m_vram = NULL;
/* set the controller to default */
- state->m_pc10_gun_controller = 0;
+ m_pc10_gun_controller = 0;
/* default mirroring */
- state->m_mirroring = PPU_MIRROR_NONE;
+ m_mirroring = PPU_MIRROR_NONE;
}
/**********************************************************************************
@@ -430,30 +429,28 @@ DRIVER_INIT( playch10 )
/* Gun games */
-DRIVER_INIT( pc_gun )
+DRIVER_INIT_MEMBER(playch10_state,pc_gun)
{
- playch10_state *state = machine.driver_data<playch10_state>();
/* common init */
DRIVER_INIT_CALL(playch10);
/* we have no vram, make sure switching games doesn't point to an old allocation */
- state->m_vram = NULL;
+ m_vram = NULL;
/* set the control type */
- state->m_pc10_gun_controller = 1;
+ m_pc10_gun_controller = 1;
}
/* Horizontal mirroring */
-DRIVER_INIT( pc_hrz )
+DRIVER_INIT_MEMBER(playch10_state,pc_hrz)
{
- playch10_state *state = machine.driver_data<playch10_state>();
/* common init */
DRIVER_INIT_CALL(playch10);
/* setup mirroring */
- state->m_mirroring = PPU_MIRROR_HORZ;
+ m_mirroring = PPU_MIRROR_HORZ;
}
/* MMC1 mapper, used by D and F boards */
@@ -583,20 +580,19 @@ WRITE8_MEMBER(playch10_state::aboard_vrom_switch_w)
pc10_set_videorom_bank(machine(), 0, 8, (data & 3), 8);
}
-DRIVER_INIT( pcaboard )
+DRIVER_INIT_MEMBER(playch10_state,pcaboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
/* switches vrom with writes to the $803e-$8041 area */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0x8fff, write8_delegate(FUNC(playch10_state::aboard_vrom_switch_w),state));
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0x8fff, write8_delegate(FUNC(playch10_state::aboard_vrom_switch_w),this));
/* common init */
DRIVER_INIT_CALL(playch10);
/* set the mirroring here */
- state->m_mirroring = PPU_MIRROR_VERT;
+ m_mirroring = PPU_MIRROR_VERT;
/* we have no vram, make sure switching games doesn't point to an old allocation */
- state->m_vram = NULL;
+ m_vram = NULL;
}
/**********************************************************************************/
@@ -610,28 +606,27 @@ WRITE8_MEMBER(playch10_state::bboard_rom_switch_w)
memcpy(&prg[0x08000], &prg[bankoffset], 0x4000);
}
-DRIVER_INIT( pcbboard )
+DRIVER_INIT_MEMBER(playch10_state,pcbboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- UINT8 *prg = state->memregion("cart")->base();
+ UINT8 *prg = memregion("cart")->base();
/* We do manual banking, in case the code falls through */
/* Copy the initial banks */
memcpy(&prg[0x08000], &prg[0x28000], 0x8000);
/* Roms are banked at $8000 to $bfff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::bboard_rom_switch_w),state));
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::bboard_rom_switch_w),this));
/* common init */
DRIVER_INIT_CALL(playch10);
/* allocate vram */
- state->m_vram = auto_alloc_array(machine, UINT8, 0x2000);
+ m_vram = auto_alloc_array(machine(), UINT8, 0x2000);
/* set the mirroring here */
- state->m_mirroring = PPU_MIRROR_VERT;
+ m_mirroring = PPU_MIRROR_VERT;
/* special init */
- set_videoram_bank(machine, 0, 8, 0, 8);
+ set_videoram_bank(machine(), 0, 8, 0, 8);
}
/**********************************************************************************/
@@ -642,14 +637,13 @@ WRITE8_MEMBER(playch10_state::cboard_vrom_switch_w)
pc10_set_videorom_bank(machine(), 0, 8, ((data >> 1) & 1), 8);
}
-DRIVER_INIT( pccboard )
+DRIVER_INIT_MEMBER(playch10_state,pccboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
/* switches vrom with writes to $6000 */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x6000, 0x6000, write8_delegate(FUNC(playch10_state::cboard_vrom_switch_w),state));
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x6000, 0x6000, write8_delegate(FUNC(playch10_state::cboard_vrom_switch_w),this));
/* we have no vram, make sure switching games doesn't point to an old allocation */
- state->m_vram = NULL;
+ m_vram = NULL;
/* common init */
DRIVER_INIT_CALL(playch10);
@@ -658,44 +652,42 @@ DRIVER_INIT( pccboard )
/**********************************************************************************/
/* D Board games (Rad Racer) */
-DRIVER_INIT( pcdboard )
+DRIVER_INIT_MEMBER(playch10_state,pcdboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- UINT8 *prg = state->memregion("cart")->base();
+ UINT8 *prg = memregion("cart")->base();
/* We do manual banking, in case the code falls through */
/* Copy the initial banks */
memcpy(&prg[0x08000], &prg[0x28000], 0x8000);
- state->m_mmc1_rom_mask = 0x07;
+ m_mmc1_rom_mask = 0x07;
/* MMC mapper at writes to $8000-$ffff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::mmc1_rom_switch_w),state));
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::mmc1_rom_switch_w),this));
/* common init */
DRIVER_INIT_CALL(playch10);
/* allocate vram */
- state->m_vram = auto_alloc_array(machine, UINT8, 0x2000);
+ m_vram = auto_alloc_array(machine(), UINT8, 0x2000);
/* special init */
- set_videoram_bank(machine, 0, 8, 0, 8);
+ set_videoram_bank(machine(), 0, 8, 0, 8);
}
/* D Board games with extra ram (Metroid) */
-DRIVER_INIT( pcdboard_2 )
+DRIVER_INIT_MEMBER(playch10_state,pcdboard_2)
{
- playch10_state *state = machine.driver_data<playch10_state>();
/* extra ram at $6000-$7fff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
/* common init */
DRIVER_INIT_CALL(pcdboard);
/* allocate vram */
- state->m_vram = auto_alloc_array(machine, UINT8, 0x2000);
+ m_vram = auto_alloc_array(machine(), UINT8, 0x2000);
/* special init */
- set_videoram_bank(machine, 0, 8, 0, 8);
+ set_videoram_bank(machine(), 0, 8, 0, 8);
}
/**********************************************************************************/
@@ -772,27 +764,26 @@ WRITE8_MEMBER(playch10_state::eboard_rom_switch_w)
}
}
-DRIVER_INIT( pceboard )
+DRIVER_INIT_MEMBER(playch10_state,pceboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- ppu2c0x_device *ppu = machine.device<ppu2c0x_device>("ppu");
- UINT8 *prg = state->memregion("cart")->base();
+ ppu2c0x_device *ppu = machine().device<ppu2c0x_device>("ppu");
+ UINT8 *prg = memregion("cart")->base();
/* we have no vram, make sure switching games doesn't point to an old allocation */
- state->m_vram = NULL;
+ m_vram = NULL;
/* We do manual banking, in case the code falls through */
/* Copy the initial banks */
memcpy(&prg[0x08000], &prg[0x28000], 0x8000);
/* basically a mapper 9 on a nes */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::eboard_rom_switch_w),state));
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::eboard_rom_switch_w),this));
/* ppu_latch callback */
ppu->set_latch(mapper9_latch);
/* nvram at $6000-$6fff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x6fff);
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x6fff);
/* common init */
DRIVER_INIT_CALL(playch10);
@@ -801,22 +792,21 @@ DRIVER_INIT( pceboard )
/**********************************************************************************/
/* F Board games (Ninja Gaiden, Double Dragon) */
-DRIVER_INIT( pcfboard )
+DRIVER_INIT_MEMBER(playch10_state,pcfboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- UINT8 *prg = state->memregion("cart")->base();
+ UINT8 *prg = memregion("cart")->base();
/* we have no vram, make sure switching games doesn't point to an old allocation */
- state->m_vram = NULL;
+ m_vram = NULL;
/* We do manual banking, in case the code falls through */
/* Copy the initial banks */
memcpy(&prg[0x08000], &prg[0x28000], 0x8000);
- state->m_mmc1_rom_mask = 0x07;
+ m_mmc1_rom_mask = 0x07;
/* MMC mapper at writes to $8000-$ffff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::mmc1_rom_switch_w),state));
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::mmc1_rom_switch_w),this));
/* common init */
DRIVER_INIT_CALL(playch10);
@@ -824,13 +814,12 @@ DRIVER_INIT( pcfboard )
/* F Board games with extra ram (Baseball Stars) */
-DRIVER_INIT( pcfboard_2 )
+DRIVER_INIT_MEMBER(playch10_state,pcfboard_2)
{
- playch10_state *state = machine.driver_data<playch10_state>();
/* extra ram at $6000-$6fff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x6fff);
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x6fff);
- state->m_vram = NULL;
+ m_vram = NULL;
/* common init */
DRIVER_INIT_CALL(pcfboard);
@@ -992,12 +981,11 @@ WRITE8_MEMBER(playch10_state::gboard_rom_switch_w)
}
}
-DRIVER_INIT( pcgboard )
+DRIVER_INIT_MEMBER(playch10_state,pcgboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- ppu2c0x_device *ppu = machine.device<ppu2c0x_device>("ppu");
- UINT8 *prg = state->memregion("cart")->base();
- state->m_vram = NULL;
+ ppu2c0x_device *ppu = machine().device<ppu2c0x_device>("ppu");
+ UINT8 *prg = memregion("cart")->base();
+ m_vram = NULL;
/* We do manual banking, in case the code falls through */
/* Copy the initial banks */
@@ -1005,18 +993,18 @@ DRIVER_INIT( pcgboard )
memcpy(&prg[0x0c000], &prg[0x4c000], 0x4000);
/* MMC3 mapper at writes to $8000-$ffff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::gboard_rom_switch_w),state));
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::gboard_rom_switch_w),this));
/* extra ram at $6000-$7fff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
- state->m_gboard_banks[0] = 0x1e;
- state->m_gboard_banks[1] = 0x1f;
- state->m_gboard_scanline_counter = 0;
- state->m_gboard_scanline_latch = 0;
- state->m_gboard_4screen = 0;
- state->m_IRQ_enable = 0;
- state->m_IRQ_count = state->m_IRQ_count_latch = 0;
+ m_gboard_banks[0] = 0x1e;
+ m_gboard_banks[1] = 0x1f;
+ m_gboard_scanline_counter = 0;
+ m_gboard_scanline_latch = 0;
+ m_gboard_4screen = 0;
+ m_IRQ_enable = 0;
+ m_IRQ_count = m_IRQ_count_latch = 0;
/* common init */
DRIVER_INIT_CALL(playch10);
@@ -1024,15 +1012,14 @@ DRIVER_INIT( pcgboard )
ppu->set_scanline_callback(gboard_scanline_cb);
}
-DRIVER_INIT( pcgboard_type2 )
+DRIVER_INIT_MEMBER(playch10_state,pcgboard_type2)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- state->m_vram = NULL;
+ m_vram = NULL;
/* common init */
DRIVER_INIT_CALL(pcgboard);
/* enable 4 screen mirror */
- state->m_gboard_4screen = 1;
+ m_gboard_4screen = 1;
}
/**********************************************************************************/
@@ -1051,25 +1038,24 @@ WRITE8_MEMBER(playch10_state::iboard_rom_switch_w)
memcpy(&prg[0x08000], &prg[bank * 0x8000 + 0x10000], 0x8000);
}
-DRIVER_INIT( pciboard )
+DRIVER_INIT_MEMBER(playch10_state,pciboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- UINT8 *prg = state->memregion("cart")->base();
+ UINT8 *prg = memregion("cart")->base();
/* We do manual banking, in case the code falls through */
/* Copy the initial banks */
memcpy(&prg[0x08000], &prg[0x10000], 0x8000);
/* Roms are banked at $8000 to $bfff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::iboard_rom_switch_w),state));
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::iboard_rom_switch_w),this));
/* common init */
DRIVER_INIT_CALL(playch10);
/* allocate vram */
- state->m_vram = auto_alloc_array(machine, UINT8, 0x2000);
+ m_vram = auto_alloc_array(machine(), UINT8, 0x2000);
/* special init */
- set_videoram_bank(machine, 0, 8, 0, 8);
+ set_videoram_bank(machine(), 0, 8, 0, 8);
}
/**********************************************************************************/
@@ -1121,25 +1107,24 @@ WRITE8_MEMBER(playch10_state::hboard_rom_switch_w)
};
-DRIVER_INIT( pchboard )
+DRIVER_INIT_MEMBER(playch10_state,pchboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- UINT8 *prg = state->memregion("cart")->base();
+ UINT8 *prg = memregion("cart")->base();
memcpy(&prg[0x08000], &prg[0x4c000], 0x4000);
memcpy(&prg[0x0c000], &prg[0x4c000], 0x4000);
/* Roms are banked at $8000 to $bfff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::hboard_rom_switch_w),state));
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::hboard_rom_switch_w),this));
/* extra ram at $6000-$7fff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
- state->m_gboard_banks[0] = 0x1e;
- state->m_gboard_banks[1] = 0x1f;
- state->m_gboard_scanline_counter = 0;
- state->m_gboard_scanline_latch = 0;
- state->m_gboard_last_bank = 0xff;
- state->m_gboard_command = 0;
+ m_gboard_banks[0] = 0x1e;
+ m_gboard_banks[1] = 0x1f;
+ m_gboard_scanline_counter = 0;
+ m_gboard_scanline_latch = 0;
+ m_gboard_last_bank = 0xff;
+ m_gboard_command = 0;
/* common init */
DRIVER_INIT_CALL(playch10);
@@ -1148,28 +1133,27 @@ DRIVER_INIT( pchboard )
/**********************************************************************************/
/* K Board games (Mario Open Golf) */
-DRIVER_INIT( pckboard )
+DRIVER_INIT_MEMBER(playch10_state,pckboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- UINT8 *prg = state->memregion("cart")->base();
+ UINT8 *prg = memregion("cart")->base();
/* We do manual banking, in case the code falls through */
/* Copy the initial banks */
memcpy(&prg[0x08000], &prg[0x48000], 0x8000);
- state->m_mmc1_rom_mask = 0x0f;
+ m_mmc1_rom_mask = 0x0f;
/* extra ram at $6000-$7fff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
/* Roms are banked at $8000 to $bfff */
- machine.device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::mmc1_rom_switch_w),state));
+ machine().device("cart")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(playch10_state::mmc1_rom_switch_w),this));
/* common init */
DRIVER_INIT_CALL(playch10);
/* allocate vram */
- state->m_vram = auto_alloc_array(machine, UINT8, 0x2000);
+ m_vram = auto_alloc_array(machine(), UINT8, 0x2000);
/* special init */
- set_videoram_bank(machine, 0, 8, 0, 8);
+ set_videoram_bank(machine(), 0, 8, 0, 8);
}
diff --git a/src/mame/machine/scramble.c b/src/mame/machine/scramble.c
index 3d6aca950e8..8631ee4eb66 100644
--- a/src/mame/machine/scramble.c
+++ b/src/mame/machine/scramble.c
@@ -151,90 +151,87 @@ WRITE8_HANDLER( hunchbks_mirror_w )
-DRIVER_INIT( scramble_ppi )
+DRIVER_INIT_MEMBER(scramble_state,scramble_ppi)
{
}
-static DRIVER_INIT( scobra )
+DRIVER_INIT_MEMBER(scramble_state,scobra)
{
- scramble_state *state = machine.driver_data<scramble_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa803, 0xa803, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa803, 0xa803, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),this));
}
#ifdef UNUSED_FUNCTION
-DRIVER_INIT( atlantis )
+DRIVER_INIT_MEMBER(scramble_state,atlantis)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x6803, 0x6803, FUNC(scrambold_background_enable_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x6803, 0x6803, FUNC(scrambold_background_enable_w));
}
-DRIVER_INIT( scramble )
+DRIVER_INIT_MEMBER(scramble_state,scramble)
{
DRIVER_INIT_CALL(atlantis);
}
#endif
-DRIVER_INIT( stratgyx )
+DRIVER_INIT_MEMBER(scramble_state,stratgyx)
{
- scramble_state *state = machine.driver_data<scramble_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb000, 0xb000, write8_delegate(FUNC(scramble_state::scrambold_background_green_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb002, 0xb002, write8_delegate(FUNC(scramble_state::scrambold_background_blue_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb00a, 0xb00a, write8_delegate(FUNC(scramble_state::scrambold_background_red_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb000, 0xb000, write8_delegate(FUNC(scramble_state::scrambold_background_green_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb002, 0xb002, write8_delegate(FUNC(scramble_state::scrambold_background_blue_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb00a, 0xb00a, write8_delegate(FUNC(scramble_state::scrambold_background_red_w),this));
}
-DRIVER_INIT( tazmani2 )
+DRIVER_INIT_MEMBER(scramble_state,tazmani2)
{
- scramble_state *state = machine.driver_data<scramble_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb002, 0xb002, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb002, 0xb002, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),this));
}
-DRIVER_INIT( ckongs )
+DRIVER_INIT_MEMBER(scramble_state,ckongs)
{
}
-DRIVER_INIT( mariner )
+DRIVER_INIT_MEMBER(scramble_state,mariner)
{
/* extra ROM */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5800, 0x67ff, "bank1");
- machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x5800, 0x67ff);
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base() + 0x5800);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5800, 0x67ff, "bank1");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x5800, 0x67ff);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base() + 0x5800);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x9008, 0x9008, FUNC(mariner_protection_2_r));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xb401, 0xb401, FUNC(mariner_protection_1_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x9008, 0x9008, FUNC(mariner_protection_2_r));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xb401, 0xb401, FUNC(mariner_protection_1_r));
/* ??? (it's NOT a background enable) */
- /*machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x6803, 0x6803);*/
+ /*machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x6803, 0x6803);*/
}
#ifdef UNUSED_FUNCTION
-DRIVER_INIT( frogger )
+DRIVER_INIT_MEMBER(scramble_state,frogger)
{
offs_t A;
UINT8 *ROM;
/* the first ROM of the second CPU has data lines D0 and D1 swapped. Decode it. */
- ROM = machine.root_device().memregion("audiocpu")->base();
+ ROM = machine().root_device().memregion("audiocpu")->base();
for (A = 0;A < 0x0800;A++)
ROM[A] = BITSWAP8(ROM[A],7,6,5,4,3,2,0,1);
/* likewise, the 2nd gfx ROM has data lines D0 and D1 swapped. Decode it. */
- ROM = machine.root_device().memregion("gfx1")->base();
+ ROM = machine().root_device().memregion("gfx1")->base();
for (A = 0x0800;A < 0x1000;A++)
ROM[A] = BITSWAP8(ROM[A],7,6,5,4,3,2,0,1);
}
-DRIVER_INIT( froggers )
+DRIVER_INIT_MEMBER(scramble_state,froggers)
{
offs_t A;
UINT8 *ROM;
/* the first ROM of the second CPU has data lines D0 and D1 swapped. Decode it. */
- ROM = machine.root_device().memregion("audiocpu")->base();
+ ROM = machine().root_device().memregion("audiocpu")->base();
for (A = 0;A < 0x0800;A++)
ROM[A] = BITSWAP8(ROM[A],7,6,5,4,3,2,0,1);
}
#endif
-DRIVER_INIT( devilfsh )
+DRIVER_INIT_MEMBER(scramble_state,devilfsh)
{
offs_t i;
UINT8 *RAM;
@@ -246,7 +243,7 @@ DRIVER_INIT( devilfsh )
/* A2 -> A3 */
/* A3 -> A1 */
- RAM = machine.root_device().memregion("maincpu")->base();
+ RAM = machine().root_device().memregion("maincpu")->base();
for (i = 0; i < 0x10000; i += 16)
{
offs_t j;
@@ -263,46 +260,44 @@ DRIVER_INIT( devilfsh )
}
}
-DRIVER_INIT( mars )
+DRIVER_INIT_MEMBER(scramble_state,mars)
{
DRIVER_INIT_CALL(devilfsh);
}
-DRIVER_INIT( hotshock )
+DRIVER_INIT_MEMBER(scramble_state,hotshock)
{
/* protection??? The game jumps into never-neverland here. I think
it just expects a RET there */
- machine.root_device().memregion("maincpu")->base()[0x2ef9] = 0xc9;
+ machine().root_device().memregion("maincpu")->base()[0x2ef9] = 0xc9;
}
-DRIVER_INIT( cavelon )
+DRIVER_INIT_MEMBER(scramble_state,cavelon)
{
- scramble_state *state = machine.driver_data<scramble_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
/* banked ROM */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1");
- state->membank("bank1")->configure_entries(0, 2, &ROM[0x00000], 0x10000);
- cavelon_banksw(machine);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1");
+ membank("bank1")->configure_entries(0, 2, &ROM[0x00000], 0x10000);
+ cavelon_banksw(machine());
/* A15 switches memory banks */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x8000, 0xffff, FUNC(cavelon_banksw_r), FUNC(cavelon_banksw_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x8000, 0xffff, FUNC(cavelon_banksw_r), FUNC(cavelon_banksw_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x2000, 0x2000); /* ??? */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x3800, 0x3801); /* looks suspicously like
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x2000, 0x2000); /* ??? */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x3800, 0x3801); /* looks suspicously like
an AY8910, but not sure */
- state_save_register_global(machine, state->m_cavelon_bank);
+ state_save_register_global(machine(), m_cavelon_bank);
}
-DRIVER_INIT( darkplnt )
+DRIVER_INIT_MEMBER(scramble_state,darkplnt)
{
- scramble_state *state = machine.driver_data<scramble_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb00a, 0xb00a, write8_delegate(FUNC(scramble_state::darkplnt_bullet_color_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb00a, 0xb00a, write8_delegate(FUNC(scramble_state::darkplnt_bullet_color_w),this));
}
-DRIVER_INIT( mimonkey )
+DRIVER_INIT_MEMBER(scramble_state,mimonkey)
{
static const UINT8 xortable[16][16] =
{
@@ -324,7 +319,7 @@ DRIVER_INIT( mimonkey )
{ 0x80,0x87,0x81,0x87,0x83,0x00,0x84,0x01,0x01,0x86,0x86,0x80,0x86,0x00,0x86,0x86 }
};
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
int A, ctr = 0, line, col;
for( A = 0; A < 0x4000; A++ )
@@ -334,20 +329,17 @@ DRIVER_INIT( mimonkey )
ROM[A] = ROM[A] ^ xortable[line][col];
ctr++;
}
- scramble_state *state = machine.driver_data<scramble_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa804, 0xa804, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa804, 0xa804, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),this));
}
-DRIVER_INIT( mimonsco )
+DRIVER_INIT_MEMBER(scramble_state,mimonsco)
{
- scramble_state *state = machine.driver_data<scramble_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa804, 0xa804, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xa804, 0xa804, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),this));
}
-DRIVER_INIT( mimonscr )
+DRIVER_INIT_MEMBER(scramble_state,mimonscr)
{
- scramble_state *state = machine.driver_data<scramble_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x6804, 0x6804, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x6804, 0x6804, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),this));
}
@@ -358,7 +350,7 @@ INLINE int bit(int i,int n)
#ifdef UNUSED_FUNCTION
-DRIVER_INIT( anteater )
+DRIVER_INIT_MEMBER(scramble_state,anteater)
{
offs_t i, len;
UINT8 *RAM;
@@ -372,8 +364,8 @@ DRIVER_INIT( anteater )
* Optimizations done by Fabio Buffoni
*/
- RAM = machine.root_device().memregion("gfx1")->base();
- len = machine.root_device().memregion("gfx1")->bytes();
+ RAM = machine().root_device().memregion("gfx1")->base();
+ len = machine().root_device().memregion("gfx1")->bytes();
scratch = alloc_array_or_die(UINT8, len);
@@ -396,7 +388,7 @@ DRIVER_INIT( anteater )
}
#endif
-DRIVER_INIT( rescue )
+DRIVER_INIT_MEMBER(scramble_state,rescue)
{
offs_t i, len;
UINT8 *RAM;
@@ -410,10 +402,10 @@ DRIVER_INIT( rescue )
* Optimizations done by Fabio Buffoni
*/
- RAM = machine.root_device().memregion("gfx1")->base();
- len = machine.root_device().memregion("gfx1")->bytes();
+ RAM = machine().root_device().memregion("gfx1")->base();
+ len = machine().root_device().memregion("gfx1")->bytes();
- scratch = auto_alloc_array(machine, UINT8, len);
+ scratch = auto_alloc_array(machine(), UINT8, len);
memcpy(scratch, RAM, len);
@@ -430,10 +422,10 @@ DRIVER_INIT( rescue )
RAM[i] = scratch[j];
}
- auto_free(machine, scratch);
+ auto_free(machine(), scratch);
}
-DRIVER_INIT( minefld )
+DRIVER_INIT_MEMBER(scramble_state,minefld)
{
offs_t i, len;
UINT8 *RAM;
@@ -446,10 +438,10 @@ DRIVER_INIT( minefld )
* Code To Decode Minefield by Mike Balfour and Nicola Salmoria
*/
- RAM = machine.root_device().memregion("gfx1")->base();
- len = machine.root_device().memregion("gfx1")->bytes();
+ RAM = machine().root_device().memregion("gfx1")->base();
+ len = machine().root_device().memregion("gfx1")->bytes();
- scratch = auto_alloc_array(machine, UINT8, len);
+ scratch = auto_alloc_array(machine(), UINT8, len);
memcpy(scratch, RAM, len);
@@ -467,11 +459,11 @@ DRIVER_INIT( minefld )
RAM[i] = scratch[j];
}
- auto_free(machine, scratch);
+ auto_free(machine(), scratch);
}
#ifdef UNUSED_FUNCTION
-DRIVER_INIT( losttomb )
+DRIVER_INIT_MEMBER(scramble_state,losttomb)
{
offs_t i, len;
UINT8 *RAM;
@@ -485,8 +477,8 @@ DRIVER_INIT( losttomb )
* Optimizations done by Fabio Buffoni
*/
- RAM = machine.root_device().memregion("gfx1")->base();
- len = machine.root_device().memregion("gfx1")->bytes();
+ RAM = machine().root_device().memregion("gfx1")->base();
+ len = machine().root_device().memregion("gfx1")->bytes();
scratch = alloc_array_or_die(UINT8, len);
@@ -509,10 +501,10 @@ DRIVER_INIT( losttomb )
}
#endif
-DRIVER_INIT( hustler )
+DRIVER_INIT_MEMBER(scramble_state,hustler)
{
offs_t A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0x4000;A++)
@@ -540,7 +532,7 @@ DRIVER_INIT( hustler )
/* the first ROM of the second CPU has data lines D0 and D1 swapped. Decode it. */
{
- rom = machine.root_device().memregion("audiocpu")->base();
+ rom = machine().root_device().memregion("audiocpu")->base();
for (A = 0;A < 0x0800;A++)
@@ -548,21 +540,21 @@ DRIVER_INIT( hustler )
}
}
-DRIVER_INIT( hustlerd )
+DRIVER_INIT_MEMBER(scramble_state,hustlerd)
{
/* the first ROM of the second CPU has data lines D0 and D1 swapped. Decode it. */
offs_t A;
- UINT8 *rom = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *rom = machine().root_device().memregion("audiocpu")->base();
for (A = 0;A < 0x0800;A++)
rom[A] = BITSWAP8(rom[A],7,6,5,4,3,2,0,1);
}
-DRIVER_INIT( billiard )
+DRIVER_INIT_MEMBER(scramble_state,billiard)
{
offs_t A;
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
for (A = 0;A < 0x4000;A++)
@@ -592,7 +584,7 @@ DRIVER_INIT( billiard )
/* the first ROM of the second CPU has data lines D0 and D1 swapped. Decode it. */
{
- rom = machine.root_device().memregion("audiocpu")->base();
+ rom = machine().root_device().memregion("audiocpu")->base();
for (A = 0;A < 0x0800;A++)
@@ -608,20 +600,20 @@ DRIVER_INIT( billiard )
address lines swapped - a0-a2,a1-a0,a2-a3,a3-a1.
*************************************************************/
-DRIVER_INIT( mrkougar )
+DRIVER_INIT_MEMBER(scramble_state,mrkougar)
{
DRIVER_INIT_CALL(devilfsh);
}
-DRIVER_INIT( mrkougb )
+DRIVER_INIT_MEMBER(scramble_state,mrkougb)
{
}
-DRIVER_INIT( ad2083 )
+DRIVER_INIT_MEMBER(scramble_state,ad2083)
{
UINT8 c;
- int i, len = machine.root_device().memregion("maincpu")->bytes();
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ int i, len = machine().root_device().memregion("maincpu")->bytes();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
for (i=0; i<len; i++)
{
diff --git a/src/mame/machine/segamsys.c b/src/mame/machine/segamsys.c
index de90243f1b1..dc95b0daa1c 100644
--- a/src/mame/machine/segamsys.c
+++ b/src/mame/machine/segamsys.c
@@ -1396,7 +1396,7 @@ void init_for_megadrive(running_machine &machine)
-DRIVER_INIT( megatech_bios )
+void init_megatech_bios(running_machine &machine)
{
vdp1 = (struct sms_vdp *)start_vdp(machine, SMS2_VDP);
vdp1->set_irq = sms_vdp_cpu2_irq_callback;
@@ -1411,7 +1411,7 @@ DRIVER_INIT( megatech_bios )
smsgg_backupram = 0;
}
-DRIVER_INIT( smscm )
+void init_smscm(running_machine &machine)
{
megatech_set_genz80_as_sms_standard_map(machine, "maincpu", MAPPER_CODEMASTERS);
@@ -1428,7 +1428,7 @@ DRIVER_INIT( smscm )
smsgg_backupram = 0;
}
-DRIVER_INIT( smspal )
+void init_smspal(running_machine &machine)
{
megatech_set_genz80_as_sms_standard_map(machine, "maincpu", MAPPER_STANDARD);
@@ -1445,7 +1445,7 @@ DRIVER_INIT( smspal )
smsgg_backupram = 0;
}
-DRIVER_INIT( sms )
+void init_sms(running_machine &machine)
{
megatech_set_genz80_as_sms_standard_map(machine, "maincpu", MAPPER_STANDARD);
@@ -1489,7 +1489,7 @@ void init_extra_gg_ports(running_machine& machine, const char* tag)
io->install_legacy_read_handler (0x00, 0x00, FUNC(sms_ioport_gg00_r));
}
-DRIVER_INIT( smsgg )
+void init_smsgg(running_machine &machine)
{
megatech_set_genz80_as_sms_standard_map(machine, "maincpu", MAPPER_STANDARD);
init_extra_gg_ports(machine, "maincpu");
@@ -1505,7 +1505,7 @@ DRIVER_INIT( smsgg )
}
-DRIVER_INIT( hazemd_segasyse )
+void init_hazemd_segasyse(running_machine &machine)
{
vdp1 = (struct sms_vdp *)start_vdp(machine, SMS2_VDP);
// vdp1->set_irq = sms_vdp_cpu0_irq_callback;
diff --git a/src/mame/machine/snes.c b/src/mame/machine/snes.c
index 176132cabd7..345ac8bfc60 100644
--- a/src/mame/machine/snes.c
+++ b/src/mame/machine/snes.c
@@ -1990,23 +1990,22 @@ MACHINE_RESET( snes )
/* for mame we use an init, maybe we will need more for the different games */
-DRIVER_INIT( snes )
-{
- snes_state *state = machine.driver_data<snes_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+DRIVER_INIT_MEMBER(snes_state,snes)
+{
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
UINT16 total_blocks, read_blocks;
UINT8 *rom;
- rom = state->memregion("user3")->base();
- snes_ram = auto_alloc_array_clear(machine, UINT8, 0x1400000);
+ rom = memregion("user3")->base();
+ snes_ram = auto_alloc_array_clear(machine(), UINT8, 0x1400000);
/* all NSS games seem to use MODE 20 */
- state->m_cart[0].mode = SNES_MODE_20;
- state->m_cart[0].sram_max = 0x40000;
- state->m_has_addon_chip = HAS_NONE;
+ m_cart[0].mode = SNES_MODE_20;
+ m_cart[0].sram_max = 0x40000;
+ m_has_addon_chip = HAS_NONE;
/* Find the number of blocks in this ROM */
- total_blocks = (state->memregion("user3")->bytes() / 0x8000);
+ total_blocks = (memregion("user3")->bytes() / 0x8000);
read_blocks = 0;
/* Loading all the data blocks from cart, we only partially cover banks 0x00 to 0x7f. Therefore, we
@@ -2047,32 +2046,31 @@ DRIVER_INIT( snes )
}
/* Find the amount of sram */
- state->m_cart[0].sram = snes_r_bank1(space, 0x00ffd8);
- if (state->m_cart[0].sram > 0)
+ m_cart[0].sram = snes_r_bank1(space, 0x00ffd8);
+ if (m_cart[0].sram > 0)
{
- state->m_cart[0].sram = (1024 << state->m_cart[0].sram);
- if (state->m_cart[0].sram > state->m_cart[0].sram_max)
- state->m_cart[0].sram = state->m_cart[0].sram_max;
+ m_cart[0].sram = (1024 << m_cart[0].sram);
+ if (m_cart[0].sram > m_cart[0].sram_max)
+ m_cart[0].sram = m_cart[0].sram_max;
}
}
-DRIVER_INIT( snes_hirom )
+DRIVER_INIT_MEMBER(snes_state,snes_hirom)
{
- snes_state *state = machine.driver_data<snes_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
UINT16 total_blocks, read_blocks;
UINT8 *rom;
- rom = state->memregion("user3")->base();
- snes_ram = auto_alloc_array(machine, UINT8, 0x1400000);
+ rom = memregion("user3")->base();
+ snes_ram = auto_alloc_array(machine(), UINT8, 0x1400000);
memset(snes_ram, 0, 0x1400000);
- state->m_cart[0].mode = SNES_MODE_21;
- state->m_cart[0].sram_max = 0x40000;
- state->m_has_addon_chip = HAS_NONE;
+ m_cart[0].mode = SNES_MODE_21;
+ m_cart[0].sram_max = 0x40000;
+ m_has_addon_chip = HAS_NONE;
/* Find the number of blocks in this ROM */
- total_blocks = (state->memregion("user3")->bytes() / 0x10000);
+ total_blocks = (memregion("user3")->bytes() / 0x10000);
read_blocks = 0;
/* See above for details about the way we fill banks 0x00 to 0x7f */
@@ -2107,12 +2105,12 @@ DRIVER_INIT( snes_hirom )
}
/* Find the amount of sram */
- state->m_cart[0].sram = snes_r_bank1(space, 0x00ffd8);
- if (state->m_cart[0].sram > 0)
+ m_cart[0].sram = snes_r_bank1(space, 0x00ffd8);
+ if (m_cart[0].sram > 0)
{
- state->m_cart[0].sram = (1024 << state->m_cart[0].sram);
- if (state->m_cart[0].sram > state->m_cart[0].sram_max)
- state->m_cart[0].sram = state->m_cart[0].sram_max;
+ m_cart[0].sram = (1024 << m_cart[0].sram);
+ if (m_cart[0].sram > m_cart[0].sram_max)
+ m_cart[0].sram = m_cart[0].sram_max;
}
}
diff --git a/src/mame/machine/stfight.c b/src/mame/machine/stfight.c
index 607dd9d4d66..689696e1a50 100644
--- a/src/mame/machine/stfight.c
+++ b/src/mame/machine/stfight.c
@@ -36,22 +36,21 @@ Encryption PAL 16R4 on CPU board
*/
-DRIVER_INIT( empcity )
+DRIVER_INIT_MEMBER(stfight_state,empcity)
{
- stfight_state *state = machine.driver_data<stfight_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = state->memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = memregion("maincpu")->base();
int A;
- state->m_decrypt = auto_alloc_array(machine, UINT8, 0x8000);
- space->set_decrypted_region(0x0000, 0x7fff, state->m_decrypt);
+ m_decrypt = auto_alloc_array(machine(), UINT8, 0x8000);
+ space->set_decrypted_region(0x0000, 0x7fff, m_decrypt);
for (A = 0;A < 0x8000;A++)
{
UINT8 src = rom[A];
// decode opcode
- state->m_decrypt[A] =
+ m_decrypt[A] =
( src & 0xA6 ) |
( ( ( ( src << 2 ) ^ src ) << 3 ) & 0x40 ) |
( ~( ( src ^ ( A >> 1 ) ) >> 2 ) & 0x10 ) |
@@ -68,18 +67,17 @@ DRIVER_INIT( empcity )
}
}
-DRIVER_INIT( stfight )
+DRIVER_INIT_MEMBER(stfight_state,stfight)
{
- stfight_state *state = machine.driver_data<stfight_state>();
DRIVER_INIT_CALL(empcity);
/* patch out a tight loop during startup - is the code waiting */
/* for NMI to wake it up? */
- state->m_decrypt[0xb1] = 0x00;
- state->m_decrypt[0xb2] = 0x00;
- state->m_decrypt[0xb3] = 0x00;
- state->m_decrypt[0xb4] = 0x00;
- state->m_decrypt[0xb5] = 0x00;
+ m_decrypt[0xb1] = 0x00;
+ m_decrypt[0xb2] = 0x00;
+ m_decrypt[0xb3] = 0x00;
+ m_decrypt[0xb4] = 0x00;
+ m_decrypt[0xb5] = 0x00;
}
MACHINE_RESET( stfight )
diff --git a/src/mame/machine/tnzs.c b/src/mame/machine/tnzs.c
index 638fd721eca..74c2bdf98af 100644
--- a/src/mame/machine/tnzs.c
+++ b/src/mame/machine/tnzs.c
@@ -508,80 +508,70 @@ WRITE8_MEMBER(tnzs_state::tnzs_sync_kludge_w)
-DRIVER_INIT( plumpop )
+DRIVER_INIT_MEMBER(tnzs_state,plumpop)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- state->m_mcu_type = MCU_PLUMPOP;
+ m_mcu_type = MCU_PLUMPOP;
}
-DRIVER_INIT( extrmatn )
+DRIVER_INIT_MEMBER(tnzs_state,extrmatn)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- state->m_mcu_type = MCU_EXTRMATN;
+ m_mcu_type = MCU_EXTRMATN;
}
-DRIVER_INIT( arknoid2 )
+DRIVER_INIT_MEMBER(tnzs_state,arknoid2)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- state->m_mcu_type = MCU_ARKANOID;
+ m_mcu_type = MCU_ARKANOID;
}
-DRIVER_INIT( drtoppel )
+DRIVER_INIT_MEMBER(tnzs_state,drtoppel)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- state->m_mcu_type = MCU_DRTOPPEL;
+ m_mcu_type = MCU_DRTOPPEL;
/* drtoppel writes to the palette RAM area even if it has PROMs! We have to patch it out. */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xf800, 0xfbff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xf800, 0xfbff);
}
-DRIVER_INIT( chukatai )
+DRIVER_INIT_MEMBER(tnzs_state,chukatai)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- state->m_mcu_type = MCU_CHUKATAI;
+ m_mcu_type = MCU_CHUKATAI;
}
-DRIVER_INIT( tnzs )
+DRIVER_INIT_MEMBER(tnzs_state,tnzs)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- state->m_mcu_type = MCU_TNZS;
+ m_mcu_type = MCU_TNZS;
/* we need to install a kludge to avoid problems with a bug in the original code */
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xef10, 0xef10, FUNC(tnzs_sync_kludge_w));
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xef10, 0xef10, FUNC(tnzs_sync_kludge_w));
}
-DRIVER_INIT( tnzsb )
+DRIVER_INIT_MEMBER(tnzs_state,tnzsb)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- state->m_mcu_type = MCU_NONE_TNZSB;
+ m_mcu_type = MCU_NONE_TNZSB;
/* we need to install a kludge to avoid problems with a bug in the original code */
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xef10, 0xef10, FUNC(tnzs_sync_kludge_w));
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xef10, 0xef10, FUNC(tnzs_sync_kludge_w));
}
-DRIVER_INIT( kabukiz )
+DRIVER_INIT_MEMBER(tnzs_state,kabukiz)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- UINT8 *SOUND = state->memregion("audiocpu")->base();
- state->m_mcu_type = MCU_NONE_KABUKIZ;
+ UINT8 *SOUND = memregion("audiocpu")->base();
+ m_mcu_type = MCU_NONE_KABUKIZ;
- state->membank("audiobank")->configure_entries(0, 8, &SOUND[0x00000], 0x4000);
+ membank("audiobank")->configure_entries(0, 8, &SOUND[0x00000], 0x4000);
}
-DRIVER_INIT( insectx )
+DRIVER_INIT_MEMBER(tnzs_state,insectx)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- state->m_mcu_type = MCU_NONE_INSECTX;
+ m_mcu_type = MCU_NONE_INSECTX;
/* this game has no mcu, replace the handler with plain input port handlers */
- machine.device("sub")->memory().space(AS_PROGRAM)->install_read_port(0xc000, 0xc000, "IN0" );
- machine.device("sub")->memory().space(AS_PROGRAM)->install_read_port(0xc001, 0xc001, "IN1" );
- machine.device("sub")->memory().space(AS_PROGRAM)->install_read_port(0xc002, 0xc002, "IN2" );
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_read_port(0xc000, 0xc000, "IN0" );
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_read_port(0xc001, 0xc001, "IN1" );
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_read_port(0xc002, 0xc002, "IN2" );
}
-DRIVER_INIT( kageki )
+DRIVER_INIT_MEMBER(tnzs_state,kageki)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- state->m_mcu_type = MCU_NONE_KAGEKI;
+ m_mcu_type = MCU_NONE_KAGEKI;
}
diff --git a/src/mame/machine/vectrex.c b/src/mame/machine/vectrex.c
index 32135330090..7a1bf56cd3b 100644
--- a/src/mame/machine/vectrex.c
+++ b/src/mame/machine/vectrex.c
@@ -356,16 +356,15 @@ WRITE8_MEMBER(vectrex_state::vectrex_psg_port_w)
}
}
-DRIVER_INIT(vectrex)
+DRIVER_INIT_MEMBER(vectrex_state,vectrex)
{
- vectrex_state *state = machine.driver_data<vectrex_state>();
int i;
- state->m_64k_cart = 0;
- state->m_imager_angles = unknown_game_angles;
- state->m_beam_color = RGB_WHITE;
- for (i=0; i<ARRAY_LENGTH(state->m_imager_colors); i++)
- state->m_imager_colors[i] = RGB_WHITE;
+ m_64k_cart = 0;
+ m_imager_angles = unknown_game_angles;
+ m_beam_color = RGB_WHITE;
+ for (i=0; i<ARRAY_LENGTH(m_imager_colors); i++)
+ m_imager_colors[i] = RGB_WHITE;
/*
* Minestorm's PRNG doesn't work with a 0 seed (mines in the first
@@ -373,6 +372,6 @@ DRIVER_INIT(vectrex)
* location since initializing all RAM randomly causes problems
* with Berzerk.
*/
- state->m_gce_vectorram[0x7e] = machine.rand() | 1;
- state->m_gce_vectorram[0x7f] = machine.rand() | 1;
+ m_gce_vectorram[0x7e] = machine().rand() | 1;
+ m_gce_vectorram[0x7f] = machine().rand() | 1;
}
diff --git a/src/mame/machine/vsnes.c b/src/mame/machine/vsnes.c
index 1d003a68411..6baa2369bcd 100644
--- a/src/mame/machine/vsnes.c
+++ b/src/mame/machine/vsnes.c
@@ -340,11 +340,10 @@ WRITE8_MEMBER(vsnes_state::vsnormal_vrom_banking)
vsnes_in0_w(space, offset, data);
}
-DRIVER_INIT( vsnormal )
+DRIVER_INIT_MEMBER(vsnes_state,vsnormal)
{
/* vrom switching is enabled with bit 2 of $4016 */
- vsnes_state *state = machine.driver_data<vsnes_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4016, 0x4016, write8_delegate(FUNC(vsnes_state::vsnormal_vrom_banking),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4016, 0x4016, write8_delegate(FUNC(vsnes_state::vsnormal_vrom_banking),this));
}
/**********************************************************************************/
@@ -397,12 +396,11 @@ WRITE8_MEMBER(vsnes_state::gun_in0_w)
m_zapstore = data;
}
-DRIVER_INIT( vsgun )
+DRIVER_INIT_MEMBER(vsnes_state,vsgun)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
/* VROM switching is enabled with bit 2 of $4016 */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x4016, 0x4016, read8_delegate(FUNC(vsnes_state::gun_in0_r),state), write8_delegate(FUNC(vsnes_state::gun_in0_w),state));
- state->m_do_vrom_bank = 1;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x4016, 0x4016, read8_delegate(FUNC(vsnes_state::gun_in0_r),this), write8_delegate(FUNC(vsnes_state::gun_in0_w),this));
+ m_do_vrom_bank = 1;
}
/**********************************************************************************/
@@ -434,16 +432,15 @@ WRITE8_MEMBER(vsnes_state::vskonami_rom_banking)
}
}
-DRIVER_INIT( vskonami )
+DRIVER_INIT_MEMBER(vsnes_state,vskonami)
{
/* We do manual banking, in case the code falls through */
/* Copy the initial banks */
- UINT8 *prg = machine.root_device().memregion("maincpu")->base();
+ UINT8 *prg = machine().root_device().memregion("maincpu")->base();
memcpy(&prg[0x08000], &prg[0x18000], 0x8000);
/* banking is done with writes to the $8000-$ffff area */
- vsnes_state *state = machine.driver_data<vsnes_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(vsnes_state::vskonami_rom_banking),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(vsnes_state::vskonami_rom_banking),this));
}
/***********************************************************************/
@@ -463,17 +460,16 @@ WRITE8_MEMBER(vsnes_state::vsgshoe_gun_in0_w)
gun_in0_w(space, offset, data);
}
-DRIVER_INIT( vsgshoe )
+DRIVER_INIT_MEMBER(vsnes_state,vsgshoe)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
/* set up the default bank */
- UINT8 *prg = state->memregion("maincpu")->base();
+ UINT8 *prg = memregion("maincpu")->base();
memcpy (&prg[0x08000], &prg[0x12000], 0x2000);
/* vrom switching is enabled with bit 2 of $4016 */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x4016, 0x4016, read8_delegate(FUNC(vsnes_state::gun_in0_r),state), write8_delegate(FUNC(vsnes_state::vsgshoe_gun_in0_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x4016, 0x4016, read8_delegate(FUNC(vsnes_state::gun_in0_r),this), write8_delegate(FUNC(vsnes_state::vsgshoe_gun_in0_w),this));
- state->m_do_vrom_bank = 1;
+ m_do_vrom_bank = 1;
}
/**********************************************************************************/
@@ -591,20 +587,19 @@ WRITE8_MEMBER(vsnes_state::drmario_rom_banking)
}
}
-DRIVER_INIT( drmario )
+DRIVER_INIT_MEMBER(vsnes_state,drmario)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
/* We do manual banking, in case the code falls through */
/* Copy the initial banks */
- UINT8 *prg = state->memregion("maincpu")->base();
+ UINT8 *prg = memregion("maincpu")->base();
memcpy(&prg[0x08000], &prg[0x10000], 0x4000);
memcpy(&prg[0x0c000], &prg[0x1c000], 0x4000);
/* MMC1 mapper at writes to $8000-$ffff */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(vsnes_state::drmario_rom_banking),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(vsnes_state::drmario_rom_banking),this));
- state->m_drmario_shiftreg = 0;
- state->m_drmario_shiftcount = 0;
+ m_drmario_shiftreg = 0;
+ m_drmario_shiftcount = 0;
}
/**********************************************************************************/
@@ -618,18 +613,17 @@ WRITE8_MEMBER(vsnes_state::vsvram_rom_banking)
memcpy(&prg[0x08000], &prg[rombank], 0x4000);
}
-DRIVER_INIT( vsvram )
+DRIVER_INIT_MEMBER(vsnes_state,vsvram)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
/* when starting the game, the 1st 16k and the last 16k are loaded into the 2 banks */
- UINT8 *prg = state->memregion("maincpu")->base();
+ UINT8 *prg = memregion("maincpu")->base();
memcpy(&prg[0x08000], &prg[0x28000], 0x8000);
/* banking is done with writes to the $8000-$ffff area */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(vsnes_state::vsvram_rom_banking),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(vsnes_state::vsvram_rom_banking),this));
- /* allocate state->m_vram */
- state->m_vram = auto_alloc_array(machine, UINT8, 0x2000);
+ /* allocate m_vram */
+ m_vram = auto_alloc_array(machine(), UINT8, 0x2000);
}
/**********************************************************************************/
@@ -770,18 +764,17 @@ WRITE8_MEMBER(vsnes_state::mapper4_w)
/* Common init for MMC3 games */
-DRIVER_INIT( MMC3 )
+DRIVER_INIT_MEMBER(vsnes_state,MMC3)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
- UINT8 *prg = state->memregion("maincpu")->base();
- state->m_IRQ_enable = state->m_IRQ_count = state->m_IRQ_count_latch = 0;
- int MMC3_prg_chunks = (state->memregion("maincpu")->bytes() - 0x10000) / 0x4000;
+ UINT8 *prg = memregion("maincpu")->base();
+ m_IRQ_enable = m_IRQ_count = m_IRQ_count_latch = 0;
+ int MMC3_prg_chunks = (memregion("maincpu")->bytes() - 0x10000) / 0x4000;
- state->m_MMC3_prg_bank[0] = state->m_MMC3_prg_bank[2] = 0xfe;
- state->m_MMC3_prg_bank[1] = state->m_MMC3_prg_bank[3] = 0xff;
- state->m_MMC3_cmd = 0;
+ m_MMC3_prg_bank[0] = m_MMC3_prg_bank[2] = 0xfe;
+ m_MMC3_prg_bank[1] = m_MMC3_prg_bank[3] = 0xff;
+ m_MMC3_cmd = 0;
- state->m_MMC3_prg_mask = ((MMC3_prg_chunks << 1) - 1);
+ m_MMC3_prg_mask = ((MMC3_prg_chunks << 1) - 1);
memcpy(&prg[0x8000], &prg[(MMC3_prg_chunks - 1) * 0x4000 + 0x10000], 0x2000);
memcpy(&prg[0xa000], &prg[(MMC3_prg_chunks - 1) * 0x4000 + 0x12000], 0x2000);
@@ -789,10 +782,10 @@ DRIVER_INIT( MMC3 )
memcpy(&prg[0xe000], &prg[(MMC3_prg_chunks - 1) * 0x4000 + 0x12000], 0x2000);
/* MMC3 mapper at writes to $8000-$ffff */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(vsnes_state::mapper4_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(vsnes_state::mapper4_w),this));
/* extra ram at $6000-$7fff */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
}
/* Vs. RBI Baseball */
@@ -824,13 +817,12 @@ READ8_MEMBER(vsnes_state::rbi_hack_r)
}
}
-DRIVER_INIT( rbibb )
+DRIVER_INIT_MEMBER(vsnes_state,rbibb)
{
DRIVER_INIT_CALL(MMC3);
/* RBI Base ball hack */
- vsnes_state *state = machine.driver_data<vsnes_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x5e00, 0x5e01, read8_delegate(FUNC(vsnes_state::rbi_hack_r),state)) ;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x5e00, 0x5e01, read8_delegate(FUNC(vsnes_state::rbi_hack_r),this)) ;
}
/* Vs. Super Xevious */
@@ -872,16 +864,15 @@ READ8_MEMBER(vsnes_state::supxevs_read_prot_4_r)
}
-DRIVER_INIT( supxevs )
+DRIVER_INIT_MEMBER(vsnes_state,supxevs)
{
DRIVER_INIT_CALL(MMC3);
/* Vs. Super Xevious Protection */
- vsnes_state *state = machine.driver_data<vsnes_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x54ff, 0x54ff, read8_delegate(FUNC(vsnes_state::supxevs_read_prot_1_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x5678, 0x5678, read8_delegate(FUNC(vsnes_state::supxevs_read_prot_2_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x578f, 0x578f, read8_delegate(FUNC(vsnes_state::supxevs_read_prot_3_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x5567, 0x5567, read8_delegate(FUNC(vsnes_state::supxevs_read_prot_4_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x54ff, 0x54ff, read8_delegate(FUNC(vsnes_state::supxevs_read_prot_1_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x5678, 0x5678, read8_delegate(FUNC(vsnes_state::supxevs_read_prot_2_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x578f, 0x578f, read8_delegate(FUNC(vsnes_state::supxevs_read_prot_3_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x5567, 0x5567, read8_delegate(FUNC(vsnes_state::supxevs_read_prot_4_r),this));
}
/* Vs. TKO Boxing */
@@ -905,25 +896,23 @@ READ8_MEMBER(vsnes_state::tko_security_r)
}
-DRIVER_INIT( tkoboxng )
+DRIVER_INIT_MEMBER(vsnes_state,tkoboxng)
{
DRIVER_INIT_CALL(MMC3);
/* security device at $5e00-$5e01 */
- vsnes_state *state = machine.driver_data<vsnes_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x5e00, 0x5e01, read8_delegate(FUNC(vsnes_state::tko_security_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x5e00, 0x5e01, read8_delegate(FUNC(vsnes_state::tko_security_r),this));
}
/* Vs. Freedom Force */
-DRIVER_INIT( vsfdf )
+DRIVER_INIT_MEMBER(vsnes_state,vsfdf)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
DRIVER_INIT_CALL(MMC3);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x4016, 0x4016, read8_delegate(FUNC(vsnes_state::gun_in0_r),state), write8_delegate(FUNC(vsnes_state::gun_in0_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x4016, 0x4016, read8_delegate(FUNC(vsnes_state::gun_in0_r),this), write8_delegate(FUNC(vsnes_state::gun_in0_w),this));
- state->m_do_vrom_bank = 0;
+ m_do_vrom_bank = 0;
}
/**********************************************************************************/
@@ -961,18 +950,17 @@ WRITE8_MEMBER(vsnes_state::mapper68_rom_banking)
}
-DRIVER_INIT( platoon )
+DRIVER_INIT_MEMBER(vsnes_state,platoon)
{
/* when starting a mapper 68 game the first 16K ROM bank in the cart is loaded into $8000
the LAST 16K ROM bank is loaded into $C000. The last 16K of ROM cannot be swapped. */
- UINT8 *prg = machine.root_device().memregion("maincpu")->base();
+ UINT8 *prg = machine().root_device().memregion("maincpu")->base();
memcpy(&prg[0x08000], &prg[0x10000], 0x4000);
memcpy(&prg[0x0c000], &prg[0x2c000], 0x4000);
- vsnes_state *state = machine.driver_data<vsnes_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(vsnes_state::mapper68_rom_banking),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(vsnes_state::mapper68_rom_banking),this));
}
/**********************************************************************************/
@@ -991,15 +979,14 @@ READ8_MEMBER(vsnes_state::set_bnglngby_irq_r)
return m_ret;
}
-DRIVER_INIT( bnglngby )
+DRIVER_INIT_MEMBER(vsnes_state,bnglngby)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x0231, 0x0231, read8_delegate(FUNC(vsnes_state::set_bnglngby_irq_r),state), write8_delegate(FUNC(vsnes_state::set_bnglngby_irq_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x0231, 0x0231, read8_delegate(FUNC(vsnes_state::set_bnglngby_irq_r),this), write8_delegate(FUNC(vsnes_state::set_bnglngby_irq_w),this));
/* extra ram */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff);
- state->m_ret = 0;
+ m_ret = 0;
/* normal banking */
DRIVER_INIT_CALL(vsnormal);
@@ -1024,17 +1011,16 @@ WRITE8_MEMBER(vsnes_state::vsdual_vrom_banking)
vsnes_in0_1_w(space, offset, data);
}
-DRIVER_INIT( vsdual )
+DRIVER_INIT_MEMBER(vsnes_state,vsdual)
{
- UINT8 *prg = machine.root_device().memregion("maincpu")->base();
+ UINT8 *prg = machine().root_device().memregion("maincpu")->base();
- vsnes_state *state = machine.driver_data<vsnes_state>();
/* vrom switching is enabled with bit 2 of $4016 */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4016, 0x4016, write8_delegate(FUNC(vsnes_state::vsdual_vrom_banking),state));
- machine.device("sub")->memory().space(AS_PROGRAM)->install_write_handler(0x4016, 0x4016, write8_delegate(FUNC(vsnes_state::vsdual_vrom_banking),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x4016, 0x4016, write8_delegate(FUNC(vsnes_state::vsdual_vrom_banking),this));
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_write_handler(0x4016, 0x4016, write8_delegate(FUNC(vsnes_state::vsdual_vrom_banking),this));
/* shared ram at $6000 */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff, &prg[0x6000]);
- machine.device("sub")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff, &prg[0x6000]);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff, &prg[0x6000]);
+ machine().device("sub")->memory().space(AS_PROGRAM)->install_ram(0x6000, 0x7fff, &prg[0x6000]);
}
diff --git a/src/mame/video/cps1.c b/src/mame/video/cps1.c
index 29d46845ec7..27033ce7bf3 100644
--- a/src/mame/video/cps1.c
+++ b/src/mame/video/cps1.c
@@ -1782,35 +1782,33 @@ static void cps2_gfx_decode( running_machine &machine )
}
-DRIVER_INIT( cps1 )
+DRIVER_INIT_MEMBER(cps_state,cps1)
{
- cps_state *state = machine.driver_data<cps_state>();
- cps1_gfx_decode(machine);
+ cps1_gfx_decode(machine());
- state->m_scanline1 = 0;
- state->m_scanline2 = 0;
- state->m_scancalls = 0;
- state->m_last_sprite_offset = 0;
- state->m_pri_ctrl = 0;
- state->m_objram_bank = 0;
+ m_scanline1 = 0;
+ m_scanline2 = 0;
+ m_scancalls = 0;
+ m_last_sprite_offset = 0;
+ m_pri_ctrl = 0;
+ m_objram_bank = 0;
}
-DRIVER_INIT( cps2_video )
+DRIVER_INIT_MEMBER(cps_state,cps2_video)
{
- cps_state *state = machine.driver_data<cps_state>();
- cps2_gfx_decode(machine);
+ cps2_gfx_decode(machine());
- state->m_scanline1 = 262;
- state->m_scanline2 = 262;
- state->m_scancalls = 0;
- state->m_last_sprite_offset = 0;
- state->m_cps2_last_sprite_offset = 0;
- state->m_pri_ctrl = 0;
- state->m_objram_bank = 0;
+ m_scanline1 = 262;
+ m_scanline2 = 262;
+ m_scancalls = 0;
+ m_last_sprite_offset = 0;
+ m_cps2_last_sprite_offset = 0;
+ m_pri_ctrl = 0;
+ m_objram_bank = 0;
}
diff --git a/src/mame/video/deniam.c b/src/mame/video/deniam.c
index 5d461668ec8..37d82155e23 100644
--- a/src/mame/video/deniam.c
+++ b/src/mame/video/deniam.c
@@ -24,28 +24,26 @@ static void deniam_common_init( running_machine &machine )
}
}
-DRIVER_INIT( logicpro )
+DRIVER_INIT_MEMBER(deniam_state,logicpro)
{
- deniam_state *state = machine.driver_data<deniam_state>();
- deniam_common_init(machine);
+ deniam_common_init(machine());
- state->m_bg_scrollx_offs = 0x00d;
- state->m_bg_scrolly_offs = 0x000;
- state->m_fg_scrollx_offs = 0x009;
- state->m_fg_scrolly_offs = 0x000;
+ m_bg_scrollx_offs = 0x00d;
+ m_bg_scrolly_offs = 0x000;
+ m_fg_scrollx_offs = 0x009;
+ m_fg_scrolly_offs = 0x000;
}
-DRIVER_INIT( karianx )
+DRIVER_INIT_MEMBER(deniam_state,karianx)
{
- deniam_state *state = machine.driver_data<deniam_state>();
- deniam_common_init(machine);
+ deniam_common_init(machine());
- state->m_bg_scrollx_offs = 0x10d;
- state->m_bg_scrolly_offs = 0x080;
- state->m_fg_scrollx_offs = 0x109;
- state->m_fg_scrolly_offs = 0x080;
+ m_bg_scrollx_offs = 0x10d;
+ m_bg_scrolly_offs = 0x080;
+ m_fg_scrollx_offs = 0x109;
+ m_fg_scrolly_offs = 0x080;
}
diff --git a/src/mame/video/punchout.c b/src/mame/video/punchout.c
index 4b982ff7d43..32b8d4007d1 100644
--- a/src/mame/video/punchout.c
+++ b/src/mame/video/punchout.c
@@ -10,32 +10,28 @@
#include "includes/punchout.h"
-DRIVER_INIT( punchout )
+DRIVER_INIT_MEMBER(punchout_state,punchout)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- state->m_palette_reverse_top = 0x00;
- state->m_palette_reverse_bot = 0xff;
+ m_palette_reverse_top = 0x00;
+ m_palette_reverse_bot = 0xff;
}
-DRIVER_INIT( spnchout )
+DRIVER_INIT_MEMBER(punchout_state,spnchout)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- state->m_palette_reverse_top = 0x00;
- state->m_palette_reverse_bot = 0xff;
+ m_palette_reverse_top = 0x00;
+ m_palette_reverse_bot = 0xff;
}
-DRIVER_INIT( spnchotj )
+DRIVER_INIT_MEMBER(punchout_state,spnchotj)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- state->m_palette_reverse_top = 0xff;
- state->m_palette_reverse_bot = 0xff;
+ m_palette_reverse_top = 0xff;
+ m_palette_reverse_bot = 0xff;
}
-DRIVER_INIT( armwrest )
+DRIVER_INIT_MEMBER(punchout_state,armwrest)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- state->m_palette_reverse_top = 0x00;
- state->m_palette_reverse_bot = 0x00;
+ m_palette_reverse_top = 0x00;
+ m_palette_reverse_bot = 0x00;
}